我在寻找XPath时感到困惑:何时开始使用//*
以及何时仅使用//
会有用。
例如,我正尝试在 https://www.myntra.com/ 上清除此问题。网站首页上有一个带有HTML代码的搜索框
<input placeholder="Search" class="desktop-searchBar" value="" data-reactid="529">
下面的XPath适用于上面的代码
//*[@class='desktop-searchBar']
我仍然感到困惑,为什么在双斜杠(*
)之后需要//
。
答案 0 :(得分:4)
//*[@class='desktop-searchBar']
表示选择所有元素,而不考虑名称,其class
属性值为desktop-searchBar
。
//input[@class='desktop-searchBar']
表示与#1相同,只是将元素命名为input
。
//[@class='desktop-searchBar']
在XPath中在语法上在语法上无效,因为它缺少必需的节点测试,例如input
(名为input
的元素)或*
(任何元素)。 / p>