Что такое API кукловода для `document.elementFromPoint`? - PullRequest
0 голосов
/ 01 октября 2018

ElementFromPoint описан в MDN, но я не смог найти подобную функцию в Puppeteer.

Я знаю, что могу выполнить свой код как page.$eval, но мне было интересно, есть ли прямое page.elementFromPoint API.

Ссылка на документы MDN:

https://developer.mozilla.org/en-US/docs/Web/API/DocumentOrShadowRoot/elementFromPoint

1 Ответ

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

В настоящее время нет функции Puppeteer, явно созданной для DocumentOrShadowRoot.elementFromPoint(), но вы можете использовать page.evaluate() для выполнения этой функции непосредственно в среде DOM страницы:

await page.evaluate( () => {
    const example = document.elementFromPoint( 100, 100 );
    example.style.color = '#f00';
});

Если вам нужно щелкнуть или коснуться элемента в определенных координатах, вы можете использовать mouse.click() или touchscreen.tap():

await page.mouse.click( 100, 100 );
await page.touchscreen.tap( 100, 100 );
...