问题标签 [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 回答
90 浏览

python - 部署后 Heroku 错误(没有名为 '_tkinter' 的模块)

我在 heroku 上部署了一个网络应用程序(使用 Python),我现在正在使用 Pyppeteer 在网站上进行一些自动工作。部署后我遇到了这个问题:

有人遇到过这个问题吗?我已经使用了 chrome 和 puppeteer 的 buildpack,但遇到了同样的错误。也试过:

谢谢!!

0 投票
0 回答
939 浏览

python - 如何继续使用 pyppeteer 拦截请求?

我一直在尝试制作一个程序,该程序可以在用户浏览站点(并执行请求)时主动拦截请求并返回这些请求的响应正文。

当前的代码似乎只在进入站点时截取请求的详细信息,而不会在用户在站点上执行操作时继续打印请求的详细信息。

我真的很感激任何帮助!

这是我目前的整个程序:

0 投票
1 回答
385 浏览

python - Pyppeteer - 单击链接后运行 page.content() 时出错

JS/Html 的初学者,我试图通过 Pyppeteer0.2.5(Python3.6.9/Chromium 87.0.4280.66)点击链接后使用以下代码获取页面内容:

  1. 如果我在 期间不单击或不执行任何操作time.sleep(10),则 10 秒后将按预期打印维基百科主页面内容。
  2. 如果我(手动)在 期间单击任何链接time.sleep(10),新页面将按预期打开,但 10 秒后我收到 Python 错误(见下文)。我在不同的网页上以及通过 Pyppeteer 而不是手动点击时也发生了同样的情况。page.content()单击链接后失败是否有原因?
0 投票
1 回答
168 浏览

javascript - Pyppeteer / puppeteer / Angular JS 选择单选按钮不起作用

我有一个 div 函数,它有一个单选按钮,我想使用 Pyppeteer 选择“开火”。但是,当我尝试这样做时,我尝试的所有尝试都失败了

分区

我使用的 pyppeteer 命令

这是 XPATH:

这是 JS 路径

如果其中任何一个对您有帮助?过去两天我一直在尝试这个,但我没有成功:-(

0 投票
1 回答
498 浏览

javascript - 在 Pyppeteer (Python Puppeteer) 中从 page.evaluate 将值返回给 python

我正在使用 Pypeteer 筛选页面,并且我有以下代码可以选择各种元素。

我想做的是将各种 document.querySelector 属性(名称、余额、负债)的值放入这三个 python 变量中,然后在脚本中进一步处理它们。

上面的代码抛出以下错误:

不知道如何从这一点取得进展。有什么建议么?

0 投票
0 回答
465 浏览

python-3.x - 为什么我会收到:“从未检索到未来异常”错误

我正在使用 asyncio 和 pyppeteer 来测试抓取网站。目前我有:

启动浏览器。我在autoClose=False运行它时使用它,因为True我留下了挂起的 Chromium 进程。

在与许多网络错误作斗争之后,我发现这是最好的方法,并且挂起进程是最好的方法:

但是,有时该操作不会引发任何错误,或者最多 18 个错误。所有的错误是:

这是我循环代码 10 次时的输出:

0 投票
1 回答
186 浏览

python - 即使页面已经加载,PYppeteer 也会超时(没有微调器,没有网络活动)

我有以下代码可以自动登录到特定站点,以便获取登录屏幕后面的一些值。

pyppeteer.errors.TimeoutError: Navigation Timeout Exceeded: 30000 ms exceeded

0 投票
0 回答
105 浏览

python - Pyppeteer:单击带有 href“javascript:void(0);”的链接时出错

JS/Html 的初学者,我试图通过 Pyppeteer0.2.5 (Python3.6.9/Chromium 87.0.4280.66) 单击无序列表中的链接。链接的html代码为:

我的 pyppeteer 代码是:

但我收到一个错误:

知道如何单击 href 为的链接javascript:void(0);吗?从我读过的内容来看,这有时可以用一种onclick方法代替,但在 html 代码中没有出现这样的东西。

0 投票
1 回答
548 浏览

python - 为什么这个 pyppeteer 代码只能在 Windows 上运行?

我使用pyppeteer在 python 中编写了一个小程序。它在我的 Windows 计算机上运行良好,但是当我尝试在基于 Unix 的系统上运行它时它不起作用。这是一个最小的可重现示例:

在 Windows 上,它按预期运行并返回一个 HTML 页面。在 Unix 上,大约 35 秒没有发生任何事情后,我收到此错误:

我在 Windows 上运行 python 3.8.2,在 Unix 上运行 python 3.6.9,但我怀疑这是问题所在。我已经尝试了这个答案的评论中建议的修复,但这并没有改变任何东西。

0 投票
1 回答
436 浏览

python-3.x - 如何使用 pyppeteer 异步获取 url(一个浏览器多个选项卡)

我希望我的脚本

  1. 打开说 3 个标签

  2. 异步获取一个 url(每个选项卡都相同)

  3. 保存响应

  4. 睡眠 4 秒

  5. 用正则表达式解析响应(我试过 BeautifulSoup,但它太慢了)并返回一个令牌

  6. 在 3 个选项卡中循环多次

我的问题是 2。我有一个示例脚本,但它同步获取 url。我想让它异步。

此外,如您所见,代码不是那么简洁。我该如何让它异步?

另外,如果有帮助,我还有其他不符合我需要的 pyppeteer 脚本,以防万一转换这些脚本会更容易

该脚本是异步的,但它一次执行一个事件循环,因此它与同步一样好。

该脚本是异步的,但它会为每个 url 启动一个单独的浏览器,这最终会占用太多资源。