1

我正在使用 seleniumwebdriver.find_element_by_link_text('searchterm')来获取 webElement。然后我可以href通过使用'href'找到值,webElement.get_attribute('href')我可以通过xpath定位元素本身:

.//*[@href=webElement.get_attribute('href')]

问题是这不是我要单击的链接,我要单击的链接具有文本“谷歌阅读器”,并且是三列:

<tr id="AB2Xq4gXoer9sCEEr-rRcZjVz1p021-gdypaX-U" class="ACTIVE">
  <td class="checkbox">
    <td class="alert-type" colspan="2">
      <a href="RETRIEVABLE ATTRIBUTE">FOUND TEXT</a>
    </td>
    <td class="alert-volume">Only the best results</td>
    <td class="alert-frequency">As-it-happens</td>
    <td class="alert-delivery">
      <a href="THE ELEMENT I WANT TO CLICK">Google Reader</a>
      <a href="another link">
    </td>

这里的问题是有一系列“google reader”链接,所以这个词不能用

有没有机会通过路径导航到我想要的元素/链接?

我一直在尝试去父母那里,然后去寻找合适的孩子,但我只是没有到达那里。

感谢任何时间和帮助!

真挚地

4

2 回答 2

3

a'stext()与字符串进行比较:

 .//a[text()="Google Reader"]

要从 FOUND TEXT 获取相应的Google Reader,请使用..(parent) 和following-sibling

.//a[text()="FOUND TEXT"]/../following-sibling::td/a[text()="Google Reader"]
于 2012-11-01T10:00:44.130 回答
0

好吧,我会尝试以下方法:

String xPathLink="//a[contains(text(),'Google Reader')]"
    List<WebElement> a=driver.findElements(By.xpath(xPathLink));


      a.get(0).click();
//or         a.get(1).click();
//or         a.get(2).click();

它取决于包含“Google Reader”的元素列表中的顺序

好吧,萤火虫会给你一个关于你需要点击的元素的提示。 在此处输入图像描述

于 2012-11-01T10:25:18.077 回答