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

相关推荐
han_hanker2 分钟前
js 加减乘除精度问题2
开发语言·javascript·ecmascript
ldybk15 分钟前
教学vue
前端·javascript·vue.js
卷卷说风控21 分钟前
工作流的 Skill 怎么写?
java·javascript·人工智能·chrome·安全
还是大剑师兰特21 分钟前
Pinia介绍及Vue3配置示例
前端·javascript·vue.js
还是大剑师兰特33 分钟前
Vue3 Mixin 与 Vue2 Mixin 核心区别
前端·javascript·vue.js
188号安全攻城狮35 分钟前
【前端基础知识】JavaScript 数组方法总结:从表格速查到分类详解
开发语言·前端·javascript·网络安全
英俊潇洒美少年40 分钟前
迷你 React 调度器(带优先级+时间切片)手写实现
前端·javascript·react.js
小白学大数据1 小时前
告别复杂 XPath:DeepSeek+Python 爬虫快速实践
开发语言·爬虫·python·selenium
freeWayWalker1 小时前
Vue通用缩放容器
前端·javascript·vue.js
汽车仪器仪表相关领域1 小时前
NHXJ-02汽车悬架检验台 实操型实战手册
人工智能·功能测试·测试工具·算法·安全·单元测试·可用性测试