2015-10-14 76 views
1

我正在使用Selenium C#自動化網站。嘗試使用CSS選擇器單擊元素時,出現NoSuchElementException。但是當我使用xpath的時候,事情正在起作用。任何人都可以幫助我理解爲什麼我在使用CSS選擇器時遇到此問題。Selenium Webdriver C#:: CSS選擇器在Internet Explorer中無法正常工作

使用的Xpath值。使用

//*[@id="primary-navigation"]/ul/li[2]/a

CSS選擇器值。

#primary-navigation > ul > li:nth-child(2) > a

+0

'li:nth-​​child(n)'!='li [n]' – sircapsalot

回答

2

的XPath li[2]給你第二個li元素

CSS li:nth-child(2)給你li元素是其父的第二個孩子

例如

<ul> 
    <p> something </p> 
    <li> this will be returned </li> 
</ul> 

這裏xpath li[2]將不會返回任何內容(或錯誤/異常),原因只有一個li元素

但CSS li:nth-child(2)將返回li元素,因爲它是父UL的第二個孩子

所以最有可能的選擇都工作正常,你就不能的XPath之間的「翻譯」和css選擇器「直接」

相關問題