#python #selenium #rpa
Вопрос:
Я пытаюсь выполнить итерацию по строке таблицы с поиском по xpath элемента «tr». Но когда я попытаюсь найти элементы «td», чтобы перебрать их и получить текст, я получу ошибку «недопустимый локатор». Это всего лишь тест, но может ли кто-нибудь помочь мне с этим? Ниже приведен код:
from RPA.Browser.Selenium import Selenium
lib = Selenium()
lib.open_available_browser("https://ge.globo.com/futebol/brasileirao-serie-a/")
lib.wait_until_element_is_visible('xpath://*[@id="classificacao__wrapper"]/article/section[1]/div/table[2]/tbody/tr')
trs = lib.find_elements('xpath://*[@id="classificacao__wrapper"]/article/section[1]/div/table[2]/tbody/tr')
for tr in trs:
td = tr.find_elements('tag:td')
print(td)
Ответ №1:
Ладно, я нашел ответ. Документация на python RPAFramework очень запутана, и при поиске внутри модуля «webelement» я обнаружил, что метод «find_elements» не работает. Мне нужно было заменить на «find_elements_by_tag_name». Теперь это код:
from RPA.Browser.Selenium import Selenium
lib = Selenium()
lib.open_available_browser("https://ge.globo.com/futebol/brasileirao-serie-a/")
lib.wait_until_element_is_visible('xpath://*[@id="classificacao__wrapper"]/article/section[1]/div/table[2]/tbody/tr')
trs = lib.find_elements('xpath://*[@id="classificacao__wrapper"]/article/section[1]/div/table[2]/tbody/tr')
for tr in trs:
tds = tr.find_elements_by_tag_name('td')
for td in tds:
print(td.text)