【问题标题】:Puppeteer get url of webpage opened in new tabPuppeteer 获取在新标签页中打开的网页的网址
【发布时间】:2022-01-10 18:07:15
【问题描述】:

我正在编写一个网络爬虫来验证体育赛事的日期。一个网站没有在列表中显示体育赛事网址,而是链接 比如: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) 

【问题讨论】:

    标签: node.js puppeteer


    【解决方案1】:

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

    const url = await newPage.evaluate(() => document.location.href);
    console.log(url);
    

    【讨论】:

      【解决方案2】:

      您可以简单地使用page.url() 获取页面URL

      const url = await page.url();
      console.log(url);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-09-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-04-10
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多