#python #python-3.x #selenium #selenium-webdriver
#python #python-3.x #селен #selenium-webdriver
Вопрос:
Пожалуйста, подскажите мне, как эффективно изменить tr[1], [2], [3] или N чисел, автоматически следуя таблице, представленной на веб-сайте
код :
browser.find_element_by_xpath('//*[@id="event"]/tbody/tr[1]/td[9]').click()
browser.find_element_by_xpath('//*[@id="event"]/tbody/tr[2]/td[9]').click()
browser.find_element_by_xpath('//*[@id="event"]/tbody/tr[3]/td[9]').click()
Ответ №1:
Попробуйте, как показано ниже:
options = browser.find_elements_by_xpath('//*[@id="event"]/tbody/tr') # this xpath should highlight all the tr tags in the DOM
for opt in options:
opt.find_element_by_xpath('./td[9]') # this should get the 9th td tag of that particular tr. Use a "." in the xpath to find element within an element.
Комментарии:
1. Большое спасибо, немыслимо
Ответ №2:
Вы можете рассмотреть возможность использования find_elements_by_xpath('.//tr')
вместо find_element_by_xpath
.
В качестве альтернативы вы можете использовать простой цикл for с исключением попытки. Это не самый элегантный способ, но он даст вам все N строк перед выходом из-за исключения.