我想selenium webdriver点击此链接,以便我可以继续我的项目。这是我的代码。没有错误,但它没有点击链接。
x = driver.find_element_by_xpath('/html/body/table[2]/tbody/tr[2]/td/span/
a[7]')
x.click()
这是HTML
<tr>
<td width="100%">
<span style="white-space: nowrap">
<a href="#">
<img src="https://staffmate.com/imagessm/OEA_sm_lt.gif" border="0" width="125" height="36">
</a>
<a href="#">
<img src="https://staffmate.com/imagessm/OPOS_sm_lt.gif" border="0" width="125" height="36">
</a>
<a href="#">
<img src="https://staffmate.com/imagessm/OCTR_sm_lt.gif" border="0" width="125" height="36">
</a>
<a href="#">
<img src="https://staffmate.com/imagessm/OCL_sm_lt.gif" border="0" width="125" height="36">
</a>
<a href="#">
<img src="https://staffmate.com/imagessm/OVEN_sm_lt.gif" border="0" width="125" height="36">
</a>
<a href="#">
<img src="https://staffmate.com/imagessm/OEV_sm_dk.gif" border="0" width="125" height="36">
</a>
<a href="eprintreports.php?eSessID=199495633810875522501415473608154261624185901388039708769020171218111124">
<img src="https://staffmate.com/imagessm/PREP_sm_lt.gif" border="0" width="125" height="36">
</a>
</span>
</td>
</tr>
我想点击第7个链接。我直接从Chrome的检查工具复制了xpath。我知道绝对的xpath是不可靠的,但是当没有类名,id或名字时我还能使用什么呢?非常感谢帮助。
单击<a>
标记可能无法获取所需的输出。你需要深入到<img>
标签并调用click()
如下:
driver.find_element_by_xpath("//td/span//a/img[contains(@src,'https://staffmate.com/imagessm/PREP_sm_lt.gif')]").click()
注意:我们可以将
src
属性的较短值作为PREP
,但理想情况下我们应该考虑该属性的完整value
。
尝试以下xpath:
"//a[contains(@src, 'PREP')]"