選擇表裏面的祖先元素我有一個包含下面的代碼的HTML頁面:。需要與XPath
<table class="report" style="width:100%">
<tbody>
<tr>
<th/>
<th>Position Open
<br>
<span class="timestamp">27/7/2016 16:12:12</span>
</br>
</th>
<th>Position closed
<br>
<span class="timestamp">27/7/2016 16:12:42</span>
</br>
</th>
</tr>
<tr>
<td>
<span dir="ltr">EURJPY</span>
</td>
<td>116.098</td>
<td>116.156</td>
</tr>
</tbody>
</table>
在這個頁面上我有相同的類屬性「報告」,但僅此表中的另一表中包含文本「位置打開「和」位置關閉「。 我需要選擇包含「EURJPY」,「116.098」和「116.156」數據的元素。 這些元素的內容,即改變的,而不是「歐元兌日元」可能出現「歐元兌美元」或「GBPCAD」等 我嘗試下面的代碼:
driver.findElement(By.xpath("//span[text()='Position Open']/ancestor::table[@class='report'](//tr)[2]/td/span")).getAttribute("textContent");
拿到第一必填字段的文本,但得到了Invalid selector
錯誤。
我想你應該試着去掉括號中的'(// tr)' – Andersson
你的xpath和你的需求的邏輯很清楚。你的意思是「職位空缺」*或*「職位空缺」?你的嘗試只測試位置打開。另外,你說你想選擇元素,但FindElement()只選擇一個元素,而你的示例建議你只需要包含在span中的文本。 –