首页 python正文

pyppeteer去除Chrome正受到自动测试软件的控制的两种方法

启明SEO python 2023-03-23 16:15:53 1603 0 pyppeteer

我们再使用pyppeteer启动浏览器的时候,如果没有添加一些操作,浏览器就会显示Chrome正受到自动测试软件,如以下代码:

import asyncio
from pyppeteer import launch

class baidu_Click():
    def __init__(self):
        super(baidu_Click, self).__init__()
    async def set_browser(self):
        self.browser=await launch(headless=False)

        pages=await self.browser.pages()
        self.page=pages[0]
        await self.page.goto('https://www.baidu.com')

        await asyncio.sleep(10)
        await self.browser.close()

    def qidong(self):
        asyncio.get_event_loop().run_until_complete(self.set_browser())

if __name__ == '__main__':
    baidu=baidu_Click()
    baidu.qidong()

运行效果如下

QQ截图20230323161852.jpg

这样会被反爬虫机制检测到,所以我们要去除,方法有两种,具体如下:

import asyncio
from pyppeteer import launch,launcher
class baidu_Click():
    def __init__(self):
        super(baidu_Click, self).__init__()
    async def set_browser(self):
        self.browser=await launch(headless=False,ignoreDefaultArgs=['--enable-automation'])

        pages=await self.browser.pages()
        self.page=pages[0]
        await self.page.goto('https://www.baidu.com')

        await asyncio.sleep(10)
        await self.browser.close()

    def qidong(self):
        asyncio.get_event_loop().run_until_complete(self.set_browser())

if __name__ == '__main__':
    baidu=baidu_Click()
    baidu.qidong()

或者:

import asyncio
from pyppeteer import launch,launcher
launcher.DEFAULT_ARGS.remove("--enable-automation")

class baidu_Click():
    def __init__(self):
        super(baidu_Click, self).__init__()
    async def set_browser(self):
        self.browser=await launch(headless=False)

        pages=await self.browser.pages()
        self.page=pages[0]
        await self.page.goto('https://www.baidu.com')

        await asyncio.sleep(10)
        await self.browser.close()

    def qidong(self):
        asyncio.get_event_loop().run_until_complete(self.set_browser())

if __name__ == '__main__':
    baidu=baidu_Click()
    baidu.qidong()

最后运行结果都不会再显示Chrome正受到自动测试软件的控制

评论

Python好学公众号

好文推荐

实时访客入口页面出现bd_vid=标识是什么原因

实时访客入口页面出现bd_vid=标识是什么原因

最近查看百度实时访客,总是会看到入口页面会多......

有了微信视频号,但是没有发布权限,怎么开通

有了微信视频号,但是没有发布权限,怎么开通

视频号是微信在2020年1月19号开始内测的......

如何用python抓取爱企查企业信息

如何用python抓取爱企查企业信息

前段时间,经理让我去找一些企业的信息,我平常......

服务器配置低,宝塔面板安装IIS总是安装不上怎么办

服务器配置低,宝塔面板安装IIS总是安装不上怎么办

对于一般企业网站或者博客来说,对服务器的配置......

网站始终只收录一个首页,为什么

网站始终只收录一个首页,为什么

新做了两个网站,但是一直只是收录一个首页,快......

如何修改浏览器指纹,Canvas指纹、Webgl指纹、Audio指纹修改方法?

如何修改浏览器指纹,Canvas指纹、Webgl指纹、Audio指纹修改方法?

修改浏览指纹的方法其实也是很简单,主要使用到......