谷歌浏览器
一、chromeOptions相关配置
chromeOptions 是一个配置 chrome 启动是属性的类。通过这个类,我们可以为chrome配置如下参数(这个部分可以通过selenium源码看到):
1.设置 chrome 二进制文件位置 (binary_location)
2.添加启动参数 (add_argument)
3.添加扩展应用 (add_extension, add_encoded_extension)
4.添加实验性质的设置参数 (add_experimental_option)
5.设置调试器地址 (debugger_address)
源码剖析:
class Options(object):
def __init__(self):
self._binary_location = '' # 设置 chrome 二进制文件位置
self._arguments = [] # 添加启动参数
self._extension_files = [] # 添加扩展应用
self._extensions = []
self._experimental_options = {} # 添加实验性质的设置参数
self._debugger_address = None # 设置调试器地址
1.模拟移动设备
# 通过设置user-agent,用来模拟移动设备
user_ag='MQQBrowser/26 Mozilla/5.0 (Linux; U; Android 2.3.7; zh-cn; MB200 Build/GRJ22;'+
'CyanogenMod-7) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1'
options.add_argument('user-agent=%s'%user_ag)
#option.add_argument('--user-agent=iphone')
2.禁止图片加载
from selenium import webdriver
options = webdriver.ChromeOptions()
prefs = {"profile.managed_default_content_settings.images": 2}
options.add_experimental_option("prefs", prefs)
driver = webdriver.Chrome(chrome_options=chrome_options)
#或者 使用下面的设置, 提升速度
options.add_argument('blink-settings=imagesEnabled=false')
3.添加代理
from selenium import webdriver
# 静态IP:102.23.1.105:2005
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)
4.浏览器启动时安装crx扩展
# -*- coding=utf-8 -*-
from selenium import webdriver
option = webdriver.ChromeOptions()
option.add_extension(