2017-03-07 71 views
0

我想在網站的表格中選擇特定的行並選擇它旁邊的按鈕。我有的問題是每次我選擇按鈕它記住最後一個按鈕的位置xpath=(//a[@id='DeleteLnkBtn'])[4],但我想按名稱選擇行,並選擇該行的唯一按鈕。有多個相同按鈕的行都具有相同的名稱(刪除)。如何選擇表格中的一行並選擇它旁邊的特定單選按鈕

HTML

<td>Auto Missed Session 2</td> <a id="DeleteLnkBtn" >Delete</a> 

我的目標是通過表中的文本引用行「自動錯過第二場」並單擊刪除按鈕。

這是我到目前爲止嘗試過的。

選項1 - driver.findElement(By.xpath("//tr/td[contains(text() = 'Auto Missed ssion 2', + 'DeleteLnkBtn')]")).click();

選項2 - driver.findElement(By.xpath("(//tr/td[contains(text(),'Auto Missed Session 2' + 'Delete')])")).click();

上述失敗,說明這不是在選項1有效的XPath expresssion和沒有這樣的元件:無法期權定位元件2

表格數據如下所示 td> Auto Missed Session 2/td> - 這是我希望選擇的表格中行的名稱。

a id= "DeleteLnkBtn"這是我想要選擇的按鈕。

按鈕的XPath是//*[@id="DeleteLnkBtn"]

感謝。

+0

你能分享'爲同HTML'代碼? – Andersson

+0

​​自動遺漏會話2 Delete Nova

回答

0

嘗試下面的代碼,讓我知道結果:

driver.findElement(By.xpath("//td[text() = 'Auto Missed Session 2']/following::a[text()='Delete']")).click(); 
+0

謝謝安德森,非常感謝。我想我的xpath寫得不好,我對此很陌生。再次感謝 – Nova

+0

嗨安德森 - 是否有可能以通過其唯一標識符來引用刪除按鈕添加多個TD如​​汽車錯過了會議2和​​2017年6月3日​​10:00:00哪會代表人,日期和時間? – Nova

+0

如果這些'td'元素是兄弟姐妹,那麼你可以嘗試'「// td [text()='Auto Missed Session 2']/following-sibling :: td [text()=」06/03/2017「 ]/follow-sibling :: td [text()=「10:00:00」]/following :: a [text()='Delete']「' – Andersson