提问人:Shaun Potts 提问时间:11/13/2023 更新时间:11/14/2023 访问量:25
使用 Selenium find 元素在网页上获取第 3 个元素(表)
Get the 3rd element (table) on webpage using Selenium find element
问:
table = driver.find_element(By.XPATH, "//table")
这有效,但在网页上找到第一个表,页面上有三个,我想要第三个,我怎样才能找到第三个表元素,或者以其他方式唯一标识并找到正确的表?
<table class="sortable" id="results" cellspacing="4" cellpadding="0" align="center" border="0">
<caption>...</caption>
<thread>...</thread>
<tbody>...</tbody>
</table>
</div>
<br>
<div>
<table class="sortable" id="results" cellspacing="4" cellpadding="0" align="center" border="0">
答:
1赞
Shawn
11/13/2023
#1
(//table)[1]
- 这将在 DOM 中找到第一个表,这将在 DOM 中找到第二个表,依此类推。(//table)[2]
请尝试以下方法找到第三个表:
third_table = driver.find_element(By.XPATH, "(//table)[3]")
1赞
Programmer0403
11/14/2023
#2
或者您可以使用 id:
third_table = driver.find_element(By.ID, "results")
您也可以使用完整的 XPath,但不能保证如果 DOM 更改,它将保持不变。
评论