当前位置: 首页 > 知识库问答 >
问题:

Selenium查找没有属性但父元素具有相同属性的元素

甘英光
2023-03-14

我试图找到一个没有属性的元素的XPath。它只能通过其父级的属性来识别。然而,父级也不具有唯一属性。

例如:/*[@id=“btn”][1]/ul/li[2]/a/span

这里有两个元素id=btn。如何获得第二个元素。上面的语法为我提供了第一个元素。。但是,如果我使用:

//*[@id="btn"][2]/ul/li[2]/a/span

我得到一个错误消息"xpath表达式 '//*[@id="btn"][2]/ul/li[2]/a/span'无法计算或不会导致WebElement"

共有1个答案

子车俊哲
2023-03-14

试试这个,你先选择这两个,然后用括号括起来并给它们编索引。

 (//*[@id="btn"]/ul/li[2]/a/span)[2]

顺便说一下,如果有多个元素共享相同的ID,这不是一个好的实践,如果你是开发者,可以考虑改变它们。

 类似资料:
  • 问题内容: 我是AngularJS的新手。我了解到可以使用以下查询在DOM中找到元素: 这对于按ID或CSS类名查找元素很有用。但是,我需要能够使用其他方法来查找元素。我有一个看起来像下面的元素: 我无法查询“ myContainer”,因为它已被重用了多少。因此,我想找到任何具有“ my- directive”属性的元素。如何搜索DOM并找到任何使用“我的指令”的元素? 问题答案: 您应该在指令

  • 问题内容: 我正在尝试查找具有Attribute的元素。好吧,我可以在Selenium中找到具有Id,tagName,Xpath和所有其他预定义方法的元素。但是,我正在尝试编写一种方法,该方法将给定属性名称和值作为输入专门返回WebElement。 假设XPath不是一个选择,还有其他更好的方法吗? 问题答案: 您可以使用CSS轻松完成此任务。 公式为: 所以如果有的话 您可以使用以下方法找到它:

  • 我正在尝试查找具有属性的元素。我可以在Selenium中找到Id、tagName、Xpath和所有其他预定义方法的元素。但是,我正在尝试编写一个方法,专门返回WebElement,给定属性名和值作为输入。 假设XPath不是一个选项,还有其他更好的方法吗?

  • 问题内容: 我正在考虑编写可产生具有重复属性的HTML标签的代码,如下所示: 这是合法的HTML吗?-值之一优先于另一个吗?我可以依靠半现代的浏览器(IE> = 9)来解析它而不会窒息吗? 还是我要在这里做一些真正愚蠢的事情? 问题答案: 在一个元素中两次具有相同的属性名称是无效的。对此的权威性参考有些复杂,因为旧的HTML版本名义上是基于SGML,而对SGML标准的规范性引用暗含了这种限制。在H

  • 问题内容: 在Python Selenium模块中,一旦有了对象,我可以使用以下命令获取其任何属性的值: 如果命名的属性不存在,则返回。 我的问题是,如何获取元素具有的所有属性的列表?似乎没有或方法。 我正在为Python使用Selenium模块的2.44.0版本。 问题答案: 这是 不可能的 使用硒webdriver的API,但你可以_执行JavaScript代码_来获取所有属性: 演示: 为了

  • 问题内容: 我有一个这样的html代码段: html中此元素的唯一唯一标识是attribute ,因此我想使用 某种 Pythonselenium 方法 来定位它,如下所示: 我已经检查了selenium(python)文档以查找元素, 但是没有获得关于如何通过attr 定位此elem的线索。有没有在pythonselenium中找到该元素的明确方法? 问题答案: 您可以 通过xpath 获取它并