基本上,如果找不到元素,我希望剧作家等待每个元素 5 秒。
有一种方法可以单独更改超时,如下所示:
await page.waitForSelector('h1', { timeout: 5000 });
但我只想在全局范围内定义它一次,而不是在每个元素中。预先感谢。
最佳答案
可以使用以下方法为接受超时设置的每个方法设置超时:
browserContext.setDefaultTimeout(timeout)
“browserContext”可能比“page”等价物稍微好一点,因为它是在整个 browserContext 中设置的。如果您想覆盖更广泛的 browserContext 设置,您始终可以使用页面设置。如果您想要与其他方法不同的导航超时,也许在模拟慢速连接时,您还可以设置:
browserContext.setDefaultNavigationTimeout(timeout)
这将优先考虑导航。使用 Playwright Test Runner 时,您可以通过创建 playwright.config.js 文件为整个测试全局设置超时。
这里有关于特定超时设置的文档:
https://playwright.dev/docs/test-intro#use-test-hooks
但他们的例子的简化版本是:
// playwright.config.js
module.exports = {
// Each test is given 30 seconds
timeout: 30000,
use: {
// Configure browser and context here
},
};
关于javascript - Playwright JS - 如果找不到元素/选择器,如何全局定义/更改超时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67787470/