Selenium 选项 chrome_options

当前环境:

Windows 10 + Python 3.7 + selenium  3.141.0 + urllib3 1.26.2 + Google Chrome 115.0.5790.110 (64 位)

如果是urllib3 版本过高会出现:ValueError: Timeout value connect was <...>, but it must be an int, float or None.

一种方法:

from selenium import webdriver


if __name__ == '__main__':
    import os
    os.system('chcp 65001')
    os.system('taskkill /F /IM chromedriver.exe')

    # Chrome 路径
    CHROME_PATH = r'C:\Program Files (x86)\65.0.3312.0\chrome-win32\chrome.exe'
    # ChromeDriver 路径
    CHROMEDRIVER_PATH = r'C:\Program Files (x86)\65.0.3312.0\chromedriver_win32\chromedriver.exe'

    options = webdriver.ChromeOptions()

    # 保持浏览器的打开状态 
    options.add_experimental_option("detach", True)

    # 用户数据目录 --user-data-dir
    # options.add_argument('--user-data-dir=C:\\Program Files (x86)\\65.0.3312.0\\chrome-win32\\User Data')
    user_data_dir = r'C:\\Program Files (x86)\\65.0.3312.0\\chrome-win32\\User Data'
    options.add_argument('--user-data-dir=' + user_data_dir)

    # UA --user-agent
    options.add_argument('--user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, '
                         'like Gecko) Chrome/114.0.0.0 Safari/537.36')
    # 无头模式 --headless
    # options.add_argument('--headless')
    # 无痕模式 --incognito
    # options.add_argument('--incognito')
    # 忽略证书错误 --ignore-certificate-errors
    options.add_argument('--ignore-certificate-errors')

    # 取消 Chrome 正受到自动测试软件的控制
    options.add_experimental_option("excludeSwitches", ["enable-automation"])
    # 取消 请停用以开发者模式运行的扩展程序
    options.add_experimental_option("useAutomationExtension", False)

    # 关掉密码弹窗
    prefs = {"": "", "credentials_enable_service": False, "profile.password_manager_enabled": False}
    options.add_experimental_option("prefs", prefs)

    # 自定义下载路径 绝对路径
    down_load_path = r'C:\DataDownload'
    prefs = {'profile.default_content_settings.popups': 0,  # 防止保存弹窗
             'download.default_directory': down_load_path,  # 设置默认下载路径
             "profile.default_content_setting_values.automatic_downloads": 1  # 允许多文件下载
             }
    options.add_experimental_option('prefs', prefs)

    # 手动指定使用的浏览器位置
    options.binary_location = CHROME_PATH
    driver = webdriver.Chrome(executable_path=CHROMEDRIVER_PATH, options=options)

    url = 'https://www.vcg.com/creative-image/feizhuliu/'
    driver.get(url)
    print(driver.title)

说明:

当使用 xp

49.0.2623.112 (正式版本) (32 位)

无法自定义 chrome 路径,会报 selenium.common.exceptions.WebDriverException: Message: unknown error: cannot find Chrome binary 这个错误,必须放在默认安装路径,不知道为何。

参考:

List of Chromium Command Line Switches « Peter Beverloo

selenium关闭左上方Chrome 正受到自动测试软件的控制的提示 - 简书

https://www.cnblogs.com/yangjintao/p/10599868.html

selenium基础使用-2之chrome_options - 简书

selenium启动Chrome配置参数问题 - 知乎

Selenium修改默认下载文件路径_selenium设置下载地址_小小狒狒君的博客-CSDN博客

python selenium报错ValueError: Timeout value connect was <...>, but it must be an int, float or None._流势的博客-CSDN博客

Selenium UI自动化测试中元素定位不到的原因和解决方法汇总_selenium 获取不到元素有哪些可能-CSDN博客

通过selenium完成上传和下载操作

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值