2017-10-16 69 views
0

我有一個表有一些列,最後一列有一個圖像進行刪除,它首先顯示刪除確認。如何選擇特定行並單擊該行的刪除

我知道如何像這樣

IAlert simpleAlert = driver.SwitchTo().Alert(); 
    simpleAlert.Accept(); 

但是我不知道如何通過點擊刪除圖像

在這裏刪除任何表中的可用行的JavaScript響應提示是刪除圖像標記樣子

<a id="delete34" href="delxxx?id=34" onclick="return prompt('del34')"><img src="img/delete_24.png" alt="delete" title="delete" width="24" height="24"/></a> 

最後一個數字「34」是該行的ID和動態生成,所以我如何針對任何可用行,然後單擊刪除圖像?

+2

要清楚,你需要一種通用的方法來點擊表格中一行上的刪除按鈕。那是對的嗎?如果是這樣,你如何計劃選擇行? – Haendler

+0

@Headler是的我的問題我無法找到目標任何行來測試刪除。頁面中沒有ID隱藏標籤,我無法弄清楚 – Wel

+0

您可以給的url嗎? – Kanak

回答

0

在你的代碼

IList<IWebElement> rowDeleteButtons = driver.findElements(By.XPath("//a[contains(@id,'delete')]"); 

rowDeleteButtons[0].Click(); 

應該做的伎倆。由於行ID並不重要,因此如果至少有一行,它將始終有效。

+0

我愛你... :) – Wel

+1

如果你總是選擇第一個,只需使用'.FindElement()'並點擊它即可。 'driver.findElement(By.XPath(「// a [contains(@ id,'delete')]」)。click();' – JeffC

+0

這不是一個真正的好方法,雖然它可能工作,findElement應該用於單一,獨特的元素和findElements可以用於多個元素,這樣你的代碼就可以自我解釋並反映它實際上在做什麼 –