我試圖從一系列顯示在HTML表格中的通道中選擇一個通道。我用下面的方法硒選擇鏈接Selenium通過Xpath查找返回錯誤的元素
WebElement channel = driver.findElement(By.xpath("//span[contains(text(),Sales)]")); channel.click();
但是它在列表中選擇(客戶管理),而不是第一個通道。我希望它會選擇正確的頻道或發出錯誤,而不是選擇錯誤的頻道。下面是我想要的通道的完整的XPath:
/html/body/div[2]/div[2]/form/div/table/tbody[2]/tr/td/ul/li[2]/a/span
頻道列表在HTML代碼中定義是這樣的:
<form action="nextpage.do" method="post" name="selectChannelForm">
<div class="de">
<h2>Select channel</h2>
<table id="selectChannelForm">
<tbody id=""></tbody>
<tbody id="">
<tr rowtype="container">
<td class="desecond" colspan="3">
<ul>
<li>
<a id="selected_a" href="nextpage.do?selectedChannel=123">
<span>Account Management</span></a>
</li>
<li>
<a id="selected_a" href="nextpage.do?selectedChannel=456">
<span>Sales</span></a>
</li>
<li>
<a id="selected_a" href="nextpage.do?selectedChannel=789">
<span>Complaints</span></a>
</li>
</ul>
</td>
</tr>
</tbody>
</table>
<input type="hidden" value="selectChannelForm" name="formid">
</div>
哇,我現在覺得很愚蠢!我認爲長久以來看它讓我錯過了顯而易見的事實。非常感謝。 – adohertyd