2017-01-15 49 views
0

使用C#我試圖單擊有這個文本元素:如何點擊基於href文本的元素?

<a target="_blank" href="http://client.mysite.com/nimda/settings.php?campaign=level+1;uid=vmrgssaxs8wkb45oy77pl5xuu&amp;id=172806#rotate"><img alt="Click to edit the rotator settings" title="Click to edit the rotator settings" src="../gfx/icons/small/rotation.png"></a> 

所以我想用這句話:

driver.FindElement(By.XPath("(//a[contains(@href, 'level 1')]")).Click(); 

,但我得到無效的表達,爲什麼?

請注意,我想因爲有在頁面許多元素都有,除了href的值

回答

0

相同的屬性有一個與支架

driver.FindElement(By.XPath("//a[contains(@href, 'level 1')]")).Click(); 

順便說一個問題,使用XPath ,您可以通過使用CssSelector

driver.FindElement(By.CssSelector("[href*='level 1']")).Click(); 
+0

href屬性找到元素,我不得不寫這樣'級+ 1'值 – Wel