如何使用Selenium通過索引選擇Xpath節點集中的指定節點?我正在寫一個Selenium測試用例。這是我用來匹配數據表中所有“修改”按鈕的xpath表達式。//img[@title='Modify']我的問題是,如何通過索引訪問匹配的節點集?我試過了//img[@title='Modify'][i]和//img[@title='Modify' and position() = i]但是都不起作用..我也試過XPath checker(一個firefox擴展)。發現總共有13個匹配,然后我完全不知道如何選擇其中一個.. 或者XPath是否支持指定選擇不在同一父節點下的節點?
3 回答

12345678_0001
TA貢獻1802條經驗 獲得超5個贊
這是一個FAQ:
//someName[3]
意味著:someName
文檔中的所有元素,即someName
父元素的第三 個子元素 - 可能有許多這樣的元素。
你想要的正是第3個someName
元素:
(//someName)[3]
說明:[]
優先級高于(優先級)//
。//someName
當您需要指定所選節點列表的第N個節點時,請記住始終將類型的表達式放在括號中。

動漫人物
TA貢獻1815條經驗 獲得超10個贊
i
在XPath中沒有。
要么使用文字數字: //img[@title='Modify'][1]
或者動態構建表達式字符串:( '//img[@title='Modify']['+i+']'
但請記住,動態XPath表達式在XSLT中不起作用)。
或者XPath是否支持指定的不在同一父節點下的節點選擇?
是: (//img[@title='Modify'])[13]
這//img[@title='Modify'][i]
意味著“任何<img>
標題為'Modify'且名為的子元素<i>
?!?/p>

撒科打諢
TA貢獻1934條經驗 獲得超2個贊
//img[@title='Modify'][i]
是的縮寫
/descendant-or-self::node()/img[@title='Modify'][i]
因此返回同一父節點下的第i個節點。
你要
/descendant-or-self::img[@title='Modify'][i]
添加回答
舉報
0/150
提交
取消