Может ли кто-нибудь помочь мне с поиском элементов в RPAFramework

#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)