Получить элемент одноуровневого элемента WebElement без XPath [Python / Selenium] - PullRequest
2 голосов
/ 05 марта 2020

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

В моей спецификации Сценарий c, я использую find_elements_by_xpath, чтобы получить определенный c список элементов. Затем я хочу перебрать эти элементы, но мне нужно иметь возможность получить доступ к брату каждого элемента, найденного с помощью метода find_elements_by_xpath.

По сути, я ищу такой тип функциональности:

elements = diver.find_elements_by_xpath("//path//to//elements")
for element in elements:
    sibling = element.find_element_by_css_selector(" + .sibling")

Если я обдумываю это и есть лучший подход, я весь слух.

1 Ответ

2 голосов
/ 05 марта 2020

Вы можете использовать javascript, чтобы получить элемент родственного элемента любого элемента, который вы уже нашли.

elements = diver.find_elements_by_xpath("//path//to//elements")
for element in elements:
    sibling = driver.execute_script("return arguments[0].nextElementSibling", element)

В вашем случае это должно работать.

...