我的代码如下:
package ie;
import java.io.File;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.ie.InternetExplorerDriver;
public class ieproject{
public static void main(String[] args) {
System.setProperty("webdriver.ie.driver", "D:\\Selenium\\IEDriverServer.exe");
WebDriver driver = new InternetExplorerDriver();
driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS );
try
{
driver.get("http://demo.actitime.com");
driver.findElement(By.id("username")).sendKeys("admin");
}
catch(Exception e)
{
e.printStackTrace();
}
driver.quit();
}
}
启动InternetExplorerDriver服务器(64位) 2.43.0.0 在港口35578上听 log4j:WARN没有为logger找到appender(org.apache.http.client.protocol.RequestAddCookies)。 log4j:WARN请正确初始化log4j系统。 log4j:WARN有关详细信息,请参阅/logging.apache.org/log4j/1.2/faq.html#noconfig。 org.openqa.selenium.NoSuchElementException:无法找到id == username的元素(警告:服务器未提供任何堆栈跟踪信息) 命令持续时间或超时:15.22秒 有关此错误的文档,请访问:/seleniumhq.org/exceptions/no_such_element.html 构建信息:版本:'2.43.0',修订版:'597b76b',时间:'2014-09-09 20:52:14' 系统信息:主机:'AJITKUMAR-PC',ip:'192.168.1.5',os.name:'Windows 7',os.arch:'amd64',os.version:'6.1',java.version:'1.8 .0_20' 驱动程序信息:org.openqa.selenium.ie.InternetExplorerDriver Capabilities [{browserAttachTimeout = 0,enablePersistentHover = true,ie.forceCreateProcessApi = false,ie.usePerProcessProxy = false,ignoreZoomSetting = false,handlesAlerts = true,version = 11,platform = WINDOWS,nativeEvents = true,ie.ensureCleanSession = false,elementScrollBehavior = 0,ie.browserCommandLineSwitches =,requireWindowFocus = false,browserName = internet explorer,initialBrowserUrl,takesScreenshot = true,javascriptEnabled = true,ignoreProtectedModeSettings = false,enableElementCacheCleanup = true,cssSelectorsEnabled = true,unexpectedAlertBehaviour = dismiss}] 会议ID:892cecb0-ba03-48f6-a29e-7eb7c56da813 at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) at java.lang.reflect.Constructor.newInstance(Unknown Source) 在org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:204) 在org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:156) 在org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:599) 在org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:352) 在org.openqa.selenium.remote.RemoteWebDriver.findElementById(RemoteWebDriver.java:393) 在org.openqa.selenium.By $ ById.findElement(By.java:214) 在org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:344) 在ie.ieproject.main(ieproject.java:28)
答案 0 :(得分:0)
我也遇到了IE11和Selenium的麻烦 - 有时网络驱动程序找不到元素,但在其他浏览器(chrome,firefox)中,对于相同的测试都可以正常工作。
我找到了这个解决方案:你需要创建(如果它不存在)注册表项 -
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BFCACHE
和DWORD
值,其中包含名称iexplore.exe
和值数据0。
对于x64系统 - 使用密钥HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BFCACHE