Селен - питон - как найти элемент в определенной позиции? - PullRequest
0 голосов
/ 19 ноября 2018

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

Моя цель, в порядке состоит в том, чтобыавтоматически определять наложения и модалы.

Заранее спасибо!

1 Ответ

0 голосов
/ 19 ноября 2018

Вы можете сделать ниже, чтобы получить WebElement по координатам (последний дочерний элемент)

element = driver.execute_script('return document.elementFromPoint(x, y);')

Если вам нужны все элементы (element + все его предки вплоть до узла html):

elements = driver.execute_script('return document.elementsFromPoint(x, y);')

Для передачи координат в JavaScript извне:

x_coord = 100
y_coord = 150
driver.execute_script('return document.elementsFromPoint(arguments[0], arguments[1]);', x_coord, y_coord)

Или, если у вас есть координаты в виде кортежа:

coords = 100, 150
driver.execute_script('return document.elementsFromPoint(arguments[0], arguments[1]);', *coords)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...