как селен вебдрайвер получить данные с именем класса? - PullRequest
0 голосов
/ 31 марта 2020
<li class='temp'> text1 </li>
<li class='temp'> text2 </li>
<li class='temp'> text3 </li>

В этом коде я хочу собрать весь текст, который имеет класс 'temp'.

driver.find_element_by_class_name('temp').text

, но этот код получает только text1. как я могу получить весь текст с помощью webdriver?

Ответы [ 2 ]

0 голосов
/ 31 марта 2020

Я верю, что это работает. Пожалуйста, попробуйте это.

from selenium.webdriver.common.by import By


driver.find_elements(By.CLASS_NAME, 'temp')
0 голосов
/ 31 марта 2020

Если на страницах есть несколько элементов с одинаковыми критериями, .find_element относится к первому элементу.

Вы можете собрать как список с помощью .find_elements и извлечь его, используя al oop:

elements = driver.find_elements_by_class_name('temp')
for element in elements:
    element.text

Или вы можете получить весь текст li, используя тег ul в качестве родительского:

<ul class='...'>
    <li class='temp'> text1 </li>
    <li class='temp'> text2 </li>
    <li class='temp'> text3 </li>
</ul>

Используйте .find_element, но, пожалуйста, укажите, что элемент относится к ul.

...