欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 高考 > Selenium如何通过js注入避免被检测

Selenium如何通过js注入避免被检测

2024/10/25 14:23:44 来源:https://blog.csdn.net/xiao_a_lian/article/details/142255505  浏览:    关键词:Selenium如何通过js注入避免被检测

1. 前言

在使用Selenium进行模拟爬虫的时候,很多时候网站都会有一定的检测机制,能够检测出你这个是Selenium程序,比如淘宝网。

如何知道当前是否被检测,我们可以通过以下代码来进行检验:

window.navigator.webdriver

2. 检测当前是否被发现

我们打开开发者工具: F12

当我们复制上面代码的时候,会出现这个问题:

这个时候,我们输入:

允许粘贴

如果是英文提示,就输入:

allow pasting

我们发现这里是false,说明没被检测

这时,我们用seleniunm启动试一下:

3. 解决方案

我们采用一段js注入代码就行了:

from selenium.webdriver import ActionChains
from selenium.webdriver import Chrome
from selenium.webdriver.chrome.options import Optionsoption = Options()
option.add_experimental_option("detach", True)
driver = Chrome(options=option)# Selenium在打开任何页面之前,先运行这个Js文件。with open('./1.js') as f:js = f.read()# 进行js注入,绕过检测driver.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {"source": js
})driver.get('https://www.taobao.com')

附上js代码的地址:

https://download.csdn.net/download/xiao_a_lian/89752217

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com