2014-12-23 32 views
1

如何選擇圖像按鈕,看起來像下面的代碼在C#中使用Selenium。我已經使用Xpath來查找元素。使用Selenium在錨標記中選擇圖像按鈕

<a onclick="resetValues();UploadFile();" href="#"> 
    <img alt="Upload Selected" src="images/buttons/button_template.gif"> 
</a> 

這裏是我試過的Xpath。
Driver.FindElement(By.XPath(string.Format("//img[@alt='Upload Selected']/"))).Click()

+0

刪除' 「/」'你的XPath'「結束// IMG [@ ALT =」上傳選定的'] /「'並將其更改爲'// img [@ alt ='上傳選定的']'。這可能是你的代碼可能失敗的原因 – Subh

回答

4

嘗試使用下面的任何Xpath。它應該爲你工作

(By.xpath("//a[@onclick='resetValues();UploadFile();']//img")) 

(By.xpath("//img[@src ='images/buttons/button_template.gif']")) 

(By.xpath("//img[@src ='images/buttons/button_template.gif' and @alt='Upload Selected']")) 
+0

爲什麼'// img [@ alt ='Upload Selected']'應該不起作用,你必須將表達式改爲完全不同的東西? –

+0

off-course如果它的唯一屬性的值爲「上傳選定」,那麼它也可以工作。我沒有提到的原因是因爲你在你的答案中使用了相同的方法,它應該工作。 –

1

(免責聲明:我不熟悉的硒,僅使用XPath)與/結束

XPath表達式是無效的。只需在最後刪除/

Driver.FindElement(By.XPath(string.Format("//img[@alt='Upload Selected']"))).Click() 

另外,我不知道爲什麼string.Format()是在那裏,但還是那句話,我不熟悉的硒。

相關問題