Установка нескольких флажков не работает в браузере без головы Puppeteer - PullRequest
0 голосов
/ 23 октября 2018

В приведенном ниже коде я использую безголовый браузер для сайта https://example.com/careers, устанавливаю два флажка и извлекаю полученные данные.Но проблема здесь в том, что только первый флажок (technologycheckbox) выбирается, а другой (locationcheckbox) не выбирается.Пожалуйста, помогите

(async () => {
  const browser = await puppeteer.launch({headless:false});
  const page = await browser.newPage();
  await page.setViewport({ width: 1366, height: 768});
  await page.goto('https://example.com/careers' ,{waitUntil: 'networkidle2'});
  await page.waitFor(4000);

    const technologycheckbox = await page.$('#checkbox2idvalue');
    await page.waitFor(2000);
    page.waitForSelector(locationcheckbox);
    await technologycheckbox.click();
    await page.waitFor(15000);
    const locationcheckbox  = await page.$('#checkbox1idvalue');
    await locationcheckbox.click();
    await page.waitFor(9000);



const result = await page.evaluate(() => {


    let data = []; // Create an empty array that will store our data
    let elements = document.querySelectorAll("div>ul> li >div:nth-child(1)"); // Select all Products
    console.log(elements)

    for (var element of elements){ // Loop through each proudct

        let title = element.textContent;
        let url = element.href; // Select the title


        data.push({title, url}); // Push an object with the data onto our array
    }

    return data; // Return our data array

});

});

1 Ответ

0 голосов
/ 23 октября 2018

Ваша переменная locationcheckbox не определена при запуске части page.waitForSelector(locationcheckbox);.Кажется, вы используете API правильно, поэтому сначала решите эту проблему, и после этого она должна хорошо работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...