当前位置: 首页 > news >正文

Selenium Webdriver options的实用参数设置

1、关闭Chrome浏览器受自动控制的提示

options.add_experimental_option('useAutomationExtension', False)
options.add_experimental_option('excludeSwitches', ['enable-automation'])

 

2、关闭是否保存密码的弹窗

options.add_experimental_option("prefs", 
{  "credentials_enable_service": False,"profile.password_manager_enabled":False,
})

 

3、下载文件时自动下载到指定的目录,不要弹出保存文件对话框

options.add_experimental_option("prefs", 
{  "download.default_directory": r'd:\temp', # 设置默认保存文件路径"download.prompt_for_download": False,    # 设置保存文件之前是否弹出保存对话框"download.directory_upgrade": True,  
})

 

4、下载文件完成后不要扫描文件,减少等待的时间

options.add_argument('--safebrowsing-disable-download-protection')
options.add_experimental_option("prefs", 
{  "safebrowsing.enabled": False, "download.directory_upgrade": True,  
})

 

5、关闭是否允许同时下载多个文件的提示

options.add_experimental_option("prefs", 
{  "profile.default_content_settings.popups": 0,"profile.default_content_setting_values.automatic_downloads": 1
})

 

6、跳过网站检测爬虫

driver.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {"source": "Object.defineProperty(navigator, 'webdriver', {get: () => False}) "})

注意:这一语句是在options.add_argument()语句以及driver = webdriver.Chrome(options=options)后面的。可以有效解决webdriver打开某些网站呈空白页面的问题。

 

7、强行显示英文版网站

可解决浏览器打开某些国外网站时会自作主张切换到中文版网站的问题(如:某英社交网站)

options.add_experimental_option('prefs', {'intl.accept_languages': 'en,en_US'})

 

8、设置代理

options.add_argument('--proxy-server=127.0.0.1:8080')

 

9、手动添加user-agent

可以有效解决无头模式(headless)访问网站的异常情况,可参考我另一篇博文:https://blog.csdn.net/Scott0902/article/details/129384085

user_agent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36'
options.add_argument(f'user-agent={user_agent}')

 

http://www.lryc.cn/news/34077.html

相关文章:

  • 代码随想录算法训练营第七天|454.四数相加II 、 383. 赎金信 、 15. 三数之和 、18. 四数之和
  • 详解抓包原理以及抓包工具whistle的用法
  • 【C++】反向迭代器
  • (蓝桥真题)扫描游戏(计算几何+线段树二分)
  • 面试官:什么是双亲委派模型?如何打破它?
  • 自建服务器系列- DDNS配置
  • vue中使用axios简单封装用法,axios报错the request was rejected because no multipart boundar
  • Leetcode.1220 统计元音字母序列的数目
  • 深入元空间
  • 前端技术和框架
  • 02从零开始学Java之Java到底是个啥?
  • KEIL5中头文件路劲包含问题
  • 机智云目前我用过最便捷的物联网快速开发方案
  • MySQL基础篇1
  • AQS 源码解读
  • 使用 DataLoader 加载数据报错‘expected sequence of length 4 at dim 1 (got 0)’
  • 第十四届蓝桥杯第三期模拟赛B组C/C++原题与详解
  • 致敬三八女神节,致敬IT女生
  • 【Go语言学习笔记】数据
  • puzzle(0919)六宫数局
  • 脑机接口科普0016——独立BCI与非独立BCI
  • 女神节告白代码
  • 【数据结构】单链表:头部操作我很行,插入也不用增容!!!
  • SpringBoot——使用WebSocket功能
  • 博弈论小课堂:非零和博弈(实现双赢)【纳什均衡点】
  • 数组中的逆序对
  • C++基础了解-01-基础语法
  • phpmyadmin 文件包含(CVE-2014-8959)
  • SpringBoot集成MyBatis
  • MySQL-索引