Python Selenium,select html DOM 中的下一个元素
Python Selenium, select the next element in html DOM
我必须在页面上进行一些自动化。
该页面由 table 组成,其中每个 td 元素中我有 2 个 a 标签,第一个带有 class , 第二个没有 class 或 id.
我可以很容易地 select 带有 class 的那个,但是如何得到另一个呢?有没有办法 select 像 css 中的另一个元素旁边的元素?
这是页面结构的草稿
<table>
<tr>
<td>
<a class="mylink"> element 1 </a>
<a>
<img src="">
</a>
</td>
</tr>
<tr>
<td>
<a class="mylink"> element 2 </a>
<a>
<img src="">
</a>
</td>
</tr>
</table>
我可以select第一个
fileLinkClass = "mylink"
driver.find_element(by=By.CLASS_NAME, value=fileLinkClass)
但我需要 select 并单击没有 class 的 link。我怎样才能做到这一点?
非常感谢
尝试使用 css 选择器
对于单个元素选择
driver.find_element(By.CSS_SELECTOR,'.mylink + a')
多元素选择
driver.find_elements(By.CSS_SELECTOR,'.mylink + a')
点击创建列表切片然后点击。例如:
element = driver.find_elements(By.CSS_SELECTOR,'.mylink + a')
element = element[0].clik()
element = element[1].clik()
您可以使用 xpath 选择器
'//td/a[2]'
查找 'td'
下的所有第二个 'a'
我必须在页面上进行一些自动化。 该页面由 table 组成,其中每个 td 元素中我有 2 个 a 标签,第一个带有 class , 第二个没有 class 或 id.
我可以很容易地 select 带有 class 的那个,但是如何得到另一个呢?有没有办法 select 像 css 中的另一个元素旁边的元素?
这是页面结构的草稿
<table>
<tr>
<td>
<a class="mylink"> element 1 </a>
<a>
<img src="">
</a>
</td>
</tr>
<tr>
<td>
<a class="mylink"> element 2 </a>
<a>
<img src="">
</a>
</td>
</tr>
</table>
我可以select第一个
fileLinkClass = "mylink"
driver.find_element(by=By.CLASS_NAME, value=fileLinkClass)
但我需要 select 并单击没有 class 的 link。我怎样才能做到这一点? 非常感谢
尝试使用 css 选择器
对于单个元素选择
driver.find_element(By.CSS_SELECTOR,'.mylink + a')
多元素选择
driver.find_elements(By.CSS_SELECTOR,'.mylink + a')
点击创建列表切片然后点击。例如:
element = driver.find_elements(By.CSS_SELECTOR,'.mylink + a')
element = element[0].clik()
element = element[1].clik()
您可以使用 xpath 选择器
'//td/a[2]'
查找 'td'
下的所有第二个 'a'