38、Selenium 之订制启动Chrome的选项(Options)

作者新建了QQ群:460430320,供大家交流测试心得(培训机构勿进)。另外,还会不定期上传测试资料,也欢迎您共享测试资料。

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


1、什么是 chromeoptions
chromeoptions 是一个方便控制 chrome 启动时属性的类。通过 selenium 的源码,可以看到,chromeoptions 主要提供如下的功能:
(1)设置 chrome 二进制文件位置 (binary_location)
(2)添加启动参数 (add_argument)
(3)添加扩展应用 (add_extension, add_encoded_extension)
(4)添加实验性质的设置参数 (add_experimental_option)
(5)设置调试器地址 (debugger_address)
 

2、定制启动选项
我们最常用的是三个功能
(1)添加chrome启动参数

下面以python为例一一说明,其他语言可以参考 selenium 源码简单记录几个常用的添加浏览器启动设置

 

# 启动时设置默认语言为中文 UTF-8
from 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"')

 

 

 

(2)修改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)
driver.get("http://www.baidu.com/")


(3)添加扩展应用

 

 

 

 

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

 

 

 

(4)附赠添加代理方法

 

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)

 

 

 

5、启动浏览器,最大化

 

from selenium import webdriver

options = webdriver.ChromeOptions()
options.add_argument("--start-maximized")
driver = webdriver.Chrome(chrome_options=options)

 

 

6、指定driver地址

 

from selenium import webdriver

driver = webdriver.Chrome(executable_path='..drivers\chromedriver.exe')

这个地方的executable_path,可以是一个相对路径或一个绝对路径

 

  • 5
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值