【问题标题】:How to open url in new tab with pyppeteer?如何使用 pyppeteer 在新标签页中打开 url?
【发布时间】:2020-11-24 23:34:09
【问题描述】:

使用 nodejs 和 puppeteer 它看起来像:

const puppeteer = require('puppeteer');              

const browser = await puppeteer.launch();             
const page1 = await browser.newPage();                
await page1.goto('https://google.com');                   

await page1.waitForSelector('#fsl > a:nth-child(4)'); 
const link = await page1.$('#fsl > a:nth-child(4)');  

const newPagePromise = new Promise(x => browser.once('targetcreated', target => x(target.page())));  // define promise
await link.click({button: 'middle'});                 
const page2 = await newPagePromise;                  
await page2.bringToFront();                           
  
...

await browser.close();                               

python 和 pyppeteer 的等效代码字符串“define promise”是什么?

【问题讨论】:

    标签: python node.js google-chrome puppeteer pyppeteer


    【解决方案1】:

    我下面的代码可能对你有帮助

    result_page = asyncio.get_event_loop().create_future() # create new promise
    
    # bind promise to watch event targetcreated, must before click to link
    browser.once('targetcreated', lambda target: result_page.set_result(target))
    
    await link.click({button: 'middle'});     # click link and open to other tab
    
    page_in_new_tab = await (await result_page).page() # page in new tab here
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-06
      • 2017-06-03
      • 1970-01-01
      • 2019-09-09
      • 2011-07-26
      相关资源
      最近更新 更多