亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何找到孫(?)元素的Xpath

如何找到孫(?)元素的Xpath

人到中年有點甜 2023-08-04 10:03:24
我是 Selenium 的新手,很難弄清楚如何編寫 xpath。我能夠找到以下 xpath 的元素://*[@id="validation-item-0"]/div[3]/div/div[2]/ul/li[16]我如何在java中編寫代碼以根據上面的xpath找到以下xpath?//*[@id="validation-item-0"]/div[3]/div/div[2]/ul/li[16]/ul[1]/li/ul/li[4]作為新手,我對 ul 和 li 項目真的很困惑。任何幫助,將不勝感激。謝謝。
查看完整描述

1 回答

?
冉冉說

TA貢獻1877條經驗 獲得超1個贊

根據XPath 語法文章

.- 選擇當前節點

因此,您應該能夠搜索相對于前一個元素的下一個元素,例如:

WebElement?element1?=?driver.findElement(By.xpath("http://*[@id='validation-item-0']/div[3]/div/div[2]/ul/li[16]"));
WebElement?element2?=?element1.findElement(By.xpath("./ul[1]/li/ul/li[4]"));

我建議擺脫這個div[3],li[16]等等,因為即使是輕微的標記變化也會破壞你的表達和測試。?請注意,您可以像后代一樣使用XPath 軸,這樣您的表達會更加健壯和可靠

另外,這ul[16]看起來不太好,<ul>標簽代表無序列表,所以我的期望是你不應該使用索引,而應該堅持使用元素文本,例如:

WebElement?myElement?=?driver.findElement(By.xpath("http://ul[contains(text(),'element?text?here')]"));

其中contains()是可用于文本部分匹配的XPath 函數


查看完整回答
反對 回復 2023-08-04
  • 1 回答
  • 0 關注
  • 120 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號