from selenium import webdriver
import time
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
def getWeb(url):
'''配置web浏览器'''
options = webdriver.ChromeOptions()
mobile_emulation = {"deviceName": "Galaxy S5"}
capabilities = DesiredCapabilities.CHROME
capabilities['loggingPrefs'] = {'browser': 'ALL'}
# options = webdriver.ChromeOptions()
options.add_experimental_option("mobileEmulation", mobile_emulation)
# 修改windows.navigator.webdriver,防机器人识别机制,selenium自动登陆判别机制desired_capabilities=capabilities,
options.add_experimental_option('excludeSwitches', ['enable-automation'])
# 更换头部
options.add_argument(
'user-agent=mozilla/5.0 (iphone; cpu iphone os 5_1_1 like mac os x) applewebkit/534.46 (khtml, like gecko) mobile/9b206 micromessenger/5.0')
# 禁用图片
# 禁止图片和css加载
# "profile.managed_default_content_settings.images": 2,
prefs = {'permissions.default.stylesheet': 2}
options.add_experimental_option("prefs", prefs)
# #添加代理
# ip,port = '127.0.0.1','8080'
# options.add_argument(('--proxy-server=http://{}:{}'.format(ip,port)))#有的博客写的是'--proxy-server=http://',就目前我的电脑来看的话需要把http://去掉就可以用,他会自己加的
# options.add_argument('-headless') # 无头参数
options.headless = True
web = webdriver.Chrome(options=options)
url = "https://work.zcst.edu.cn/default/work/jlzh/jkxxtb/jkxxcj.jsp"
web.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {
"source": """
Object.defineProperty(navigator, 'webdriver', {
get: () => undefined
})
"""
})
web.set_page_load_timeout(30)
web.set_script_timeout(30) # 这两种设置都进行才有效
web.get(url)
return web
Selenium基本配置
最新推荐文章于 2025-05-18 10:28:03 发布