gpt4 book ai didi

javascript - 如何使用 Puppeteer 等待事件触发的页面重新加载?

转载 作者:行者123 更新时间:2023-12-01 01:12:00 27 4
gpt4 key购买 nike

我正在尝试安全地处理页面的行为,该页面在 select 元素上使用浏览器内事件来触发页面重新加载 (POST)。 URL 相同,但页面会使用相同的 HTML 重新加载,唯一的区别是表中内容的排序顺序。我尝试了几种方法,但不知何故都不可靠,我怎样才能实现这样的目标:

    try {
await page.select('select[name=sort]', 'size');
await page.waitForNextPageReload();
await page.waitForSelector('select[name=sort]');
} catch (error) {
console.log('Error sorting page.');
}

基本上,waitForNextPageReload不存在,但我正在寻找可以提供类似结果的东西。我尝试添加“延迟”,但我正在寻找更可靠的方法来正确管理错误。

最佳答案

选择和导航 promise 之间可能存在竞争条件(请参阅示例 herehere )。你能尝试一下这个方法吗?

await Promise.all([
page.select('select[name=sort]', 'size'),
page.waitForNavigation(),
]);

await page.waitForSelector('select[name=sort]');

关于javascript - 如何使用 Puppeteer 等待事件触发的页面重新加载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55084570/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com