在使用Selenium进行模拟爬虫的时候,很多时候网站都会有一定的检测机制,能够检测出你这个是Selenium程序,比如淘宝网。
如何知道当前是否被检测,我们可以通过以下代码来进行检验:
window.navigator.webdriver
我们打开开发者工具: F12
当我们复制上面代码的时候,会出现这个问题:

这个时候,我们输入:
允许粘贴
如果是英文提示,就输入:
allow pasting

我们发现这里是false,说明没被检测
这时,我们用seleniunm启动试一下:

我们采用一段js注入代码就行了:
- from selenium.webdriver import ActionChains
- from selenium.webdriver import Chrome
- from selenium.webdriver.chrome.options import Options
-
- option = 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代码的地址: