Python3+Selenium 配置Chrome选项

您所在的位置:网站首页 MFA软件可以下载吗 Python3+Selenium 配置Chrome选项

Python3+Selenium 配置Chrome选项

2024-01-09 22:42| 来源: 网络整理| 查看: 265

环境 python:3.6.2 系统:win10 IDE:pycharm browser:chrome chromedriver:73.0.3683.68 selenium 3.141.0 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) 

 

模拟移动设备 # 通过设置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') 禁止图片加载 # 暂未测试 from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.chrome.webdriver import Options from selenium.webdriver.chrome.webdriver import WebDriver chrome_option = Options() prefs = {"profile.managed_default_content_settings.images": 2} chrome_option .add_experimental_option("prefs", prefs) driver = WebDriver(options=chrome_option) chrome_wait = WebDriverWait(driver, 10) #或者使用下面的设置, 提升速度 chrome_option .add_argument('blink-settings=imagesEnabled=false') 添加代理 # 暂未测试 from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.chrome.webdriver import Options from selenium.webdriver.chrome.webdriver import WebDriver # 静态IP:102.23.1.105:2005 PROXY = "proxy_host:proxy:port" chrome_option = Options() desired_capabilities = chrome_option.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) driver = WebDriver(options=chrome_option) chrome_wait = WebDriverWait(driver, 10) 浏览器启动时安装crx扩展 # 暂未测试from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.chrome.webdriver import Options from selenium.webdriver.chrome.webdriver import WebDriver chrome_option = Options() chrome_option .add_extension('D:\\crx\\AdBlock_v2.17.crx') # 自己下载的crx路径 driver = WebDriver(options=chrome_option) chrome_wait = WebDriverWait(driver, 10) driver.get(url) 加载所有Chrome配置

        用Chrome地址栏输入chrome://version/,查看自己的“个人资料路径”,然后在浏览器启动时,调用这个配置文件,代码如下: 

# 暂未测试 from selenium.webdriver.chrome.webdriver import Options from selenium.webdriver.chrome.webdriver import WebDriver chrome_option = Options() p=r'C:\Users\Administrator\AppData\Local\Google\Chrome\User Data' option.add_argument('--user-data-dir='+p) # 设置成用户自己的数据目录 driver = WebDriver(options=chrome_option) 携带Cookie chrome_options = Options() chrome_options.add_argument("user-data-dir=selenium") driver = webdriver.Chrome(chrome_options=chrome_options) driver.get("http://www.baidu.com")

        通过使用Chrome选项保持所有登录在会话之间持久user-data-dir

其他 from selenium.webdriver.chrome.webdriver import Options options= Options() #谷歌无头模式 options.add_argument('--headless') options.add_argument('--disable-gpu') # 谷歌文档提到需要加上这个属性来规避bug options.add_argument('disable-infobars') # 隐藏"Chrome正在受到自动软件的控制" options.add_argument('lang=zh_CN.UTF-8') # 设置中文 options.add_argument('window-size=1920x3000') # 指定浏览器分辨率 options.add_argument('--hide-scrollbars') # 隐藏滚动条, 应对一些特殊页面 options.add_argument('--remote-debugging-port=9222') options.binary_location = r'/Applications/Chrome' #手动指定使用的浏览器位置 # 更换头部 user_agent = ( "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_4) " + "AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.57 Safari/537.36" ) options.add_argument('user-agent=%s'%user_agent) #设置图片不加载 prefs = { 'profile.default_content_setting_values': { 'images': 2 } } options.add_experimental_option('prefs', prefs) #或者 使用下面的设置, 提升速度 options.add_argument('blink-settings=imagesEnabled=false') #设置代理 options.add_argument('proxy-server=' +'192.168.0.28:808') driver = webdriver.Chrome(chrome_options=options) #设置 cookie driver.delete_all_cookies()# 删除所有的cookie driver.add_cookie({'name':'ABC','value':'DEF'})# 携带cookie打开 driver.get_cookies() # 通过 js 新打开一个窗口 driver.execute_script( "window.open("https://www.baidu.com");" ) # 通过 js 移动到最下 time.sleep(3) # 等待 页面加载/Ajax数据返回 driver.execute_script( "var q=document.documentElement.scrollTop=10000" ) # 通过 js 返回所有html driver.execute_script( "return document.documentElement.outerHTML" ) chrome地址栏命令   about:version - 显示当前版本   about:memory - 显示本机浏览器内存使用状况   about:plugins - 显示已安装插件   about:histograms - 显示历史记录   about:dns - 显示DNS状态   about:cache - 显示缓存页面   about:gpu - 是否有硬件加速   about:flags - 开启一些插件 //使用后弹出这么些东西:“请小心,这些实验可能有风险”,看不懂也懒得改。 chrome://extensions/ - 查看已经安装的扩展 chrome实用参数    –user-data-dir="[PATH]" - 指定用户文件夹User Data路径,可以把书签这样的用户数据保存在系统分区以外的分区。   –disk-cache-dir="[PATH]" - 指定缓存Cache路径   –disk-cache-size= - 指定Cache大小,单位Byte   –first run - 重置到初始状态,第一次运行   –incognito - 隐身模式启动   –disable-javascript - 禁用Javascript   –omnibox-popup-count="num" - 将地址栏弹出的提示菜单数量改为num个。我都改为15个了。   –user-agent="xxxxxxx" - 修改HTTP请求头部的Agent字符串,可以通过about:version页面查看修改效果   –disable-plugins - 禁止加载所有插件,可以增加速度。可以通过about:plugins页面查看效果   –disable-javascript - 禁用JavaScript,如果觉得速度慢在加上这个   –disable-java - 禁用java   –start-maximized - 启动就最大化   –no-sandbox - 取消沙盒模式   –single-process - 单进程运行   –process-per-tab - 每个标签使用单独进程   –process-per-site - 每个站点使用单独进程   –in-process-plugins - 插件不启用单独进程   –disable-popup-blocking - 禁用弹出拦截   –disable-plugins - 禁用插件   –disable-images - 禁用图像 // 这个比较有用   –incognito - 启动进入隐身模式   –enable-udd-profiles - 启用账户切换菜单   –proxy-pac-url - 使用pac代理 [via 1/2] // 使用代理,也很有用   –lang=zh-CN - 设置语言为简体中文   –disk-cache-dir - 自定义缓存目录 // 可以结合内存盘来使用   –disk-cache-size - 自定义缓存最大值(单位byte)   –media-cache-size - 自定义多媒体缓存最大值(单位byte)   –bookmark-menu - 在工具 栏增加一个书签按钮   –enable-sync - 启用书签同步   –single-process - 单进程运行 Google Chrome

 

博客搬运地址: Selenium启动Chrome时配置选项 selenium+python配置chrome浏览器的选项 Python3+Selenium 配置Chrome选项

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3