`
m635674608
  • 浏览: 5003687 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

selenium 定制启动 chrome 的选项

 
阅读更多

使用 selenium 时,我们可能需要对 chrome 做一些特殊的设置,以完成我们期望的浏览器行为,比如阻止图片加载阻止JavaScript执行 等动作。这些需要 seleniumChromeOptions 来帮助我们完成

什么是 chromeoptions

chromeoptions 是一个方便控制 chrome 启动时属性的类。通过 selenium 的源码,可以看到,chromeoptions 主要提供如下的功能:

  • 设置 chrome 二进制文件位置 (binary_location)
  • 添加启动参数 (add_argument)
  • 添加扩展应用 (add_extension, add_encoded_extension)
  • 添加实验性质的设置参数 (add_experimental_option)
  • 设置调试器地址 (debugger_address)

定制启动选项

我们最常用的是三个功能

  • 添加chrome启动参数
  • 修改chrome设置
  • 添加扩展应用

下面以python为例一一说明,其他语言可以参考 selenium 源码

添加 chrome 启动参数

# 启动时设置默认语言为中文 UTF-8
from selenium import webdriver
options = webdriver.ChromeOptions()
options.add_argument('lang=zh_CN.UTF-8')
driver = webdriver.Chrome(chrome_options = options)
  • 1
  • 2
  • 3
  • 4
  • 5

最常用的应用场景是设置user-agent以用来模拟移动设备,比如模拟 iphone6

options.add_argument('user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1"')
  • 1

修改chrome设置

# 禁止图片加载
from selenium import webdriver
options = webdriver.ChromeOptions()
prefs = {
    'profile.default_content_setting_values' : {
        'images' : 2
    }
}
options.add_experimental_option('prefs',prefs)
driver = webdriver.Chrome(chrome_options = options)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

更多实验参数请参考chromedriver 官网

添加扩展

from selenium import webdriver
options = webdriver.ChromeOptions()
extension_path = '/extension/path'
options.add_extension(extension_path)
driver = webdriver.Chrome(chrome_options = options)
  • 1
  • 2
  • 3
  • 4
  • 5

附赠添加代理方法

from selenium import webdriver
PROXY = "proxy_host:proxy:port"
options = webdriver.ChromeOptions()
desired_capabilities = options.to_capabilities()
desired_capabilities['proxy'] = {
    "httpProxy":PROXY,
    "ftpProxy":PROXY,
    "sslProxy":PROXY,
    "noProxy":None,
    "proxyType":"MANUAL",
    "class":"org.openqa.selenium.Proxy",
    "autodetect":False
}
driver = webdriver.Chrome(desired_capabilities = desired_capabilities)


http://blog.csdn.net/vinson0526/article/details/51850929
分享到:
评论

相关推荐

    Selenium文档 v1.0(英文)

    - **服务器选项**:解释了启动Selenium RC服务器时可用的各种配置选项。 - **指定浏览器路径**:允许用户指定特定版本的浏览器路径,以便进行精确的测试。 - **架构介绍**:详细描述了Selenium RC的整体架构,包括各...

    chrome浏览器及对应的driver

    8. **隐私模式**:如果需要在隐身模式下运行测试,可以在启动Chrome时添加相应的选项。 总之,Chrome浏览器和ChromeDriver结合Selenium为Web自动化测试提供了强大而灵活的工具。正确配置和使用它们,能有效提高测试...

    chromedriver-win64_121.0.6129.0.zip

    例如,用Python编写测试脚本时,需要导入`selenium`库,然后实例化一个`webdriver.Chrome()`对象,指定ChromeDriver的路径,即可启动浏览器并进行自动化操作。 3. **ChromeOptions**:在启动ChromeDriver时,我们...

    谷歌游览器驱动

    接下来,你可以编写Python代码来启动Chrome浏览器并进行自动化操作。以下是一个简单的示例: ```python from selenium import webdriver # 指定ChromeDriver的路径 chrome_driver_path = "path/to/chromedriver....

    92.0.4515.159谷歌浏览器.zip

    10. **快速启动与加载**:Chrome的启动速度快,页面加载效率高,这得益于其优化的内存管理和快速的页面渲染。 "92.0.4515.159_chrome_installer.exe"文件是用于安装这个特定版本的谷歌浏览器的程序,用户只需运行这...

    chromedriver-win64_120.0.6071.0.zip

    ChromeDriver 特别是为 Chrome 浏览器定制的,确保与 Chrome 的无缝集成。 "chromedriver-win64_120.0.6071.0.zip" 这个文件是一个针对 Windows 64 位操作系统的 ChromeDriver 版本,具体版本号为 120.0.6071.0。这...

    chromedriver-win64_126.0.6456.0.zip

    Selenium WebDriver是一种API,允许通过编程方式控制多种浏览器的行为,而Chromedriver则是专为Chrome浏览器定制的实现。这个特定的版本(126.0.6456.0)可能与某个特定的Chrome浏览器版本相匹配,以确保最佳的兼容...

    chromedriver-win64_117.0.5892.0.zip

    这样,当你启动Selenium WebDriver并指定浏览器类型为Chrome时,系统就能够找到并使用这个驱动来控制Chrome浏览器。 以下是一些使用Chromedriver进行自动化测试的基本步骤: 1. **安装和配置**:下载对应版本的...

    chromedriver_mac64.zip

    # 设置浏览器选项,如无头模式或启动参数 options = webdriver.ChromeOptions() options.add_argument('--headless') # 运行在无头模式 options.add_argument('--disable-gpu') # 避免某些GPU相关的错误 # 使用这些...

    chromedriver-win64_117.0.5902.2.zip

    ChromeDriver是这个框架的一部分,专为Chrome浏览器定制。 ChromeDriver 的工作原理是作为中间件,接收来自WebDriver的命令并将其转化为浏览器可以理解的指令。反过来,它也处理浏览器的响应并将结果返回给...

    chromedriver_mac64_91.0.4472.101.zip

    8. **Chrome浏览器选项**:了解如何通过ChromeOptions类来配置浏览器的特定行为,如禁用JavaScript、开启开发者模式等。 9. **远程WebDriver**:如果需要在多台机器上运行测试,了解如何设置和使用远程WebDriver...

    Python无头爬虫下载文件的实现

    配置Chrome启动选项 为了更好地模拟浏览器环境并避免被网站检测为自动化脚本,我们需要对Chrome进行一些定制化的设置: ```python chrome_options = Options() chrome_options.add_argument('--no-sandbox') # 解决...

    electron中文文档

    - **菜单栏定制**:根据应用需求定制菜单项和快捷键。 **在线/离线事件探测** - **检测网络状态**:利用 Electron 提供的 API 来监听网络变化事件。 **API 文档** - **进程对象**:包括主进程(main process)和...

    WebDriverIO_HR

    4. **wdio.conf.js**: WebDriverIO的配置文件,定义了测试的运行方式,包括浏览器启动选项、测试前后的钩子函数、报告器设置、服务(如Selenium服务器、BrowserStack等)的配置。 5. **端到端测试(E2E)**: ...

Global site tag (gtag.js) - Google Analytics