博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
selenium 定制启动 chrome 的选项
阅读量:6938 次
发布时间:2019-06-27

本文共 1864 字,大约阅读时间需要 6 分钟。

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

什么是 chromeoptions

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

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

定制启动选项

我们最常用的是三个功能

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

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

添加 chrome 启动参数

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

最常用的应用场景是设置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"‘)

修改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)

 

更多实验参数请参考

添加扩展

from selenium import webdriver options = webdriver.ChromeOptions() extension_path = ‘/extension/path‘ options.add_extension(extension_path) driver = webdriver.Chrome(chrome_options = options)

附赠添加代理方法

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

你可能感兴趣的文章
DevExpress.XtraCharts.chartControl
查看>>
java POI Excel 单元格样式
查看>>
【原】iOS学习之UITabBar的隐藏
查看>>
【译】.NET Core 是 .NET 的未来
查看>>
关于输入流与输出流
查看>>
MVC分页控件
查看>>
虚拟机Ping不通主机解决
查看>>
Asp.Net 上传大文件
查看>>
HttpClient使用详解
查看>>
Wijmo 更优美的jQuery UI部件集:发现 Wijmo
查看>>
你敢不敢打破“无形门”
查看>>
美国政府提出下一步网络空间安全建设的三项重点工作
查看>>
我的VMware认证设计专家(VCDX)之路
查看>>
cocos2d-x中Node中重要的属性
查看>>
IDC:中国安全市场发展潜力巨大
查看>>
浅谈下一代Windows Server的RDS
查看>>
MySQL日志审计 帮你揪出内个干坏事儿的小子
查看>>
PureFTPD配置指南
查看>>
存储虚拟化技术之解读
查看>>
VMware View 5.0从菜鸟到高手系列 10 –远程图形工作站配置篇
查看>>