首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >选择包含特定linkText的元素之前的元素

选择包含特定linkText的元素之前的元素
EN

Stack Overflow用户
提问于 2015-11-23 04:01:05
回答 2查看 185关注 0票数 4

使用selenium,我试图单击一个<td>元素,该元素出现在<td>元素之前,该元素的linkText为"Main“。我试图单击此图像中突出显示的元素:

我想单击的<td>元素和后面的元素都在同一个<tr>元素中,在图像中显示为具有id=5

此元素对应于下面高亮显示的整个行。注意它的linkText是“绿色”的,就像它下面的元素一样。因此,我不能为我想要单击的<td>元素使用xpath/css选择器。

我试着点击突出显示的“绿色”。这就是为什么我试图在以"Main“作为其<td>的元素之前单击元素的原因。

我有这段代码,但我不知道如何在该代码匹配的元素之前获得元素:WebElement templateFound = driver.findElement(By.linkText("Main"));

任何有用的东西,谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-11-23 04:12:47

您可以使用 axis

代码语言:javascript
复制
//td[following-sibling::td[1]/a = 'Main']

基本上,这将为您提供一个td元素,该元素在后面的第一个td兄弟级中具有文本“主”的链接。

或者,一旦您通过链接文本定位了链接,就可以使用preceding,这将为您提供除父td元素之外的第一个td元素:

前一个轴指示文档中上下文节点之前的所有节点,但任何祖先、属性和命名空间节点除外。

代码语言:javascript
复制
WebElement templateFound = driver.findElement(By.linkText("Main"));
templateFound.findElement(By.xpath("preceding::td"));
票数 2
EN

Stack Overflow用户

发布于 2015-11-23 04:09:30

使用XPATH应该很容易。我假设您要选择的td的文本为绿色

代码语言:javascript
复制
//a[.='Main']/../../td[.='Green']
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33863531

复制
相关文章

相似问题

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