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

在Selenium3中使用xpath定位元素时出错

邵伟泽
2023-03-14

我试图使用XPath单击一个链接(看起来像是一个选项卡按钮),但出现错误。

这是HTML片段:

<div id="tile_8" style="height: 93px; width: 26%; background-color: rgb(45, 87, 19); color: white; position: relative; float: left; margin: 10px; padding: 5px; cursor: pointer; z-index: 1; border: 2px solid white;" class="divAppList-shadow" onmouseover="mouseOvering(event,'8')" onmouseout="mouseOuting(event,'8')">
	<b>
	<span style="font-size:medium; z-index:1; color:white;">Suggestion Scheme</span>
	</b><br>
	<span style="text-align:justify; z-index:1;color:white;">There is always a better way of doing a thing. You only can suggest it for us to Improve.</span>
 </div> 

我尝试了以下代码:

driver.findElement(By.xpath("/html/body/div[5]/div[2]/div")).click();

这是一个错误:

在屏幕截图中,你可以看到,我正在尝试点击建议方案按钮链接

共有1个答案

徐嘉谊
2023-03-14

您可能不会等待页面完全加载。尝试等待页面完全加载后再尝试点击它。如果xpath是正确的,那么它就必须是正确的。

要进行测试,请使用Chrome访问网页。按F12打开开发人员的工具。转到console选项卡并键入以下内容:$X(“/HTML/Body/DIV[5]/DIV[2]/DIV”)检查结果。如果它返回正确的元素,那么您就拥有了正确的XPath。如果没有,请尝试以下操作:

如果选项1有效,只需使用by.id(“tile-8”)而不是by.xpath()

 类似资料:
  • 嗨,我是一个相当新的硒。可以有人请建议如何定位和元素在iframe asi是得到错误下面。 带有Iframe标记的DOM按钮元素的屏幕截图 以前编写的代码

  • 下面是selenium找不到元素的代码。 但不知何故,它失败了,对我不起作用。它总是给我以下例外情况:过时的元素引用:元素未附加到页面文档 添加了--GetElementStextList的代码 感谢任何帮助。谢谢

  • 我的AUT有不同的选项卡来测试和验证不同的WebElements,这些选项卡上有几乎相同的属性。我需要验证一个下拉搜索框,并验证下拉列表中的选项。我的脚本找不到这个下拉搜索框,而xpath在firebug中工作得非常好,可以识别搜索框。 显示的错误为: 请告诉我什么可能是错误的,以及为什么Selenium不能使用xpath定位元素,而它在xpath中运行良好。另外,如果我的xpath不正确,请告诉

  • 我试图引用并单击网页上的元素。 我们应该能够使用简单的XPath进行引用。例如 然而,这似乎并不奏效。 我使用的chrome扩展表示该元素不存在。 我的代码找不到元素。 下面是我使用Selenium web驱动程序的Java代码。 以下是错误: 太奇怪了!关于为什么我不能引用元素,或者为什么xPath不exist的任何想法。