这为我工作:
await Promise.all([
page.goto(URL),
page.waitForNavigation({ waitUntil: 'networkidle0' }),
]);
console.log('page loaded')
由于某种原因,我无法单击按钮(处理了一个事件,不是形式上的)
<button onclick="someFunction();" class="button button2">Submit</button>
问题在于该页面是在服务器端呈现的。因此,每当我等待输入字段时按钮都不存在await page.waitForSelector('button.button2')
解决的办法是结合page.goto(URL)
和page.waitForNavigation({ waitUntil: 'networkidle0' })
中Promise
await Promise.all([
page.goto(URL),
page.waitForNavigation({ waitUntil: 'networkidle0' }),
]);
console.log('page loaded')
await page.waitForSelector('button.button2')
console.log('button is here');
networkidle
现在应该设置为networkidle2
github.com/GoogleChrome/puppeteer/blob/master/docs/…–