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

1. 前言

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

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

复制代码
window.navigator.webdriver

2. 检测当前是否被发现

我们打开开发者工具: F12

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

这个时候,我们输入:

复制代码
允许粘贴

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

复制代码
allow pasting

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

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

3. 解决方案

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

python 复制代码
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代码的地址:

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

相关推荐
铁皮饭盒1 小时前
Next.js 风格路由内置?Bun FileSystemRouter 凭啥这么香
javascript
小林ixn2 小时前
别再背八股了!从 5 个真实场景彻底搞懂 JavaScript 的 this
javascript
东风破_2 小时前
JavaScript 面试常考的字符串算法:从反转字符串到回文判断
前端·javascript
巴勒个啦2 小时前
D3.js 入门实战:用力导向图可视化项目依赖关系
javascript
不好听6133 小时前
JavaScript 的 this 到底指向谁?
javascript·面试
触底反弹3 小时前
🔥 2026 年爆火的 Harness Engineering 到底是什么?从原理到实战一文讲透
javascript·人工智能·程序员
mONESY3 小时前
一文搞定JavaScript不同场景中 this 的指向问题
javascript
用户298698530143 小时前
在 React 中使用 JavaScript 合并 Excel 文件
前端·javascript·react.js
大流星3 小时前
LangChainJs之基础模型(一)
javascript·langchain
橘子星4 小时前
JavaScript this 指向全解实战指南
前端·javascript