问题标签 [puppeteer]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
puppeteer - page.$$ 和 ElementHandle 遍历
在阅读了文档和示例后,我仍然无法理解如何ElementHandle
通过page.$$
.
大多数想要使用page.$$
和隐式使用的用例document.querySelectorAll()
是获取数组或 NodeList,然后在此基础上工作。
假设我们有一个包含 5 个链接的页面,我想a
在我的脚本中打印第二个的 href。这是我尝试过的,但它不起作用。
你能帮忙吗?
node.js - npm 安装我系统上本地的软件包
当我想安装 puppeteer 时,它会因错误而停止
,所以我从URL手动下载 chrome-linux.zip:https://storage.googleapis.com/chromium-browser-snapshots/Linux_x64/499413/chrome-linux.zip 。
现在,我应该如何告诉 npm 这个包在我的系统本地并且它可以安装它?
谢谢
javascript - 如何在 Cucumber-js 中使用 Puppeteer 和 Headless Chrome
我正在尝试使用 cucumber-js 进行 BDD,并使用 Headless Chrome 和 puppeteer 驱动浏览器测试。
使用来自cucumber node example和headless chrome的文档,我得到以下错误,整个代码库在这里可用:github repo。
错误:
- 类型错误:this.browser.newPage 不是函数
- 类型错误:this.browser.close 不是函数
// 功能/支持/world.js
// 特征/step_definitions/hooks.js
// 特征/step_definitions/browser_steps.js
puppeteer - 如何使用 puppeteer 启用并行测试?
我直接使用 chrome puppeteer 库来运行浏览器集成测试。我现在在单个文件中编写了一些测试。有没有办法并行运行它们?实现这一目标的最佳方法是什么?
javascript - Google Puppeteer 和 Mocha 异步调用
JavaScript 新手,试图了解如何运行以下简单测试,该测试会加载 google 主页并获取标题。然后测试这个标题。
问题是 describe/it 块在获取 page_title 之前运行。请有人建议我应该如何实际构建这个?
chromium - 是否可以使用 Puppeteer 禁用 websocket?
我正在使用 puppeteer 创建网站的屏幕截图,我想消除所有不必要的流量。除了阻止分析网站等,我还想阻止 websocket 流量。
我在 puppeteer API 中找不到东西。这可能是一个启动论点吗?
jasmine - puppeteer 如何处理无头模式下的滚动
所以我有这个 e2e 测试环境(测试框架是 jasmine),它由 puppeteer(无头模式)提供支持。该机制的工作方式是 puppeteer 在页面中触发测试的 url,并等待 jasmine 结束它的评估。除了涉及滚动到视口中某个区域的测试之外 ,一切都很好。如果我将 headless 更改为 false ,则测试运行得很好。那么,任何人都知道 puppeteer 是否知道如何处理无头滚动?谢谢 !(如果有人有不同的提示为什么事情不正常,请随时分享)
javascript - 如何重新创建包含所有 cookie 的页面?
我在尝试着:
- 访问初始化会话的页面
- 将会话存储在 JSON 对象中
- 访问同一页面,该页面现在应该可以识别现有会话
我尝试的实现如下:
createSession
用于捕获加载页面的cookies。useSession
预计将使用现有的 cookie 加载页面。
但是,这不起作用——session.url
页面无法识别会话。似乎并非所有 cookie 都以这种方式被捕获。
google-chrome-headless - 是否可以截取部分页面的屏幕截图/PDF?例如。一个特定的div?
我尝试使用 Phantomjs 截取我的 SPA 屏幕截图。根据我的要求,我应该能够截取部分页面而不是整个页面。png/image 与幻像一起工作正常,但 PDF 不工作。我正在尝试查看是否可以使用 Puppeteer 将页面的一部分(而不是整个页面)作为 PDF 导出。我检查了他们的文档,但没有提到它。有没有人试图用 puppeteer 达到同样的效果?谢谢
javascript - 如何将参数传递给 page.evaluate?
我希望我的结果是一个函数,它在浏览器上下文中运行,表现得像一个函数。所以我可以要求它获取不同的资源。然而这个p
论点是行不通的。为什么,我该如何解决?