Кон*_*кин 6 asynchronous jest puppeteer
所以问题是 - 如何等待元素具有某个值?例如,某个页面上的某个按钮会将输入字段的值从"无值"更改为"值X".问题是 - 我不知道需要多少时间,因此page.waitFor()不是一个选项.我以为我可以使用page.waitForSelector(input:contains('No Value')); 但据我所知,这并不奏效.可能page.waitForFunction()应该工作,但我不确定在那里写什么函数(page.evaluate返回输入的值可能?).
Vav*_*off 12
根据文档 page.waitForFunction
将等待函数传递给它(作为闭包或字符串)返回一个truthy值.
const puppeteer = require('puppeteer');
puppeteer.launch({headless : false}).then(async browser => {
const page = await browser.newPage();
await page.goto(url);
await page.waitForFunction('document.getElementById("wait").value != "No Value"');
console.log('Value changed!');
await browser.close();
});
Run Code Online (Sandbox Code Playgroud)