首页
学习
活动
专区
圈层
工具
发布

手写 Puppeteer:远程控制 Chromium

你是否好奇过 Puppeteer 的远程控制是怎么实现的呢?...,都是通过这个实现的,Puppeteer 也同样是基于这个。...比如 Page.navigate 可以让页面导航到某个 url: Page.close 可以关闭页面 Browser.close 可以关闭浏览器 Puppeteer 就是基于这些来远程控制 Chromium...就是调试服务的启动端口,--user-data-dir 是保存用户数据的地方 用户数据是指插件、浏览记录、历史、Cookie、网站数据等所有用户使用浏览器时的数据,指定了 userDataDir,chromium...我们实现了浏览器的打开、关闭、查看版本号,页面的新建、导航、设置内容等功能。 这已经有 Puppeteer 的雏形了,下一集我们实现更多的远程控制功能。

1.8K20

Puppeteer连接已有Chrome浏览器

image.png 前言 Puppeteer是一个非常火爆的无头浏览器并在最近得到非常多的star。...主要功能是使用安装的Chromium启动一个浏览器来模拟用户操作,但是这个浏览器可以说是一次性的无法缓存信息,很多时候我们希望Puppeteer可以复用本地已启动的浏览器。...在查找多篇文章后总结出正确的使用方法: 使用 1.为了保证顺利链接我们需要设置Chrome浏览器的启动端口 右键快捷方式设置目标中的内容:在最后空格后添加 --remote-debugging-port...=9222 image.png 2.编写程序配置puppeteer配置 const axios = require('axios'); const puppeteer=require('puppeteer...await browser.disconnect() })() image.png 讲解 使用axios获取对应链接(http://localhost:9222/json/version)的通信配置传入puppeteer

7.9K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    别只用 Selenium,新神器 Pyppeteer 绕过淘宝更简单!

    注意,是叫做 Pyppeteer,不是 Puppeteer。...Puppeteer 是 Google 基于 Node.js 开发的一个工具,有了它我们可以通过 JavaScript 来控制 Chrome 浏览器的一些操作,当然也可以用作网络爬虫上,其 API 极其完善...它实际上是 Puppeteer 的 Python 版本的实现,但他不是 Google 开发的,是一位来自于日本的工程师依据 Puppeteer 的一些功能开发出来的非官方版本。...淘宝登录失败 爬虫的时候看到这界面是很让人崩溃的吧,而且这时候我们还发现了页面的 bug,整个浏览器窗口比显示的内容窗口要大,这个是某些页面会出现的情况,让人看起来很不爽。...browser = await launch(headless=False, userDataDir='.

    6.3K31

    DOMParser解析TikTok页面中的图片元素

    由于TikTok页面可能包含大量的JavaScript代码和异步加载的内容,因此可能需要使用如Puppeteer这样的无头浏览器或Selenium等自动化测试工具来获取渲染后的页面内容。...为了解决这个问题,我们可以使用--proxy-server命令行参数来启动Chrome浏览器,并通过Puppeteer连接到这个浏览器实例。2....({ // 可选:配置无头浏览器参数,如需要显示浏览器界面则设置为false headless: true, // 可选:配置浏览器用户数据目录(用于保存浏览器会话...、缓存等) // userDataDir: '/path/to/user/data' }); const page = await browser.newPage();...在解析TikTok页面中的图片元素时,DOMParser可以与Puppeteer等无头浏览器结合使用,以获取渲染后的页面内容并进行解析。

    57100

    网站性能测试利器:Puppeteer

    测试的工具有Lighthouse,WebPagetest,PageSpeed Insights,或只是浏览器中的性能面板。在这篇文章中,我会利用Puppeteer进行网站自动化测试。...puppeteer.launch()在无头模式下创建新的浏览器实例,接下来的browser.newPage()可以通过创建新的标签来识别。...经过所有的页面测试,browser.close()就能简单地关闭浏览器,它也会删除所有的cache/service workers,因为我们没有传递userDataDir参数给puppeteer.launch...window.performance.timing是由W3C维护的浏览器不可知测量标准(agnostic measure standard),所有的浏览器都应该有相同的API。...之后,当我们调用browser.close()时,所有的缓存数据和service worker都将被清除,因为我们没有在puppeteer.launch()中指定任何userDataDir。

    5.9K130

    让IE6浏览器崩溃

    这个过时的浏览器折磨着每个Web开发人员和设计者。...如果你真的讨厌Internet Explorer 6,那就把下面的代码加到你的header.php模板中,当有人试图用IE6读取你的博客时会瞬间崩溃,活该!...那就用下面这个方法: 安装插件:ServeDefault toIE6 启用插件后,会自动判断浏览者所使用的浏览器,当发现是IE6时,会自动启用默认主题,让使用IE6的家伙看不见你当前漂亮的网页,也是对他的一种惩罚吧...好了,上面所说的并不是准备真的让IE6浏览器崩溃,只是当你所使用的主题模板,可能采用了新WEB技术标准,比如:CSS3或者HTML5,在IE下根本看不见效果,还可能会影响正常浏览时,采用上述插件,可能是一个很好的折衷办法...举一反三,利用上面插件的功能,可以实现IE核心的浏览器与其它核心的浏览器显示不同主题的功能,只要将任意一款主题的目录名称改成“default”,当使用IE浏览就会显示他,而其它核心的浏览器会显示你正式启用的主题模板

    77820

    爬虫漫游指南:无头浏览器puppeteer的检测攻防

    上段说的最后一点,也就是针对无头浏览器的反爬攻防,就是本文所要讨论的内容。PhantomJS和Selenium已经日薄西山,本文只研究后来居上的Puppeteer。 2....Puppeteer中,它的值为true,而在正常浏览器中,navigator里是没有这一属性的,是undefined。...Viewport 同样是早期版本中,puppeteer打开的无头浏览器会有一个默认的窗口大小,800600。...所以在浏览器上,无论是加密、反爬,还是puppeteer检测,最重要的还是对js代码的混淆,就像著名反爬服务提供商某数做的那样,混淆到你没法读、没法调试、没法手动运行,那样才能把盾铸造的更加坚固。...更高级的检测方法 浏览器指纹 通过收集详细的参数,让你可以在后台把用户的浏览器扒个干净,非常值得探索的一个领域,接下来会找时间写篇文章专门介绍浏览器指纹。

    10.9K51

    Puppeteer自动化的性能优化与执行速度提升

    所以这篇文章,我们谈谈如何优化Puppeteer的性能优化与执行速度。...Headless Chrome ,无头模式,浏览器的无界面形态,可以在不打开浏览器的前提下,在命令行中运行测试脚本,能够完全像真实浏览器一样完成用户所有操作,不用担心运行测试脚本时浏览器受到外界的干扰,...当然是可以的,Puppeteer 提供了 puppeteer.connect() 方法,可以连接到当前打开的浏览器。...开启缓存 `--user-data-dir=${this.userDataDir}` 设置用户数据目录,用户数据目录(User Data Directory)是 Chrome / Chromium 用来存放户插件...参考文章 Puppeteer性能优化与执行速度提升 无头浏览器性能对比与Puppeteer的优化文档

    8K20

    使用 Puppeteer 实现文件下载

    恰好当时已经听过无头浏览器这个概念了,就想试试 Puppeteer 能否实现这个功能。 自己本地写了一个 Demo 去下载文件,发现实现起来很完美。 2. 什么是无头浏览器?...无头(Headless)浏览器是指没有图形界面的浏览器,可以运行在服务器,和我们常规的浏览器不一样。 无头浏览器能够模拟用户的真实操作,比如打开页面、输入账号密码、点击登录、跳转等等。...网站也无法分辨当前是真实浏览器访问还是无头浏览器访问。 目前比较火的是无头浏览器是 Google 的 Puppeteer,常用于自动化 UI 测试和截图。...4.1 登录 首先,我们来启动一个 Puppeteer 的浏览器 Browser。...'--no-sandbox', '--disable-setuid-sandbox', '--disable-dev-shm-usage', ], userDataDir

    3.3K10

    Playwright: 比 Puppeteer 更好用的浏览器自动化工具

    在 Playwright 之前,我一般会使用 Selenium 或者 Puppeteer 来进行浏览器自动化操作。...然而,Selenium 经常会有一些奇怪的 bug, Puppeteer 则是没有官方 Python 版,非官方版本也只有 async 版本,并且也是有一些奇怪的 bug....Playwright 是微软出品的浏览器自动化工具,代码质量应该是有足够保证的。而且它还官方支持同步版的 Python API, 同时支持三大浏览器,所以赶紧切换过来了。...安装 pip install playwright==1.8.0a1 # 很奇怪,必须指定版本,不指定会安装到一个古老的版本 python -m playwright install # 安装浏览器...Puppeteer 在打开浏览器之后就无法在更改代理了,对于爬虫类应用非常不友好,而 Playwright 可以通过 Context 设置代理,这样就非常轻量,不用为了切换代理而重启浏览器。

    4.4K30
    领券