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

如何使用XPath查找具有相同信息的两个不同元素

乜栋
2023-03-14

我试图找到在同一页中重复自身的元素。我尝试使用在FirePath中找到的以下XPath,但在selenium自动化测试中没有成功运行它。

以下是两个XPath:

//div[@id='selectGenericMult']/child::div/child::input']

(//*[@id='selectGenericMult']/child::div/child::input)[last()]

这是我页面上的信息:

<input class="ui-select-search input-xs ng-pristine ng-valid ng-touched" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" placeholder="Selecione" ng-disabled="$select.disabled" ng-hide="$select.disabled" ng-click="$select.activate()" ng-model="$select.search" role="combobox" aria-label="Select box" ondrop="return false;" style="width: 1331px;" type="text"/>

带有两个字段和部分超文本标记语言代码的截图

第一个屏幕截图上显示了另一个包含两个输入文本的HTML代码的屏幕截图

共有3个答案

龙新荣
2023-03-14

要根据您提供的HTML查找元素,可以使用以下唯一的xpath:

//input[@class='ui-select-search input-xs ng-pristine ng-valid ng-touched'][@placeholder='Selecione']
吕俊哲
2023-03-14

使用以下Xpath

//input[@class='ui-select-search input-xs ng-pristine ng-valid ng-touched' and @role='combobox' and @aria-label='Select box']

它将返回具有相同标记的所有元素

希望对你有帮助:)

商迪
2023-03-14

好的,所以我终于有时间看了一下(不是真的,但腾出了时间),根据你的屏幕截图,这应该对这两个元素都有效。你可能需要稍微调整一下,希望不是这样。

第一要素:

//div[contains(@class,"ng-scope")]//input

第二要素:

//div[@class="col-md-12"]//input

我对它们进行了测试,结果很好。如果对你不起作用,请告诉我。

我建议您研究xpath的工作原理并加以研究,一旦掌握了诀窍,它实际上非常有趣。只需一些简单的参数,就可以在屏幕上找到任何内容。

祝你好运

 类似资料:
  • 问题内容: 我如何测试python中两个JSON对象是否相等,而忽略列表的顺序? 例如 … JSON文档a: JSON文档b: 并且应该比较相等,即使列表的顺序不同。 问题答案: 如果你想要两个具有相同元素但顺序不同的对象相等,那么显而易见的事情是比较它们的排序后的副本-例如,以JSON字符串和表示的字典: …但这是行不通的,因为在每种情况下,”errors”顶层dict的项都是具有相同元素的列表

  • 我试图在Android 5.1设备上获得MCC和MNC号码(基本上我想要IMSI号码,但这些也足够了),该设备具有双Sim卡(两个都是活动的)。由于5.1支持双Sim卡,因此我使用的Subscription manager如下: 得到了这个输出的结果: MCC(将与同一国家相同)注意到跨国公司是相同的,尽管运营商不同。 当我关掉电话时,我在日志中看到了这样一行: 正如您所看到的,keyguard应

  • 问题内容: 我如何测试python中两个JSON对象是否相等,而忽略列表的顺序? 例如 … JSON文档 a : JSON文档 b : 并且即使列表的顺序不同,也应该比较相等。 问题答案: 如果要使两个具有相同元素但顺序不同的对象相等,那么显而易见的事情是比较它们的排序后的副本-例如,以JSON字符串和表示的字典: …但这是行不通的,因为在每种情况下,顶层dict的项都是具有相同元素的列表,但是顺

  • 问题内容: 如何在不同的程序包中访问两个具有相同名称的类? 和 所有这些都在同一个班级 谢谢。 问题答案: 您将必须导入另一个,您将编写完全合格的路径 例如在您的代码中:

  • 我得到了一个表从SELECT查询1如下从SQL服务器: 我从SQL Server的SELECT query 2中获得了一个表,如下所示: 我想将这些SELECT查询加入到一个SELECT查询中,如下所示: 我试着这样: 但它不起作用,这不是我想要加入的实际表。 基本上,我想连接两个具有相同列名但它们之间没有公共值的SELECT查询。我想使用连接表中的SELECT查询。 提前谢谢你。

  • 我用的是spring soap ws。 我有以下对应于复杂类型的JAXB域类 我有以下带有@XmlRegistry注释的类 以下是endpoint 当我发出 Soap 请求时,我正在使用 soap 请求中的终结点中给出NAMESPACE_URI。 在这里,在这种情况下,我得到以下回应 如果我使用"超文本传输协议://命名空间/url"作为NAMESPACE_URI在endpoint和肥皂请求我得到