不灭的焱

革命尚未成功,同志仍须努力下载JDK17

作者:Albert.Wen  添加时间:2023-07-27 17:58:44  修改时间:2023-12-04 19:16:53  分类:数据采集/桌面自动化  编辑

在点击一个按钮跳转到新的 Tab 页时会新开一个页面,这个时候我们如何获取该页面对应的 Page 实例呢?可以通过监听 Browser 上的 targetcreated 事件来实现,表示有新的页面创建:

作者:Albert.Wen  添加时间:2023-07-22 11:10:29  修改时间:2023-12-08 09:54:30  分类:数据采集/桌面自动化  编辑

我知道我可以使用

await page.type('#inputID', 'blah');

在文本框中插入“blah”(在我的情况下,该文本具有现有文本,仅附加“blah”),但是,我找不到任何允许删除或替换现有文本的页面方法。

作者:Albert.Wen  添加时间:2023-07-16 20:27:53  修改时间:2023-12-07 16:06:20  分类:数据采集/桌面自动化  编辑

大家在学Selenium的时候,对于页面上的有些元素不好操作的时候,可以使用driver.execute_script()方法执行JavaScript脚本。

作者:Albert.Wen  添加时间:2023-07-16 13:49:22  修改时间:2023-12-08 14:53:55  分类:数据采集/桌面自动化  编辑

获取浏览器的第一个标签页,然后访问 https://weibo.com ,等待导航完成(导航到 https://weibo.com ,然后重定向到一个新地址),等待页面网络空闲:

const [page] = await browser.pages();
await page.goto("https://weibo.com");
await page.waitForNavigation();
await page.waitForNetworkIdle();
作者:Albert.Wen  添加时间:2023-07-13 23:31:10  修改时间:2023-12-09 19:54:29  分类:数据采集/桌面自动化  编辑

Puppeteer 是 Chrome 开发团队在 2017 年发布的一个 Node.js 包,用来模拟 Chrome 浏览器的运行。我们团队从 Puppeteer 刚发布出来就开始成为忠实用户了(主要是因为 PhantomJs 坑太多了),本文主要在介绍 Puppeteer 的同时,结合我们平时的实践做一个分享。

作者:Albert.Wen  添加时间:2023-07-13 01:03:51  修改时间:2023-12-08 18:22:28  分类:数据采集/桌面自动化  编辑

使用 Puppeteer 启动的 Chrome 浏览器,默认是无法使用本地数据的,如表单项、密码、Cookies 等。

导致关闭浏览器后,重新打开页面需要重新登录,即 无法保存先前的登录状态 !

作者:Albert.Wen  添加时间:2023-07-13 00:02:12  修改时间:2023-12-08 16:22:23  分类:数据采集/桌面自动化  编辑

使用插件 chrome-finder,自动查找已安装的Chrome

作者:Albert.Wen  添加时间:2023-07-10 13:14:59  修改时间:2023-12-10 17:19:44  分类:数据采集/桌面自动化  编辑

有开发者给 puppeteer 写了一套插件(10多个插件),叫做puppeteer-extra。其中,就有一个插件叫做puppeteer-extra-plugin-stealth。这个东西,就来专门用来让 puppeteer 隐藏模拟浏览器的指纹特征。

作者:Albert.Wen  添加时间:2023-07-10 12:06:18  修改时间:2023-12-10 15:33:15  分类:数据采集/桌面自动化  编辑

Puppeteer启动时,窗体及页面设置:

  1. 页面自适应分辨率,可以将defaultViewport设为null
  2. 浏览器窗口最大化,设置参数:--start-maximized
作者:Albert.Wen  添加时间:2023-07-07 22:35:22  修改时间:2023-12-10 15:48:44  分类:数据采集/桌面自动化  编辑