问题标签 [pyppeteer]
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.
pyppeteer - pyppeteer.errors.BrowserError:浏览器意外关闭
今天学习了一个叫pyppeteer的lib,当我运行我的代码时
我有:
amazon-web-services - 无服务器调用返回“无法编组响应:OSError(30, 'Read-only file system') for my Python lambda
运行基于 python 的 aws lambda 时,出现只读文件系统错误。
但是,我没有做任何日志记录,它看起来像无服务器。
这是我的 serverless.yml
我已经将我的处理程序包装在一个 try-catch 中,但它甚至没有进入我的代码。
我希望我的 lambda 能够正确运行我的代码
python - Pyppeteer 在 AWS Lambda 上运行时无法下载无头 chrome
Pyppeteer(puppeteer 的 python 端口)正在尝试下载 linux-chrome 但无法下载。
这是一个 python 项目,我已将其 docker 化并使用无服务器部署到 AWS Lambda 中。我正在使用无服务器将 python 依赖项部署到 lambda 层。
我在谷歌上找不到任何明确的东西来告诉我如何使用 python 运行时为 chrome 浏览器自动化设置适当的 lambda。
无服务器
傀儡师
dockerfile
错误信息
python - Pyppeteer / Puppeteer NetworkError:执行上下文被破坏,很可能是因为导航
我正在使用 puppeteer 来做一些轻量级的爬行 ~2K 页面。但我不断看到这个错误再次发生
我不明白它是如何触发相关的错误的,frame.title()
因为在我的代码中,它只查找实际的页面标题,而不是在其框架内。
此外,它在导航到任何框架内容之前调用页面标题:
这种反复出现的错误的可能原因是什么?
python - 用 pyppeteer 连接到现有的 chrome
我想使用pyppeteer连接到现有的(已经由用户打开,没有任何额外标志)Chrome 浏览器,这样我就可以控制它。
我以前几乎可以做所有手动操作(例如,在现有的 chrome 中启用远程调试模式),但最好用最少的操作来完成。
为了使用browser.connect
,我需要给它browserWSEndpoint
,相当于webSocketDebuggerUrl
'http://localhost:9222/json/version'下。
我的问题是只有当我运行带有--headless
标签的 chrome 时才能访问“http://localhost:9222/json/version”,否则我无法获取此字符串。
我尝试从 cmd 运行:
chrome --disable-gpu --remote-debugging-port=9222 https://stackoverflow.com
它在打开的 chrome 实例下打开一个新选项卡,但我仍然无法访问“http://localhost:9222/json/version”来获取webSocketDebuggerUrl
(我在尝试访问时得到“ERR_CONNECTION_REFUSED”地址)。
我该怎么做?我在网上找不到任何东西。
编辑(也细化了问题的第一段):
感谢大家的回答,但似乎我最初想做的事情是不可能的。如果不是第一次打开现有的 Chrome (浏览器的第一个实例)并带有--remote-debugging-port=XXXX
允许您远程控制它的标志,则您无法连接到它。一旦打开浏览器的第一个实例 - 它就会锁定浏览器的用户数据,并且不能从命令行将标志添加到浏览器(只能从浏览器本身内部,由用户)。
python - 使用 requests_html 的渲染功能时保持会话
我有一个需要登录的小型内部网页。登录后,会加载一个简单的 HTML 页面,并且有 javascript 脚本可以加载页面的实际内容。
我想要:
- 登录页面
- 运行 javascript
- 从页面中提取信息
- 在页面中找到链接并重复该过程
我发现有一个名为 requests_html 的包,听起来目标是能够做这样的事情。我设法使用 requests_html 登录页面并获取我想要的页面的 HTML 视图。然后应该可以调用
然后 requests_html 应该使用 pyppeteer,它会下载并启动无头 chromium,加载网页,渲染页面,然后返回结果。这实际上有效,但它只返回登录页面。requests_html 中的会话信息不会传递给 pyppeteer 和/或 chromium。
是否可以使用相同的会话,或者我是否需要尝试仅使用 pyppeteer 登录?
这是一个代码示例,但您需要一个带有表单登录和 javascript 渲染的小网页来试用它:
docker - Docker 容器自动修复 Kubernetes 适用于一个实例吗?
我有一个正在运行 pyppeteer 的 docker 容器。它有内存泄漏,所以它会在 24 小时内停止。
我需要一些自动修复系统,我认为 Kubernetes 可以做到。没有负载均衡,只有一个实例,一个容器。合适吗?
++++
最后我选择了docker-py,使用containers.run、containers.prune进行管理。
它对我有用。
python - Python pyppeteer 代理使用
我想使用身份验证代理运行 chromium 浏览器。我有这个代码,但铬不通过代理连接。请问有什么建议吗?
编辑:让代理工作,除了身份验证。
python-3.x - 如何等待 Recaptcha 在 Pyppeteer 中加载?
我想抓取一个网站,但我在使用 Recaptcha 时遇到了困难。我已经想出了解决它的方法,但在该方法开始之前,我必须确保 Recaptcha 已完全加载,这就是我所坚持的。我试过page.waitForSelector('#captchaFormPart > td:nth-child(2) > script:nth-child(1)', options={'visible': True})
了,但没有用。