ChromeOptions浏览器配置,selenium 动态渲染必看

浏览器在启动之初,如果需要对浏览器进行一些特定内容的定义,可以通过浏览器的options类来实现对应的配置内容。不同的浏览器有不同的options,chromes对应的就是ChromeOptions类,ChromeOptions类中options设置项有很多,不需要死记硬背。对于特殊的设置项,可以用到的时候进行查找。


 那么我们如何辨别查找到options相关的内容是有效的?

#支持python3.7以及以上的版本,源码里面是这么写的
driver = webdriver.Chrome(options=options)

 关于如何使用,有很多相关的方法:

1.创建ChromeOptions对象
options =webdriver.ChromeOptions()
2.页面加载模式
options.page_load_strategy = 'nomal'
3.窗口最大化
options.add_argument('start-maximized')
4.指定浏览器的启动坐标
options.add_argument('window-position = 2000,500')
5.指定浏览器的窗体大小
options.add_argument('window-size=1200,800')
6.去掉浏览器的自动化黄条:一般不是太有需要
options.add_experimental_option('excludeSwitches',['enable-automation'])
7.无头模式,不在桌面生成浏览器运行,浏览器作为后台程序,静默后台运行。虽然无法肉眼看到,一切照旧,该运行的自然会运行
options.add_argument('--headless')

8.去掉账号密码保存弹窗

 prefs = {
        'credentials_enable_service': False,
        'profile.password_manager_enable': False
    }
    options.add_experimental_option("prefs", prefs)

9.加载本地缓存信息:Selenium默认启动的浏览器是不会加载本地缓存的。
    
        1. 该功能可以实现验证码的绕过,但前提条件是需要提前手动登录一次(只对可以记住登录状态的网站有效)。
        2. 该功能可以起到一定程度的反爬效果,具体根据被访问系统的反爬机制而决定
        3. 该功能的使用,只能够在一个浏览器生效,如果在启动之前开启有其他的chrome浏览器,则该功能无法生效,会报错。一定要关闭所有浏览器以后再运行webdriver

options.add_argument(r"--user-data-dir=缓存路径")

10.启动隐身模式

options.add_argument('incognito')

11.去除控制台多余的信息:避免掉无用的信息内容

 options.add_experimental_option('excludeSwitches', ['enable-logging'])

12.去除控制台多余的信息手段二

options.add_argument('--log_level=3')
    options.add_argument('--disable-gpu')
    options.add_argument('--ignore-certificate-errors')

### Selenium 浏览器渲染页面不完整的解决方案 当遇到Selenium浏览器渲染页面不完整的情况时,通常是因为页面加载时间不足或未正确设置浏览器选项。以下是几种有效的解决方法: #### 1. 设置隐式等待和显式等待 为了确保页面元素已完全加载,可以使用`WebDriverWait`来设定显式等待条件。这有助于防止因网络延迟或其他因素导致的页面加载不完全。 ```python from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC # 显式等待直到某个特定元素可见 element = WebDriverWait(driver, 10).until( EC.visibility_of_element_located((By.ID, "myDynamicElement")) ) ``` 对于全局性的超时控制,则可以通过配置隐式等待实现[^2]。 #### 2. 使用最大化的窗口模式运行测试脚本 有时,默认大小的浏览器窗口可能会造成某些部分无法正常展示出来。通过调用`maximize_window()`函数可以让浏览器窗口最大化,从而避免此类问题的发生。 ```python driver.maximize_window() ``` 此操作已在提供的代码片段中体现过。 #### 3. 调整ChromeOptions参数优化性能表现 如果仍然存在渲染方面的问题,还可以尝试调整Chrome启动参数以获得更好的兼容性和稳定性。比如禁用GPU加速、忽略证书错误等措施均能有效改善体验。 ```python options = webdriver.ChromeOptions() options.add_argument('--disable-gpu') options.add_argument("--ignore-certificate-errors") driver = webdriver.Chrome(chrome_options=options) ``` 这些额外的命令行标志可以帮助绕过一些潜在障碍并提高成功率[^3]。 #### 4. 尝试无头模式(headless mode)执行自动化任务 在不影响视觉呈现的前提下,启用无头模式可以在后台静默完成所有动作而不弹出实际界面。这对于服务器端部署尤为有用,同时也减少了资源消耗。 ```python chrome_options = Options() chrome_options.set_headless(True) driver = webdriver.Chrome(options=chrome_options) ``` 需要注意的是,在切换至无头模式前应先确认目标网站支持该方式访问。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值