XPath // * vs //元素vs //

时间:2018-09-03 03:46:07

标签: html xml selenium-webdriver xpath

我在寻找XPath时感到困惑:何时开始使用//*以及何时仅使用//会有用。

例如,我正尝试在 https://www.myntra.com/ 上清除此问题。网站首页上有一个带有HTML代码的搜索框

<input placeholder="Search" class="desktop-searchBar" value="" data-reactid="529">

下面的XPath适用于上面的代码

//*[@class='desktop-searchBar']

我仍然感到困惑,为什么在双斜杠(*)之后需要//

1 个答案:

答案 0 :(得分:4)

  1. //*[@class='desktop-searchBar']

    表示选择所有元素,而不考虑名称,其class属性值为desktop-searchBar

  2. //input[@class='desktop-searchBar']

    表示与#1相同,只是将元素命名为input

  3. //[@class='desktop-searchBar']

    在XPath中在语法上在语法上无效,因为它缺少必需的节点测试,例如input(名为input的元素)或*(任何元素)。 / p>