Dal*_*lie 7 javascript iframe puppeteer
之前的答案为我指明了方向,即如何捕获异步验证错误或重定向。但在我的场景中, aniframe开始发挥作用,它让我整天忙碌。一些指向正确方向的指针会非常有帮助,因为我无法做到正确,尽管错误清楚地说明了哪里出了问题。
场景的:
第二种情况中抛出的错误指出waitForFunction failed: frame got detached。这是有道理的,因为框架不再存在......我发现了,frame.isDetached()但仍然不断抛出相同的错误。我缺少什么或者如何使用此方法使其发挥作用?
let frame = (await page.frames())[0];
...
for (let action of actions) {
if (action.type === '...') {
// ...
}
if (action.type === 'click') {
frame.click("#btn");
// works for scenario 1
await Promise.race([
page.waitForNavigation({ waitUntil: "networkidle2" }),
// ERROR THROWN HERE FOR SCENARIO 2
// `waitForFunction failed: frame got detached`
// the line below doesn't seem to work as well...
// frame.isDetached() ? Promise.resolve() : frame.waitForSelector(".error")
frame.waitForSelector(".error"),
]);
if (await frame.$(".error")) {
// there was an error
} else {
// the page changed
if (await page.waitForFunction('document.querySelector("body").innerText === "finished"')) {
// yeeey
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9236 次 |
| 最近记录: |