我有一個問題,我對量角器很陌生。
我需要通過文本獲取元素,現在無法更改 UI 的構建方式以使用更好的選擇器。
所以我現在擁有的是一個span帶有文本的標簽Summary,為了使用 XPath 檢索元素,我執行以下操作:
const myElement = element(by.xpath("//span[text()='Summary']"));
當螢屏上只有一個元素時,這適用于第一次出現,但是,當有兩個元素時,它會失敗并出現以下錯誤:
- 失敗:元素不可互動
可能是因為它試圖訪問被切換的第一個元素。因此,我在閱讀時嘗試訪問元素索引:
element(by.xpath("//span[text()='Summary']")[1]);
并得到以下錯誤:
失敗:定位器無效
我在某處讀到值從 1 開始而不是從 0 開始,所以我嘗試了:
element(by.xpath("//span[text()='Summary']")[2]);
然而,我仍然遇到同樣的錯誤:
失敗:定位器無效
有沒有辦法可以達到這些第二要素?
uj5u.com熱心網友回復:
當您使用串列切片時,存在多個元素。所以你可以嘗試使用元素而不是元素
element(by.xpath("(//span[text()='Summary'])[2]");
或者
element(by.xpath("(//span[contains(text(),'Summary')])[2]");
uj5u.com熱心網友回復:
你可以試試這個 XPath,它有額外的括號,你已經差不多了。
(//span[text()='Summary'])[2]
參考: XPath 查詢以獲取元素的第 n 個實體
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/487644.html
上一篇:如何測驗HTMXGet請求?
