1.driver.findElement(By.name("wd")).sendKeys("selenium");
報(bào)錯(cuò):The method sendKeys(CharSequence[]) in the type WebElement is not applicable for the arguments (String)
原因:舊版本的Java不理解非隨機(jī)變量參數(shù)
解決方法:在工程上點(diǎn)擊右鍵選擇Properties -> Java Compiler,選擇1.7版本
2.selenium在IE11上報(bào)錯(cuò)“找不到元素”
IE11不支持Selenium 2.0,在什么情況下不支持呢?比如:通過(guò)WebDriver獲取頁(yè)面上的元素時(shí),經(jīng)常會(huì)捕獲到這樣的異常:
OpenQA.Selenium.NoSuchWindowException: Unable to find element on closed window
at OpenQA.Selenium.Remote.RemoteWebDriver.UnpackAndThrowOnError(Response errorResponse) in c:ProjectswebdriverdotnetsrcwebdriverRemoteRemoteWebDriver.cs:line 1139
解決方法:
For IE 11 only, you will need to set a registry entry on the target computer so that the driver can maintain a connection to the instance of Internet Explorer it creates. (這段告訴你需要修改注冊(cè)表。)
For 32-bit Windows installations, the key you must examine in the registry editor is HKEY_LOCAL_MACHINESOFTWAREMicrosoftInternet ExplorerMainFeatureControlFEATURE_BFCACHE.(32bit Windows看這里。)
For 64-bit Windows installations, the key is HKEY_LOCAL_MACHINESOFTWAREWow6432NodeMicrosoftInternet ExplorerMainFeatureControlFEATURE_BFCACHE. Please note that the FEATURE_BFCACHE subkey may or may not be present, and should be created if it is not present. Important: Inside this key, create a DWORD value named iexplore.exe with the value of 0.(64bit Windows看這里。)
翻譯過(guò)來(lái)的意思即,修改你的注冊(cè)表(Run->regedit->Enter),路徑如下:
HKEY_LOCAL_MACHINESOFTWAREWow6432NodeMicrosoftInternet ExplorerMainFeatureControlFEATURE_BFCACHE
如果FeatureControl下沒(méi)有FEATURE_BFCACHE,以FEATURE_BFCACHE為名new一個(gè)key!并在其下創(chuàng)建一個(gè)DWORD,取名為:iexplore.exe,value為0。
修改完你的注冊(cè)表后,重啟你的計(jì)算機(jī)。之后以管理員權(quán)限運(yùn)行Visual Studio(或者eclipse),打開(kāi)你的項(xiàng)目,運(yùn)行,你會(huì)發(fā)現(xiàn),問(wèn)題解決了。(注意:如果不使用管理員身份運(yùn)行將仍然報(bào)錯(cuò)。)