我嘗試了一些 xpath 并顯示了多個結果。我期待找到顏色為“紅色”的“LinkA”按鈕的定位器。我想在這里使用任何其他 xpath。請任何解決方案
這是我的代碼:
<table>
<thead>
<tr>
<th>Color</th>
<th>LinkName</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<span>
<button>
<span>Red</span>
</button>
</span>
</td>
<td>
<span>
<button>
<span>LinkA</span>
</button>
</span>
</td>
</tr>
<tr>
<td>
<span>
<button>
<span>Yellow</span>
</button>
</span>
</td>
<td>
<span>
<button>
<span>LinkA</span>
</button>
</span>
</td>
</tr>
<tr>
<td>
<span>
<button>
<span>Green</span>
</button>
</span>
</td>
<td>
<span>
<button>
<span>LinkA</span>
</button>
</span>
</td>
</tr>
</tbody>
</table>
在此處輸入圖片說明
uj5u.com熱心網友回復:
這個
//span[text()='Red']/ancestor::td/following-sibling::td/descendant::button
或者
//span[text()='Red']/ancestor::td/following-sibling::td/descendant::button/span[text()='LinkA']
應該足夠了。
請檢查dev tools(谷歌瀏覽器)我們是否有唯一的條目HTML DOM。
您應該檢查的 xpath :
///span[text()='Red']/ancestor::td/following-sibling::td/descendant::button/span[text()='LinkA']
檢查步驟:
Press F12 in Chrome- >去element節- >做一個CTRL F- >再貼上xpath看看,如果你需要的element是越來越強調與1/1匹配的節點。
如果我們有 1/1 匹配節點,請確保:
- 這個 div 不在 iframe 之下。
- 此 div 不在 shadow-root 下。
- 您不應該在 selenium 啟動的新選項卡/視窗上。
uj5u.com熱心網友回復:
這個 XPath 應該可以作業:
//td//span[contains(text(),'Red')]]/following-sibling::td//span
從字面上看,它發現td包含span包含Red文本。然后如果轉到td包含所需的以下兄弟LinkA
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/364302.html
