3 回答

TA貢獻1847條經(jīng)驗 獲得超7個贊
這里有幾個不同的關(guān)鍵XPath概念......
絕對vs相對XPath(/
vs .
)
/
引入絕對位置路徑,從文檔的根開始。.
從上下文節(jié)點開始引入相對位置路徑。
命名元素vs任何元素(ename
vs *
)
/ename
選擇一個ename
根元素./ename
選擇ename
當前節(jié)點的所有子元素。/*
選擇根元素,無論名稱如何。./*
或者*
選擇上下文節(jié)點的所有子元素,而不管名稱。
后代或自我軸(//*
)
//ename
選擇ename
文檔中的所有元素。.//ename
選擇ename
上下文節(jié)點或其下的所有元素。//*
選擇文檔中的所有元素,無論名稱如何。.//*
選擇上下文節(jié)點處或下方的所有元素,無論名稱如何。
考慮到這些概念,以下是您具體問題的答案......
.//*[@id='Passwd']
表示選擇當前上下文節(jié)點或其下具有id
屬性值等于的 所有元素'Passwd'
。//child::input[@type='password']
可以簡化為,//input[@type='password']
并且意味著選擇input
文檔中type
屬性值等于的所有元素'password'
。

TA貢獻1848條經(jīng)驗 獲得超10個贊
XPath中的點稱為“上下文項表達式”。如果在表達式的開頭加上一個點,它將使其特定于上下文。換句話說,它將id="Passwd"
在您調(diào)用“通過XPath查找元素”方法的節(jié)點的上下文中搜索元素。
將*
在.//*[@id='Passwd']
幫助匹配任何元素用id='Passwd'
。
添加回答
舉報