我们正在使用puppeteer在数百个网站和URL上运行自动化测试。其中一些网站运行速度非常慢,甚至会超时。这通常是因为有一个广告没有完成加载。因此,增加超时不是一种选择。
有没有办法在超时发生的那一刻得到当前呈现的超文本标记语言(DOM)?page.content()
只返回了一个仍然悬而未决的承诺。
发布于 2018-04-11 02:53:22
您也许能够使用evaluate
之类的东西,它注入一个定制的JavaScript函数来执行。然而,如果线程真的被“锁定”了,那么它很可能会遇到同样的问题。
const body = await page.evaluate(() => document.documentElement.outerHTML);
您可能还需要更灵活地处理如何编排脚本,捕获goto
超时,然后尝试上述操作。
https://stackoverflow.com/questions/47637809
复制相似问题