Как искать элемент в одном классе с другим (Selenium Python) - PullRequest
0 голосов
/ 10 марта 2019

Если я уже искал элемент, могу ли я найти другой в том же классе?

ех.

<div class="day">
  <span class="day_number">4</span>
  <span class="day_item_time" data-day-total-time="day-total-time">10m</span></div>

Так что мне пришлось искать по дате (найти элемент, у которого было 4), но как мне перевести это на поиск 10m?

Это был результат после распечатки элемента <selenium.webdriver.firefox.webelement.FirefoxWebElement (session="4ff20f1a-75d1-42c1-a7d0-de0c532651a6", element="1147f2d5-8832-44d4-a906-929ebaaa49e2")>

Ответы [ 3 ]

2 голосов
/ 10 марта 2019

Попробуйте этот код ниже. Он должен вернуть ожидаемый результат.

driver.find_element_by_xpath("(//div[@class='day']/span)[1]").text
driver.find_element_by_xpath("(//div[@class='day']/span)[2]").text

Выход:

4
10m
0 голосов
/ 10 марта 2019

Вы можете получить day-total-time, используя xpath ниже.


Получить span с day_number классом и текстом 4, ancestor - получить первого родителя div с классом day, а затем получить span с атрибутом data-day-total-time:

//span[@class='day_number' and .='4']/ancestor::div[@class='day'][1]/span[@data-day-total-time]

Получить div с классом day и дочерним span с day_number классом и текстом 4, а затем получить span с атрибутом data-day-total-time:

//div[@class='day' and ./span[@class='day_number' and .='4']]/span[@data-day-total-time]
0 голосов
/ 10 марта 2019

Примерно так:

//span[text()="4"]/following-sibling::span
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...