Несколько событий .click () в Puppeteer - PullRequest
0 голосов
/ 03 февраля 2019

Мне нужно зайти на сайт и получить их данные.Я должен сделать первый клик (), чтобы перейти к следующему варианту, на котором я должен сделать еще один клик (), а затем еще один клик (), а затем еще один клик ().

Я хотел бы сделать JSON из ихбаза данных.Вы можете проверить это здесь:

https://www.akumulator.pl/dobierz-akumulator

Я уже пробовал некоторые уроки по кукловоду и их официальную документацию

const puppeteer = require('puppeteer');

let scrape = async() => {
const browser = await puppeteer.launch({headless: false});
const page = await browser.newPage();
const models = [];
const fuels = [];
const engines = [];
const productions = [];

await page.goto('https://www.akumulator.pl/dobierz-akumulator');


const result = await page.evaluate(() => {
    let data = []; 
    let elements = document.getElementById('edit-brand').children;

    [].forEach.call(elements, element => {
        data.push(element.innerText);
    })
    return data; 
});

browser.close();
return result
}

scrape().then((value) => {
console.log(value); // Success!
});    

1 Ответ

0 голосов
/ 03 февраля 2019

Вы можете использовать что-то вроде этого в цикле:

await Promise.all([
  page.$(selectorToClick).click(),
  page.waitForSelector(selectorToBeCreatedOrUnblocked)
]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...