在Puppeter中,我试图获取我所在页面的当前URL,但是,当页面更改时,我的setInterval
不会获取新页面的新URL,例如,URL旅程看起来像:
- https://example.com/
- https://google.com/<-X秒后重定向
我希望看到https://example.com/列在console.log
中,但在导航到新的URL后,我只看到原始URL。
我的代码中缺少什么?
(async () => {
const browser = await puppeteer.launch({
headless: false
});
const page = await browser.newPage();
await page.goto(argv.url); // <-- the page I go to has some auto-redirects
const currentUrl = () => {
return window.location.href;
}
let data = await page.evaluate(currentUrl);
setInterval(() => {
console.log(`current URL is: ${data}`);
}, 250)
// await browser.close();
})();
您每次都需要调用函数(目前您只输出过去一次调用的相同静态结果(:
setInterval(async () => {
console.log(`current URL is: ${await page.evaluate(currentUrl)}`);
}, 250)