当前位置: 首页 > article >正文

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 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


http://www.kler.cn/news/313764.html

相关文章:

  • 数字IC设计\FPGA 职位经典笔试面试整理--基础篇1
  • C++之深拷贝和浅拷贝*
  • Linux —— 多线程
  • 三分钟 ChatGPT 接入钉钉机器人
  • 云服务器和物理服务器的区别在哪
  • 第一次安装Pytorch
  • python爬虫初体验(二)
  • Android横竖屏 mdpi hdpi xhdpi xxhdpi xxxhdpi
  • .ideavimrc在idea打不开
  • 基于NLP的对话系统开发:从零构建智能客服机器人
  • Android 如何使用jdk命令给应用/APK重新签名。
  • 云栖大会Day1:云应用开发平台 CAP 来了
  • pythonnet python图像 C# .NET图像 互转
  • FLUX.1+ComfyUI部署与使用:图像合成技术的新高度
  • 【JAVA开源】基于Vue和SpringBoot的在线文档管理系统
  • oracle dblink的使用并举例
  • Spring AOP的应用
  • 【计算机网络 - 基础问题】每日 3 题(十三)
  • 面试八股--stram 中map和flatmap的区别
  • 关于 NLP 深度学习的核心流程
  • 虚拟现实与PD协议快充
  • thinkphp 做分布式服务+读写分离+分库分表(分区)(后续接着写)
  • 【网络安全的神秘世界】攻防环境搭建及漏洞原理学习
  • LeetCode 459.重复的子字符串
  • 计算机网络分类
  • Ubuntu 22.04 源码下载、编译
  • 经典sql题(二)求连续登录最多天数用户
  • 将编程融入日常生活:编程游戏化学习
  • 内网穿透软件有哪些?
  • 搜维尔科技:工程师已经解决OptiTrack捕捉过程中肘部不自然的弯曲