Поддерживает ли Puppeteer выбор элементов по расположению координат на странице? - PullRequest
0 голосов
/ 24 февраля 2020

Я хотел бы отобразить страницу и запустить алгоритм, чтобы визуально определить, в каких местах есть элементы, атрибуты которых я хочу выбрать. Кукольник , кажется, поддерживает вывод скриншота страницы и события перемещения мыши по (x, y) , но я не вижу никаких методов выбора элемента для проверки по (x, у).

Есть ли способ определить, какой элемент на странице находится по определенной координате? Сложенные элементы не будут проблемой для моего варианта использования, так как требуемый элемент должен быть доступен через xpath в этой точке.

Если не поддерживается напрямую, возможно ли использовать mouse.move (x, y [, options]) , чтобы переместить курсор в нужную позицию и каким-то образом «пометить» элемент под курсор с предопределенным атрибутом поиска (например: <element treasure=yes>), который можно найти с помощью xpath? Я думаю, page.evaluate (pageFunction [, ... args]) можно использовать для добавления функции javascript для динамического тегирования текущего элемента под курсором.

1 Ответ

0 голосов
/ 24 февраля 2020

Вы можете легко сделать это с помощью DocumentOrShadowRoot.elementFromPoint()

await page.evaluateHandle((x,y) => document.elementFromPoint(x,y), x,y);

Это даст вам самый верхний элемент в этой координате.

...