首页 > 解决方案 > 在 a 下找到一个元素

标签如图

问题描述

这是 HTMl 代码,我想得到“1”等所有写在嵌套<li> <a>标签中的值

这是HTML代码,我想得到

我努力了

total = driver.find_element_by_xpath("//a[text()='...']/following-sibling::a").text

totl = WebDriverWait(driver, 20).until(EC.presence_of_all_elements_located((By.XPATH, "//div[@class='ng-binding']")))
print (totl.text)

但没有任何效果。如果你让我出去,那将是一个很大的帮助。

标签: pythonseleniumtagselement

解决方案


为了能够获取文本 WebElement 应该是可见的,这就是为什么要等待所有元素的可见性。获取所有a元素的代码示例(totallistWebElements 的一个):

total = WebDriverWait(driver, 20).until(EC.visibility_of_all_elements_located((By.CSS_SELECTOR, 'ul[uib-pagination] li a')))

# or

total = WebDriverWait(driver, 20).until(EC.visibility_of_all_elements_located((By.CSS_SELECTOR, 'li.pagination-page a')))

从以下位置获取文本total

# texts of all links in total
total_texts = [element.text from element in total]
print(total_texts)

# text of the first one
first_page_number = total[0].text

# text of the last one
last_page_number = total[-1].text

推荐阅读