497得票25回答
消息 "jest.setTimeout指定的5000毫秒超时内未调用异步回调"

我正在使用Puppeteer和Jest运行一些前端测试。 我的测试如下:describe("Profile Tab Exists and Clickable: /settings/user", () => { test(`Assert that you can...

274得票7回答
如何将变量传递给 evaluate 函数?

我正在尝试将一个变量传递到 Puppeteer 中的 page.evaluate() 函数中,但是当我使用以下非常简化的示例时,变量 evalVar 是未定义的。 我找不到任何可构建的示例,因此我需要帮助将该变量传递到page.evaluate()函数中,以便我可以在内部使用它。const p...

149得票8回答
Puppeteer:在继续执行下一行之前等待N秒

在 puppeteer 中,我想在执行下一行代码之前等待一段定义的时间。我尝试在 evaluate 函数中使用 setTimeout,但似乎被简单地忽略了。console.log('before waiting'); await page.evaluate(async() => { ...

142得票10回答
在 Puppeteer 中如何点击带有文本的元素?

有没有一种方法或解决方案可以点击带有文本的元素?我在API中找不到这样的方法。 例如,我有以下HTML: <div class="elements"> <button>Button text</button> <a href=#&g...

125得票14回答
Puppeteer 在表单提交后等待页面加载

我使用以下代码提交表单,希望Puppeteer在表单提交后等待页面加载。 await page.click("button[type=submit]"); //how to wait until the new page loads before taking screenshot? //...

120得票15回答
Puppeteer等待页面完全加载

我正在尝试从网页创建PDF。 我正在处理的应用是单页面应用程序。 我尝试了很多选项和建议,都在https://github.com/GoogleChrome/puppeteer/issues/1412上。 但是它没有起作用。 const browser = await puppet...

110得票9回答
如何使用Puppeteer填充输入字段?

我正在使用Puppeteer进行端到端测试,现在我正在尝试使用以下代码填写输入字段: await page.type('#email', 'test@example.com'); 它起作用了,但我发现电子邮件地址是一个字符一个字符地输入到字段中的,就像真正的人在打字一样。 是否可以一次...

109得票9回答
如何从下拉选择框中选择一个选项

我可以点击选择器,但我的问题是如何从下拉列表中选择一个选项?await page.click('#telCountryInput > option:nth-child(4)') 使用CSS选择器点击选项无效。例如,从像下面这样的列表中选择一个国家代码:

103得票7回答
Node.js中的puppeteer - 如何设置导航超时时间?

我正在使用node.js和puppeteer获取一些数据。我打开的文件中有一些非常大...然后我遇到了一个错误: 错误:our error { TimeoutError: Navigation Timeout Exceeded: 30000ms exceeded at Promise...

102得票13回答
Puppeteer - 滚动直到无法滚动

我处于这样一种情况:当我向下滚动时会创建新的内容,新的内容有特定的类名。 如何才能持续地向下滚动直到所有元素都加载完成? 换句话说,我希望达到这样的阶段:如果我继续向下滚动,就不会再加载新内容了。 我曾使用代码来滚动页面,并配合一个await page.waitForSelector('.cl...