问题标签 [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.

0 投票
1 回答
208 浏览

python - 无法创建循环以从网页中获取所有标题

我已经编写了一个脚本来python结合从网页pyppeteer中抓取不同帖子titleslinks标题。问题是当我运行我的脚本时,它可以解析那里的第一个titlelink第一个帖子。我的意图是创建一个循环来获取它们。由于我对使用这个库很陌生,所以我不知道如何创建一个循环。任何帮助将不胜感激。

到目前为止我的脚本:

0 投票
2 回答
716 浏览

python - 使用 pyppeteer 创建 for 循环的理想方法

我编写了一个脚本,python结合pyppeteer从网页上抓取不同咖啡店的名称和电话号码。尽管我在下面尝试的方式可以达到目的,但脚本看起来确实很混乱。pyppeteer使用库创建 for 循环的理想方法是什么?

到目前为止,我已经写过:

0 投票
1 回答
1145 浏览

python - 代码运行时连接关闭。它使用 pyppeteer 抓取网页

我用pyppeteer做了一个爬虫taobao.com的测试。淘宝网有识别码,就是滑块按钮,所以我在代码中添加了一些方法。但错误发生在代码运行时。像这样的错误信息:

2018-11-30 18:15:32 [websockets.protocol] 调试:客户端!在 OPEN 状态下失败的 WebSocket 连接:1006 [no reason] 2018-11-30 18:15:32 [websockets.protocol] DEBUG: client - event = connection_lost(None) 2018-11-30 18:15:32 [websockets .protocol] 调试:客户端 - 状态 = CLOSED 2018-11-30 18:15:32 [websockets.protocol] 调试:客户端 x 代码 = 1006,原因 = [无原因] 2018-11-30 18:15:32 [ websockets.protocol] 调试:客户端 - 中止挂起 ping:7ac33fd3 [I:pyppeteer.connection] 连接关闭协议错误(Runtime.callFunctionOn):会话关闭。该页面很可能已关闭。***********************************:幻灯片登录错误协议错误(Runtime.callFunctionOn):会话关闭。该页面很可能已关闭。***********************************:幻灯片登录 False
协议错误(Runtime.callFunctionOn):会话关闭。该页面很可能已关闭。***********************************:幻灯片登录错误协议错误(Runtime.callFunctionOn):会话关闭。该页面很可能已关闭。***********************************:幻灯片登录错误协议错误(Runtime.callFunctionOn):会话关闭。该页面很可能已关闭。***********************************:幻灯片登录 False
协议错误(Runtime.callFunctionOn):会话关闭。该页面很可能已关闭。***********************************:幻灯片登录错误协议错误(Runtime.callFunctionOn):会话关闭。该页面很可能已关闭。***********************************:幻灯片登录错误协议错误(Runtime.callFunctionOn):会话关闭。该页面很可能已关闭。***********************************:幻灯片登录 False
协议错误(Runtime.callFunctionOn):会话关闭。该页面很可能已关闭。***********************************:幻灯片登录错误协议错误(Runtime.callFunctionOn):会话关闭。该页面很可能已关闭。***********************************:幻灯片登录错误协议错误(Runtime.callFunctionOn):会话关闭。该页面很可能已关闭。***********************************:幻灯片登录 False
协议错误(Runtime.callFunctionOn):会话关闭。该页面很可能已关闭。***********************************:幻灯片登录错误协议错误(Runtime.callFunctionOn):会话关闭。该页面很可能已关闭。***********************************:幻灯片登录错误协议错误(Runtime.callFunctionOn):会话关闭。该页面很可能已关闭。***********************************:幻灯片登录 False

....死循环像上面的信息。

该错误发生在滑块按钮滚动几次后,(滑块按钮需要滚动更多次),但应该一直持续到动作成功。因为我在代码中设置了重试。我想知道为什么连接关闭。

核心代码是这样的

0 投票
0 回答
1193 浏览

python-3.x - 使用 pyppeteer 如何向客户端证书发出请求?

我需要使用带有 pyppeteer 的客户端证书访问页面,我在这里看到 puppeteer 本身是可能的,但是我的尝试导致 python3 出现无效状态错误。我不确定我的尝试是否完全正确,但它遵循 puppeteer 中问题评论的精神。我希望它是可能的,因此我的尝试是错误:

这是导致上述错误的尝试:

0 投票
1 回答
4122 浏览

python-3.x - 在 FLASK 中运行 pypupeteer 会出现 ValueError: signal only works in main thread

我正在尝试将 pyppeteer 集成到烧瓶应用程序中。我有运行 pyppeteer 并截取页面截图的 python 脚本。如果我单独运行脚本,这是工作文件。

问题是当我在 FLASK APP 中运行它时,相同的脚本不起作用。

我收到以下错误:

以下代码用于捕获屏幕截图。

以下代码是调用此方法的地方:

我正在使用 asyncio 循环来处理异步捕获功能。

另外根据 Stackoverflow 问题的一些建议,我已经关闭了调试模式。

请建议我哪里出错了。

Python版本:3.7

0 投票
1 回答
2435 浏览

python - 使用 pyppeteer 与 asyncio 关联来抓取内容

pyppeteer我已经用 python 编写了一个脚本,并结合asyncio从其登录页面抓取不同帖子的链接,并最终通过跟踪通向其内页的 url 来获取每个帖子的标题。我在这里解析的内容不是动态的。但是,我使用pyppeteerasyncio查看了它的执行效率asynchronously

以下脚本运行了一段时间,但随后出现错误:

这是我到目前为止所写的:

我的问题:我怎样才能摆脱这个错误并异步执行?

0 投票
1 回答
770 浏览

python-3.x - Pyppeteer 在 Linux 和 Windows 上的行为不同

我有pyppeteer可以浏览的代码。假设它只点击a标签。

它在我的本地 Windows 机器上运行良好,但每当我在 Linux 服务器上远程运行它时就会中断。相同conda env,相同的代码。

我的代码的相关部分经过简化,如下所示:

它在我的 Windows 机器上运行良好。当我在 Linux 机器上启动它时,它启动正常,无论是否有导航。然后,在几次导航点击后,我得到一个超时,然后是另一个错误:

我在这个问题上停留了一段时间,不胜感激!

我的环境包括: python=3.6, pyppeteer=0.0.25.

顺便说一句:我注意到这个问题有一个类似的错误。但是,错误是不同的(Protocol error (Page.navigate): Target closed而不是Protocol Error (Runtime.callFunctionOn)),以及环境(node.jsPuppeteer等)。

0 投票
3 回答
5135 浏览

javascript - 在 Pyppeteer (Python Puppeteer) 中通过其文本选择一个按钮

我想使用单击以下按钮pyppeteer

我正在尝试使用这里Jquery建议的方法:

或在这里:

但这似乎不起作用。我还注意到,在 Jquery 中在线发布的许多示例似乎不适用于 Google chrome 的控制台,因此不适用于pyppeteer.

我的问题是如何通过文本选择按钮,而且,任何人都可以指导我到一个指南,解释什么 Jquery 选择器语法是在 Google chrome 的控制台(木偶师)上工作的正确语法?因为这个看起来不正确,而且这个错误并不是真正的指示:

0 投票
0 回答
472 浏览

google-chrome - 使用 Pyppeteer 检测自动打开的选项卡

使用 pyppeteer 可以通过.pages函数获取所有打开的选项卡。在网站自己打开一个新选项卡之前(例如,在单击按钮后),这一切正常。在这种情况下,新选项卡不会在 **.pages* 的返回中列出。

有没有办法检测这个新选项卡,以便我可以像使用其他选项卡/页面一样使用它?

(我没有用 puppeteer 对其进行测试,但我认为它的行为会相同。)

代码示例(遗憾的是我必须使用 Python 2.7,所以我必须使用 yield from):

输出:

0 投票
0 回答
789 浏览

python - 使用 asyncio/pyppeteer 时打开文件过多错误

我正在尝试使用 pyppeteer 使用无头 chrome 发出请求。但是在收到一定数量的请求后,我不断收到“OSError:[Errno 24] 打开的文件太多”。我用 losf 检查了 python 进程的开放资源,发现每个新请求都有一个新行,如下所示

谁能告诉我哪些资源没有被关闭?产生此错误的代码如下

编辑

我设法通过调用关闭了打开的管道