selenium之options配置
浏览器配置options
selenium4.0
页面加载策略page_load_strategy
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
options = Options()
options.page_load_strategy = 'normal'
driver = webdriver.Chrome(options=options)
page_load_strategy
参数 | 描述 |
---|---|
normal | 默认值,将阻塞至页面完全加载之后,包括css,js,图片等所有资源 |
eager | 阻塞至DOMContentLoaded事件触发返回, 不在等待资源样式 |
none | 阻塞至初始页面被下载时返回, 此时可以通过轮询的方式去获取元素,更高效 |
browser_version指定浏览器版本
此功能是可选的, 用于在远程端设置可用的浏览器版本. 例如, 如果在仅安装80版本的系统上询问75版本的Chrome, 则会话创建将失败
options.browser_version = "80"
platform_name 标识当前环境系统
options.platform_name = "Linux"
timeouts
每个会话超时都配置有不同 timeouts 的组合, 如下所述:
字段 | 描述 |
---|---|
Script Timeout | 指定在当前浏览上下文中, 中断正在执行脚本的时机. WebDriver创建新会话时, 将设置默认的超时时间为 30,000毫秒 |
Page Load Timeout | 指定在当前浏览上下文中, 加载网页的时间间隔. WebDriver创建新会话时, 默认设置超时时间为 300,000毫秒 . 如果页面加载限制了给定 (或默认) 的时间范围, 则该脚本将被 TimeoutException 停止 |
Implicit Wait Timeout | 指定在定位元素时, 等待隐式元素定位策略的时间. WebDriver创建新会话时, 将设置默认超时时间为 0毫秒 |
options.timeouts = {"implicit": 2000, "pageLoad": 2000, "script": 2000}
#或者, 这将覆盖之前的配置,单位秒
driver.timeouts = Timeouts(10, 10, 10)
options.add_argument 添加浏览器启动参数
options.add_argument('--headless') #浏览器无界面运行
options.add_experimental_option 添加浏览器启动时内置的设置
//设置chrome下载路径
prefs = {\'profile.default_content_settings.popups\': 0, \'download.default_directory\': r\'d:\\'}
options.add_experimental_option(\'prefs\', prefs)
driver = webdriver.Chrome(chrome_options=options)