问题标签 [google-chrome-headless]
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.
node.js - Puppeteer:如何处理多个标签?
场景:用于开发人员应用注册的 Web 表单,具有两部分工作流程。
第 1 页:填写开发者应用程序详细信息并单击按钮以创建应用程序 ID,该应用程序 ID 在新选项卡中打开...
第 2 页:应用程序 ID 页面。我需要从该页面复制 App ID,然后关闭选项卡并返回第 1 页并填写 App ID(从第 2 页保存),然后提交表单。
我了解基本用法 - 如何打开第 1 页并单击打开第 2 页的按钮 - 但是当第 2 页在新选项卡中打开时,我如何获得第 2 页的句柄?
例子:
2017-10-25 更新
- Browser.pages 的工作已经完成并合并
- 修复了在创建新选项卡时发出新的 Page 对象 #386和Request: browser.currentPage() 或类似的方式来访问 Pages #443。
仍在寻找一个好的使用示例。
selenium-chromedriver - 如何在 PythonAnywhere 上设置 Chrome Headless?
我想在我的 PythonAnywhere 实例上设置 Chrome 以无头模式和用于 Selenium 测试的 ChromeDriver。我找不到任何关于如何解决这个问题的说明。请问有人对文档有任何建议/指针吗?
google-chrome - 无法使用 selenium 和 chrome 无头模式访问 chrome 运行时
我有一个使用Selenium和Chrome的简单 F# 项目。我注意到当 Chrome 以无头模式启动时,chrome 对象没有定义。
另一方面,如果我“正常”运行它,则正确引用了 chrome 对象。
示例代码:
如果我运行上面的代码,我会得到以下输出:
如果我省略无头选项,我会得到以下输出:
这是一个错误还是我错过了什么?
javascript - 使用 Puppeteer 检索 JavaScript 渲染的 HTML
我正在尝试从这个 NCBI.gov 页面中抓取 html 。我需要包含#see-all URL 片段,这样我才能保证获得搜索页面,而不是从不正确的基因页面https://www.ncbi.nlm.nih.gov/gene/119016中检索 HTML 。
URL 片段不会传递给服务器,而是由页面客户端的 javascript 用于(在这种情况下)创建完全不同的 HTML,这是您在浏览器中访问页面并“查看page source”,这是我要检索的 HTML。R readLines() 忽略 url 标签后跟 #
我首先尝试使用 phantomJS,但它只是返回了此处描述的错误ReferenceError: Can't find variable: Map,这似乎是由于 phantomJS 不支持 NCBI 正在使用的某些功能,因此消除了这种解决方法。
我使用以下用 node.js 评估的 Javascript 在 Puppeteer 上取得了更大的成功:
但是,这返回了似乎是预渲染的 html。我如何(以编程方式)获取我在浏览器中获得的最终 html?
node.js - puppeteer 中的源图?
我正在玩偶操作(这可能是动词吗?)一个使用 webpack 构建的应用程序,page.on('error')
我收到如下错误:
有没有办法,如果是这样,我怎样才能正确地对这些错误进行源映射?
(我确定我正在生成源图)
google-chrome - 如何添加 chrome 二进制文件以在 CI 服务器上的 headless chrome 上运行例如 Karma 测试
我喜欢在无头 chrome 上运行我的业力单元测试。在我的机器上使用 karma-chrome-launcher 并将浏览器设置为“ChromeHeadless”。但在 CI 服务器上,它会失败并显示消息“您的平台上的 ChromeHeadless 浏览器没有二进制文件”。无法在 CI 机器上安装 chrome。还有另一种加载chrome二进制文件的方法吗?例如,google puppeteer 模块似乎在运行时加载了该模块。来自文档:“Puppeteer 下载并使用特定版本的 Chromium”。我怎样才能达到同样的效果?
google-chrome - Pupeeteer 到容器中的无头 Chrome
我试图弄清楚如何在 docker 容器中运行无头 Chrome。然后我找到了这个。但是现在我不知道如何在那个容器中运行我的测试。
有人可以给我一个大致的方向,我应该在哪里挖掘,我尝试浏览Pupeeteer的文档,但找不到任何东西。也许在野外有一个最小的例子,我可以使用 Karma 或其他任何东西在容器中运行测试并记录结果。
请注意,尽管我想在容器之外编译/捆绑 javascript,并使用它来执行其中的已编译/捆绑测试。
也许稍后我想使用相同的方法来运行我的验收测试,但这次是通过在外部运行 Web 服务器,可能在一个单独的容器中。
我的最终目标是能够运行一堆用 Clojurescript 编写的测试,但我认为虽然还没有人做过类似的事情。也许有人有。
python - 使用 ChromeDriver 运行计划任务
我制作了一个基于 Selenium 和 Chromedriver 的脚本。基本上是一个登录网站的程序。写一条评论(来自计算机的 txt 文件)然后关闭程序,不,它不是垃圾邮件脚本,而是我刚刚从 python 和 selenium 开始制作的脚本。
如果我手动启动程序,程序本身运行良好。那么就没有问题了,chromedriver是无头的,因为我不需要看到整个过程chrome_options.add_argument("--headless")
然后我从这里看到了一个帖子调度 Python 脚本
但我遇到的问题是,每次都是时间,程序开始了。它出现了脚本,然后是我设法打印的快速错误
我可以看到 Chromedriver 存在问题。事情就是现在。如何使此脚本在 Chromedriver 在后台运行的情况下完成计划任务。我可能做错了设置,但程序手动运行,所以我猜 Windows 计划任务可能有问题?
基本上我只希望脚本每隔 xx:xx 时间在后台运行。
如果需要更多信息,请随时发表评论。