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

如何为没有id或名称的复杂标签找到XPath

孟思远
2023-03-14

我必须找出XPath的代码:

<td>
<input type="button" onclick="redirectToUserList(5);" class="btnManage" value="Manage Users" style="background-color: transparent;">

使用firebug,XPath是:

/html/body/div/div/div[4]/table/tbody/tr/td/table/tbody/tr[2]/td/div/table/tbody/tr/td
/table/tbody/tr[5]/td/div/div/form/table/tbody/tr[2]/td[4]/输入

但我如何能有一个更短的XPath?例如,我希望下面可以运行://input[@value='Manage Users']

请建议如何使用标准语法查找较短的XPath?

共有3个答案

辛成周
2023-03-14

作为上面给定答案的附加项,任何特定属性(如id或name)都是不必要的。

我们主要采用id和value来唯一标识元素,因为其他属性也可能指定其他一些定位器。

如果任何属性不会与其他定位器产生混淆,您可以放心地选择它。

最后,如果您不太擅长编写xpath,也不喜欢firebug提供的大型xpath,只需安装一个名为Firepath的firebug插件,它将为您提供最短的可行xpath。

您还可以使用其他插件,如Xpath检查器等。

司空朝
2023-03-14

您不需要搜索id或name,您可以搜索任何属性。

例如:

  //input[@value="Manage Users"]

听起来很独特

韩善
2023-03-14

不强制使用id或名称。可以使用该元素的任何属性。

以下是给定定位器的不同xpath

 1. "//input[@value='Manage Users']"
 2. "//input[contains(@onclick,'redirectToUserList')]"
 3. "//input[@type='button' and @class='btnManage']"
 类似资料:
  • 我试图找到一种方法来点击“X”按钮,但我找不到方法来点击这个按钮。 元素副本: Xpath: Css选择器: 尝试: 进口: 从selenium从selenium导入webdriver。网络驱动程序。常见的密钥从selenium导入密钥。网络驱动程序。支持ui导入从selenium中选择。网络驱动程序。常见的由硒进口。网络驱动程序。支持ui从selenium导入WebDriverWait。网络驱动

  • 问题内容: 我是Selenium webdriver的新手。我正在开发一个应用程序,其中单击一个按钮将弹出一个用于创建新文件夹的窗口。在此弹出窗口中,我们需要填写几个输入字段,选中几个框,然后单击“创建”按钮以创建文件夹。我试图单击复选框,然后单击创建。复选框没有名称,文本,标签。我尝试使用CSS选择器,但是该元素的以下xpath无效。使用xpath运行时,出现异常错误,提示“无法定位元素”。 这

  • 问题内容: docker inspect命令对于在Docker映像上获取标签非常有用: 对于简单的标签名称,inspect命令有一个不错的选项(使用Go模板)。 但是,如何访问名称中带有点的标签? 我正在用bash脚本编写此文件,如果可能的话,我希望避免在其中重新解析JSON输出。 问题答案: 该功能是我想要的。它可以在映射中查找任意字符串。

  • 问题内容: docker inspect命令对于在Docker映像上获取标签非常有用: 对于简单的标签名称,inspect命令有一个不错的选项(使用Go模板)。 但是,如何访问名称中带有点的标签? 我正在bash脚本中编写此代码,如果可能的话,我希望避免在其中重新解析JSON输出。 问题答案: 该功能是我想要的。它可以在映射中查找任意字符串。

  • 本文向大家介绍如何在R中找到没有分位数名称的分位数?,包括了如何在R中找到没有分位数名称的分位数?的使用技巧和注意事项,需要的朋友参考一下 R中的分位数的计算非常简单,我们只需要使用分位数功能,它就会返回所有分位数为0%,25%,50%,75%和100%的分位数。如果我们要避免打印这些分位数的名称,则可以将name = FALSE与分位数功能一起使用。例如,如果我们有一个叫做x的向量,那么没有名字

  • 再次执行项目D:\Profile\中的任务:[clean,:App:AssembleDebug] 任务:清除最新任务:App:清除任务:App:预生成最新任务:App:预调试生成最新任务:App:预调试生成最新任务:App:GenerateDebugBuildConfig任务:App:CompileDebugAIDL无源任务:App:CompileDebugrenderScript无源任务:App