1

我必须找出 XPath 的代码:

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

使用萤火虫的 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]/input

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

请告知如何使用标准语法找到更短的 XPath?

4

3 回答 3

6

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

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

 1. "//input[@value='Manage Users']"
 2. "//input[contains(@onclick,'redirectToUserList')]"
 3. "//input[@type='button' and @class='btnManage']"
于 2012-10-07T14:16:54.607 回答
5

You do not need to search for id or name, you can search for any attribute.

For example:

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

which sounds unique

于 2012-10-07T14:11:09.320 回答
0

作为上面给出的答案的插件,任何特定属性(如 id 或 name)都不是必需的。

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

如果任何属性不会与其他定位器混淆,您可以毫无顾虑地选择它。

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

您还可以使用其他插件,例如 Xpath Checker 等。

于 2012-10-08T07:02:52.280 回答