webdriver检测这个问题最明显的就是淘宝登录,当我们使用不加任何隐藏处理的seleniumpyppeteer模拟登陆时,淘宝登录时的人机验证将会返回一个错误信息,其实很多其他网站的反爬机制也会检测这一条。所以我们使用seleniumpyppeteer这种库时就需要做webdriver的隐藏处理。

网上大多数处理这种问题就是使用js注入,但这种处理方法明显就是掩耳盗铃,认真思考后就会知道这种方案不可行,因为这些js注入都是在打开网页后进行的,网页早已检测到你是通过webdriver进行的网页访问。所以我们隐藏webdriver的方法应该是在打开网页之前,生成浏览器对象后。之前的方案可以通过开启Chrome浏览器的实验性功能参数 excludeSwitches,但在Chrome浏览器的安全更新后,这个方法失效了,目前可行方法是调用Chrome浏览器CDP的Page.addScriptToEvaluateOnNewDocument命令,通过这个命令可以让Chrome浏览器打开页面时先执行我们所给的js脚本。具体的讲解可以查阅 这篇文章 。seleniumpyppeteer的使用代码如下:

from selenium.webdriver import Chromedriver = Chrome()
driver.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {"source": """Object.defineProperty(navigator, 'webdriver', {get: () => undefined})"""
})
driver.get('https://www.baidu.com')
from pyppeteer import launchasync def main():browser = await launch(headless=False, userDataDir='F:\\python\\userdata', args=['--disable-infobars'])page = await browser.newPage()await page.evaluateOnNewDocument('''() => {Object.defineProperty(navigator, 'webdriver', {get: () => undefined})}''')await page.goto('https://www.baidu.com')

当然也可以通过编写Chrome浏览器的插件来达到隐藏webdriver的目的,但是相对于这种方法来说略显麻烦,不过优点在于会更稳定一些,不会受到Chrome更新的影响。

隐藏webdriver相关推荐

  1. Selenium 反反爬检测方案(利用js隐藏浏览器特征)

    本文仅供学习交流使用,如侵立删!demo下载见文末 之前我们提到目前网上的反检测方法几乎都是掩耳盗铃,因为模拟浏览器有几十个特征可以被检测,仅仅隐藏 webdriver 这一个值是没有任何意义的. 解 ...

  2. python selenium 隐藏浏览器_来了!最完美方案!Selenium模拟浏览器如何正确隐藏特征...

    在前天的公众号文章<别去送死了.Selenium 与 Puppeteer 能被网站探测的几十个特征>中,我们提到目前网上的反检测方法几乎都是掩耳盗铃,因为模拟浏览器有几十个特征可以被检测, ...

  3. 可能是全网唯一一个基于windows和java的关于selenium webDriver绕过网站反爬服务的方法

    事情的起因是我需要用selenium的webDriver技术实现一些简单操作,一直用的是chrome和配套的webDriver(chrome的强大和轻量化真的是无敌的),但是突然有一天发现有些网站我用 ...

  4. 如何隐藏 Selenium 爬虫?

    点击上方蓝色小字,关注"涛哥聊Python" 重磅干货,第一时间送达 作者 | kingname 来源 | 未闻Code 在昨天的公众号文章<别去送死了,Selenium 爬 ...

  5. 第14讲:Selenium 的基本使用

    上个课时我们讲解了 Ajax 的分析方法,利用 Ajax 接口我们可以非常方便地完成数据的爬取.只要我们能找到 Ajax 接口的规律,就可以通过某些参数构造出对应的的请求,数据自然就能被轻松爬取到. ...

  6. 2022-爬虫-Selenium-百度安全验证

    新的一年刚开始,百度又有更新了.今天早上刚起床,开始了今天的学习之路.返现了一个有趣的事,和大家分享解决一下. Chrome驱动打开百度时发现需要进行安全验证.而且看到验证的方式还特别新奇,如下图需要 ...

  7. selenium登录某宝跳过反爬监测及滑块验证

    一.使用chrome浏览器,浏览器驱动与浏览器版本必须一致,浏览器驱动下载好后放在python安装目录下的scripts文件夹里 二.可以跳过滑动验证码,代码如下: from selenium.web ...

  8. python 头条 sign 参数 此篇针对实时列表 请使用73版本的谷歌浏览器

    1.首先谷歌浏览器打开今日头条F12调试找到sources,以旅游模块为例以此类推都一样,网站如https://www.toutiao.com/ch/news_travel/ 2.ctrl+shift ...

  9. 三行代码,轻松实现 Scrapy 对接新兴爬虫神器 Playwright!

    这是「进击的Coder」的第 541 篇技术分享 作者:崔庆才 来源:崔庆才丨静觅 大家好,我是崔庆才. 前段时间发布了一篇文章介绍一个新兴的类似 Selenium.Pyppeteer 的自动化爬取工 ...

最新文章

  1. SQL数据库面试题以及答案
  2. 【Python教程】常见字符串去除空格的教程
  3. 001_公司网站首页遇到的问题
  4. 基于Docker的TensorFlow机器学习框架搭建和实例源码解读
  5. mysql8.0.13 32位下载_MySQL8.0下载-MySQL数据库8.0下载 v8.0.11官方版(32位/64位)--pc6下载站...
  6. 简述oracle函数的功能,Oracle 最常用功能函数经典汇总 (zz)
  7. JavaScript-this指向问题
  8. 高数18讲_1000题错题总结_第三四讲
  9. 软件各种版本的含义!例如RC,M,GA等等
  10. 开发部程序员绩效考核办法
  11. 20210429 ---- 浅谈 视口
  12. 玩转JDBC打造数据库操作万能工具类JDBCUtil,加入了高效的数据库连接池,利用了参数绑定有效防止SQL注入
  13. Android 安卓动画 属性动画 - 旋转动画
  14. [USACO2.1] 健康的荷斯坦奶牛 Healthy Holsteins
  15. Git——版本控制为王
  16. 安兔兔跑分UX视频兼容性分值为0
  17. 2022年中国数据库排行榜年终盘点-墨天轮
  18. 如何用MathType编辑圆圈符号
  19. Carthage入门篇-安装和使用
  20. Nodejs文件操作学习

热门文章

  1. fastran实例 -- 机翼静气弹分析
  2. Magica Cloth 属性介绍
  3. 【分享】GEARS of DRAGOON 1+2【日文硬盘版】[带全CG存档amp;攻略+SSG改动+打开存档补丁]...
  4. 【Java萌新】面试常问设计模式——工厂模式
  5. 多媒体(Multimedia)
  6. 论文中的对比柱状图的绘制
  7. unity 3D 远程关机
  8. 阿里云数字化转型方案再升级,移动研发平台EMAS助力海底捞超级App“云上捞”
  9. Java EE 、Java SE API帮助文档 中文、英文 下载
  10. cad10版计算机快键在哪,AutoCAD2010快捷键有哪些?快捷键的详细介绍