Node.js Проблема кукловода с нажатием кнопки внутри родительских элементов - PullRequest
0 голосов
/ 06 мая 2020

Я использую библиотеку кукловодов для очистки веб-сайта. Я получаю все элементы точного класса по:

let items = await page.$$("li.item");
for (let item of items) {
    let elementText = await page.evaluate(
        (element) => element.textContent,
    item);
    console.log(elementText );    
}

И я получаю текст всех элементов. Оно работает. Проблема в том, что мне нужно нажать кнопку, которая находится внутри этих элементов. Есть коробка с классом li.item, а внутри кнопка. Мне нужно нажимать каждую кнопку внутри каждого поля. Как мне это сделать? Я пробовал element.children или даже консоль element, но он показывает только неопределенные. Что я здесь делаю не так?

Ответы [ 2 ]

1 голос
/ 08 мая 2020

@ iGuru1994, это будет работать, но я хочу нажать эту кнопку, которая находится внутри item

for (let item of items) {
    let elementText = await page.evaluate(
        (element) => await Promise.all([
                        await page.click('li.item button');
                     ]); 
}

вы имеете в виду это?

0 голосов
/ 07 мая 2020

Hi Sowam,

let buttons = await page.$$("//li//button");
for (let button of buttons) {
    await button.click();   
}

Или

let buttons = await page.$$("//li.item//button");
for (let button of buttons) {
    await button.click();   
}

Вы нажимаете кнопку с помощью page.click как это.

...