2011-06-30 25 views
2
不選擇

我使用C#下面的代碼以選擇下拉列表中的值:硒2 - C#SelectElement在Chrome

new SelectElement(driver.FindElement(By.Name("element"))).SelectByIndex(2); 

這適用於Firefox和IE8,但無法與Chrome,沒有得到選擇。是否有任何與SelectElement有關的問題?任何替代品讓它在Chrome中工作?

我使用的是獨立服務器2.0rc3和Chrome 12

+0

你能夠執行找到By.Id( )而不是?我發現Firefox驅動似乎是最穩定的,並且Chrome往往會出現這些偶爾的不一致(可能由於它們的不斷更新而加劇) –

+0

該元素只有一個名稱,我嘗試了XPath,而不是骰子 – prestomanifesto

回答

1

這是一個已知的問題與Chrome的驅動程序。在2.0RC3中不推薦使用IWebElement.Select()和.Toggle()方法,而是要求使用.Click()。 SelectElement支持類已更新以處理此更改;然而,ChromeDriver.exe(由Chromium團隊構建並提供)尚未趕上。因此,在元素上使用IWebElement.Click()在Chrome中尚不可行。

+0

這已被修復在2011年7月7日發佈的Chrome驅動程序中,歡呼! http://code.google.com/p/chromium/downloads/list – prestomanifesto

1

其他任何人有這個問題,我解決它通過單擊的元素和發送鍵選擇的價值,所以是這樣的:

driver.FindElement(By.Name("element")).Click(); 
driver.FindElement(By.Name("element")).SendKeys("some value");