首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >探索我的前进之路

探索我的前进之路
EN

Stack Overflow用户
提问于 2012-11-01 17:53:00
回答 2查看 91关注 0票数 1

我正在使用selenium的webdriver.find_element_by_link_text('searchterm')来获取webElement。然后,我可以通过使用带有'href‘的webElement.get_attribute('href')来找到XPath值。我能够通过href找到元素本身:

代码语言:javascript
运行
复制
.//*[@href=webElement.get_attribute('href')]

问题是,这不是我想要点击的链接,我想点击的链接的文本是“google reader”,而且还有三栏:

代码语言:javascript
运行
复制
<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阅读器“链接,所以这个术语不能使用

有没有可能通过path向下导航到我想要的元素/链接?

我一直在试着找到父母,然后再找到合适的孩子,但我就是没能做到。

感谢给予的任何时间和帮助!!

由衷地

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-11-01 18:00:44

atext()与字符串进行比较:

代码语言:javascript
运行
复制
 .//a[text()="Google Reader"]

要将找到的文本转换为相应的Google Reader,请使用.. (父级)和following-sibling

代码语言:javascript
运行
复制
.//a[text()="FOUND TEXT"]/../following-sibling::td/a[text()="Google Reader"]
票数 3
EN

Stack Overflow用户

发布于 2012-11-01 18:25:18

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

代码语言:javascript
运行
复制
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‘的元素列表中的顺序

firebug会给你一个关于你需要点击的元素的提示。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13174558

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档