LINUX.ORG.RU

Открытие ссылки в новой вкладке. Как это сделать в pyppeteer?

 , , ,


0

1

В puppeteer в node.js это делается так:

const puppeteer = require('puppeteer');               // подключаем puppeteer

const browser = await puppeteer.launch();             // запускаем браузер
const page1 = await browser.newPage();                // открываем новую вкладку
await page1.goto('https://google.com');               // переходим на 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())));  // объявляем промис
await link.click({button: 'middle'});                 // кликаем средней кнопкой, ссылка открывается в новой вкладке
const page2 = await newPagePromise;                   // объявляем новую вкладку/окно, теперь с ней можно работать
await page2.bringToFront();                           // делаем вкладку активной
  
...

await browser.close();                                // закрываем браузер



Как сделать то же самое, но на питоне с pyppeteer?
Заковыка в этом самом «объявляем промис». Что там делать в питоне?

★★★★★

Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.