Window.navigator已正确隐藏在Pyppeteer中

电脑杂谈  发布时间:2020-06-27 21:13:43  来源:网络整理

uc浏览起器下载最新版_本帖隐藏的内容需要回复才可以浏览_selenium 隐藏浏览器

由于Selenium启动了Chrome,因此可以识别许,因此它在爬行动物世界中并不像以前那么流行. 模仿浏览器的新秀Puppeteer突然出现,并逐渐引起了爬行动物世界的注意. Puppeteer需要使用JavaScript进行控制,如果您使用的是Python,则需要使用Pyppeteer.

如果使用模拟浏览器来爬淘宝,您会发现,无论如何修改参数,都可以立即识别硒. 但是,如果您使用本文的方法,使用Pyppeteer来抢淘宝,则会发现另一个广阔的世界.

今天,让我们讨论一下如何在Pyppeteer中隐藏window.navigator.webdriver

首先,我们使用以下代码通过Pyppeteer打开浏览器窗口:

uc浏览起器下载最新版_selenium 隐藏浏览器_本帖隐藏的内容需要回复才可以浏览

import asyncio
from pyppeteer import launch
async def main():
    browser = await launch(executablePath='/Applications/Google Chrome.app/Contents/MacOS/Google Chrome',
                           headless=False)
    page = await browser.newPage()
    await page.goto('http://exercise.kingname.info')
    input('测试完成以后回到这里按下回车...')
    await browser.close()
asyncio.get_event_loop().run_until_complete(main())

代码运行后,它将打开Chrome浏览器并访问(这是我编写的爬虫练习网站. 您可以使用该网站来练习爬虫开发. 其中有几个问题^ _ ^)

在此浏览器中,我们打开开发人员工具并查询window.navigator.webdriver以查找其值为true. 如下图所示:

Snipaste_2020-02-23_15-02-44.png

本帖隐藏的内容需要回复才可以浏览_selenium 隐藏浏览器_uc浏览起器下载最新版

Internet上的代码无非就是注入JavaScript. 在加载网页随附的JavaScript之前,请先运行JavaScript的一部分,然后修改查询window.navigator.webdriver的界面.

每次打开新页面时都必须执行此方法,这既乏味又愚蠢!

那正确的方法是什么?

当我写这篇文章(2019-08-15)时,Pyppeteer的最新版本是0.0.25,如下图所示:

uc浏览起器下载最新版_selenium 隐藏浏览器_本帖隐藏的内容需要回复才可以浏览

Snipaste_2020-02-23_15-03-53.png

这时,在PyCharm中,您可以按住Command键(Windows,Linux用户按住Ctrl键),然后在frompyppeteerimportlaunch中左键单击启动selenium 隐藏浏览器,以自动跳至Pyppeteer中的launcher.py文件. 源代码.

Snipaste_2020-02-23_15-04-19.png

在第60行周围将代码向上调,找到下面的框框起来的代码:

本帖隐藏的内容需要回复才可以浏览_uc浏览起器下载最新版_selenium 隐藏浏览器

Snipaste_2020-02-23_15-04-34.png

注释掉--enable-automation行. 此时,PyCharm将提示您是否修改源代码selenium 隐藏浏览器,选择确定. 如下所示.

Snipaste_2020-02-23_15-04-59.png

修改后的代码如下:


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-260656-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...