Как я могу найти классы с подчеркиванием в них, используя Selenium? - PullRequest
0 голосов
/ 15 апреля 2020

Поскольку вопрос подразумевает, что я очищаю веб-страницу с именем класса с подчеркиванием, я не могу его найти. Элемент выглядит следующим образом:

<span class="s-item__time-left">30m</span> == $0

Я пытался найти его по имени класса

time = driver.find_elements_class_name("s-item__time-left")

Это просто ничего не возвращает, поэтому я перешел на css селекторы

time = driver.find_element_by_css_selector("s-item__time-left")

Я пробовал различные из вышеперечисленных, с одним "." заменяя 2 подчеркивания и 2 точки заменяя подчеркивание. Оба они тоже ничего не возвращали.

Я не могу использовать уникальный идентификатор, они постоянно меняются, все родительские классы также используют несколько подчеркиваний, поэтому я не могу найти путь к нему, просматривая дочерние элементы.

Я ценю любые предложения!

Ответы [ 2 ]

0 голосов
/ 15 апреля 2020

Ваш css selector был неправ. это должно быть .classname

Попробуйте сейчас.

time =driver.find_element_by_css_selector(".s-item__time-left")
print(time.text) 
0 голосов
/ 15 апреля 2020

Попробуйте использовать XPATH: driver.find_element_by_xpath('//span[@class="s-item__time-left"]')

...