selenium怎么执行js并绕过webdriver监测
发表于:2025-01-18 作者:千家信息网编辑
千家信息网最后更新 2025年01月18日,这篇文章主要介绍了selenium怎么执行js并绕过webdriver监测的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇selenium怎么执行js并绕过webdrive
千家信息网最后更新 2025年01月18日selenium怎么执行js并绕过webdriver监测
这篇文章主要介绍了selenium怎么执行js并绕过webdriver监测的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇selenium怎么执行js并绕过webdriver监测文章都会有所收获,下面我们一起来看看吧。
selenium执行js
优点:直接调用浏览器的环境障碍:绕过selenium监测原理:# 执行js代码bro.execute_script('js代码')
常见的selenium监测手段
正常登录 window.navigator.webdriver == undefined自动化的 window.navigator.webdriver == true除此之外,还有一些其它的标志性字符串(不同的浏览器可能会有所不同),常见的特征串如下所示:webdriver __driver_evaluate __webdriver_evaluate __selenium_evaluate __fxdriver_evaluate __driver_unwrapped __webdriver_unwrapped __selenium_unwrapped __fxdriver_unwrapped _Selenium_IDE_Recorder _selenium calledSelenium _WEBDRIVER_ELEM_CACHE ChromeDriverw driver-evaluate webdriver-evaluate selenium-evaluate webdriverCommand webdriver-evaluate-response __webdriverFunc __webdriver_script_fn __$webdriverAsyncExecutor __lastWatirAlert __lastWatirConfirm __lastWatirPrompt $chrome_asyncScriptInfo $cdc_asdjflasutopfhvcZLmcfl_ 了解了这个特点之后,就可以在浏览器客户端JS中通过检测这些特征串来判断当前是否使用了selenium,并将检测结果附加到后续请求之中,这样服务端就能识别并拦截后续的请求。
常用绕过selenium监测1
正常登录 window.navigator.webdriver == undefined自动化的 window.navigator.webdriver == truefrom selenium import webdriveroptions = webdriver.ChromeOptions()# 此步骤很重要,设置为开发者模式,防止被各大网站识别出来使用了Seleniumoptions.add_experimental_option('excludeSwitches', ['enable-automation'])#停止加载图片options.add_experimental_option("prefs", {"profile.managed_default_content_settings.images": 2})browser = webdriver.Chrome(options=options)browser.get('https://www.taobao.com/')
常用绕过selenium监测2
from selenium import webdriverchrome_options = webdriver.ChromeOptions()chrome_options.add_experimental_option('debuggerAddress','127.0.0.1:9222')browser=webdriver.Chrome(executable_path=r'C:\Users\TR\AppData\Local\Google\Chrome\Application\chromedriver.exe',chrome_options=chrome_options)browser.get('http://www.zhihu.com')终端输入如下指令:chrome.exe --remote-debugging-port=9222 --user-data-dir="D:\cdsf"(需要谷歌驱动在系统环境变量下,然后再运行程序)remote-debugging-port是你代码中指定的端口debuggerAddress;executable_path是你谷歌驱动位置;user-data-dir随便指定一个目录就行
常用绕过selenium监测3
1.使用chrome的远程调试模式结合selenium来遥控chrome进行抓取,这样不会携带指纹信息步骤:- 使用调试模式手工启动chrome,进入chrome的安装路径,例如chrome装在 C:\program\google\chrome.exe下- 进入chrome安装路径- 执行命令:#注意端口不要被占用,防火墙要关闭,user-data-dir用来指明配置文件的路径 chrome.exe --remote-debugging-port=9222 --user-data-dir="指向任意空文件夹"2.启动完·之后新建python文件运行代码:import requestsfrom selenium import webdriverchrome_options = "C:\Users\Administrator\AppData\Local\Google\Chrome\Application\chrome.exe"chrome_options = webdriver.ChromeOptions()chrome_options.add_experimental_option('debuggerAddress','10.8.13.95:9222')browser = webdriver.Chrome(chrome_options=chrome_options)browser.get("https://www.zhihu.com/signup?next=%2F")# chrome.exe --remote-debugging-port=9222 --user-data-dir="D:\moni"这样监测的就不是selenium模拟了
常用绕过selenium监测4
def selenium(js): option = webdriver.ChromeOptions() # option.add_argument('--headless') option.add_experimental_option('useAutomationExtension', False) option.add_experimental_option('excludeSwitches', ['enable-automation']) bro = webdriver.Chrome(executable_path='./chromedriver', options=option) # 弹出浏览器,要给浏览器驱动的地址 # 打开页面优先执行的js,execute_cdp_cmd bro.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", { "source": """ Object.defineProperty(navigator, 'webdriver', { get: () => undefined }) """ }) bro.implicitly_wait(10) bro.get('https://www.toutiao.com/') time.sleep(5) print(bro.page_source) # 获取页面返回的html代码 bro.execute_script(js) input()
关于"selenium怎么执行js并绕过webdriver监测"这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对"selenium怎么执行js并绕过webdriver监测"知识都有一定的了解,大家如果还想学习更多知识,欢迎关注行业资讯频道。
监测
代码
浏览器
浏览
常用
文件
模式
知识
路径
驱动
不同
内容
常见
步骤
特征
环境
端口
篇文章
页面
检测
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
jpush服务器端php
smt编程给数据库
网易为什么会叫土豆服务器
网络安全教育班会总结
面向对象数据库技术难易度
银行软件开发社会招聘信息
制定网络安全策略的原则
网站数据库录入什么
浪潮agx-5gpu服务器
智能家居网络安全分析与设计
excel表格分析数据库
服务器关机清除虚拟文件
阿里云服务器安全白名单
数据库实验总结建议
坪山区品牌网络技术优化
长沙网络安全运营
用户画像数据库设计
轻量应用服务器能不能挂机
数据库中子窗体能不能存储数据
app聊天软件开发
京东数科软件开发待遇
服务器ip地址怎么访问
中国网官方数据库
服务器运维应急预案
管理软件开发工程师是干什么的
中国网络安全标志
期货程序化交易软件开发
荷兰服务器诈骗能追讨
宜昌乐维网络技术有限公司
数据库技术西安交通大学出版社