Puppeteer 获取在新选项卡中打开的网页的 url

luk*_*luk 11 node.js puppeteer

我正在编写一个网络爬虫来验证体育赛事的日期。一个网站没有在列表中显示体育赛事网址,而是像这样的链接:www.domain.com/redirectsystem/id12345等,一旦单击,就会打开该赛事网站的新选项卡。我想要实现的是获取在新选项卡中打开的该网站的网址。

我已设法单击 puppeteer 的链接,网站正在新选项卡中打开,但我不知道如何获取 url 信息

 const browser = await puppeteer.launch({
   headless: false,
   'args' : [
          '--no-sandbox',
          '--disable-setuid-sandbox'
        ]
  });

  const newPagePromise = new Promise(x => browser.once('targetcreated', target => x(target.page())));
      await page.click('span.link-hightlight');

      const newPage = await newPagePromise; 
      const url = await newPage.url() // this is not working 
      console.log(url) 
Run Code Online (Sandbox Code Playgroud)

小智 14

您只需使用即可page.url()获取页面 URL

const url = await page.url();
console.log(url);
Run Code Online (Sandbox Code Playgroud)


Vav*_*off 8

您可以使用page.evaluate从网页上下文中检索任何信息:

const url = await newPage.evaluate(() => document.location.href);
console.log(url);
Run Code Online (Sandbox Code Playgroud)