IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> Google无头浏览器+规避检测selenium同时使用(新老方法) -> 正文阅读

[开发测试]Google无头浏览器+规避检测selenium同时使用(新老方法)

#本代码注释内容均为有效内容,但不同方法之间不能共存,使用其中一种需要将其他内容注释掉
from selenium import webdriver
from time import sleep
#无可视化界面
from selenium.webdriver.chrome.options import Options
#规避检测selenium(老方法)
# from selenium.webdriver import ChromeOptions
#规避检测selenium(新方法)
# from selenium.webdriver import Chrome

#google不显示执行操作过程
# chrome_Options = Options()
# chrome_Options.add_argument('--headless')
# chrome_Options.add_argument('--disable-gpu')

#规避检测(老方法)
# Options = ChromeOptions()
# Options.add_experimental_option('excludeSwitches',['enable-automation'])


#规避检测(新方法)
# options = webdriver.ChromeOptions()
# options.add_experimental_option("excludeSwitches", ["enable-automation"])
# options.add_experimental_option('useAutomationExtension', False)
# # pro = Chrome(options=chrome_Options)
# pro = webdriver.Chrome(executable_path='./chromedriver.exe',options=options)#实例化一个浏览器对象,打开浏览器
# pro.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {
#   "source": """
#     Object.defineProperty(navigator, 'webdriver', {
#       get: () => undefined
#     })
#   """
# })

#chorme_options属性过失不能用,老方法同时使用无头浏览器和检测规避需改成如下形式
#同时进行无头浏览器和检测规避
from selenium.webdriver import ChromeOptions
option = ChromeOptions()
option.add_experimental_option('excludeSwitches', ['enable-automation'])
option.add_argument('--headless')
option.add_argument('--disable-gpu')
pro = webdriver.Chrome(executable_path='./chromedriver.exe',options=option)#实例化一个浏览器对象,打开浏览器

#以下代码不要注释,测试用
#打开浏览器
url = 'https://blog.csdn.net/jdsydwr/article/details/120388347'
pro.get(url)
print(pro.page_source)
sleep(2)
pro.quit()

注意老方法应该可以应用于老版本的chrome中,最新的chorme中老方法虽然不提示但仍然是被检测的,所以在新版本的chrome中要使用新方法。

如果问题解决,希望可以点个赞👍,谢谢

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2021-09-23 11:45:14  更:2021-09-23 11:46:30 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/18 0:40:58-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码