有 Java 經驗,對 Selenium、定位器等很陌生。
一些 HTML 中深埋著幾個類似的劃分:
<div tabgroup="topTabs__County Summary" sectiongroup class="field TextDescription tab">
<label for="request_48543">
<span class="label">Monument</span>
</label>
</div>
<div tabgroup="topTabs__County Summary" sectiongroup class="field DropDownList readonly tab">
<label for="request_48543">
<span class="label">Geolocation</span>
</label>
</div>
<div tabgroup="topTabs__County Summary" sectiongroup class="field SingleLineText tab">
<label for="request_48543">
<span class="label">Intersection</span>
</label>
</div
我需要一些 Selenium 魔法來找到具有特定值的標簽,然后回溯以找到該標簽的除法,并從該除法中提取給定屬性的值。向下鉆取似乎相當容易,但如何“備份”?
例如,給定“地理位置”,我想提取“欄位 DropDownList 只讀選項卡”
我試過這樣的事情
WebElement chill = m.findElement(By.xpath("../..//span[text='Geolocation']"));
無濟于事
uj5u.com熱心網友回復:
你顛倒了去父元素的順序,你需要()在text. 該xpath應
"//span[text()='Geolocation']/../.."
另一種選擇是尋找一個帶有“地理位置”文本的元素
"//div[.//span[text()='Geolocation']]"
這可能會給你更多的結果,取決于不在問題中的 html 結構。在這種情況下,您可以添加唯一屬性,例如tabgroup
"//div[.//span[text()='Geolocation']][@tabgroup]"
這將只回傳<div>具有tabgroup屬性的標簽。
要提取資料的使用getAttribute("class")上chill WebElement
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/355901.html
