Selenium不会点击,也不会点名,ID或类

问题描述 投票:0回答:2

我想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或名字时我还能使用什么呢?非常感谢帮助。

python-3.x selenium-webdriver
2个回答
1
投票

单击<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


0
投票

尝试以下xpath:

"//a[contains(@src, 'PREP')]"
© www.soinside.com 2019 - 2024. All rights reserved.