簡體   English   中英

找不到ID為的元素:僅在IE上執行時才發出。 適用於Firefox

[英]Unable to find element with id : Issue only when executing on IE. Works fine for Firefox

我的代碼如下:

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找不到記錄器的附加程序(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 ==用戶名的元素(警告:服務器未提供任何堆棧跟蹤信息)命令持續時間或超時: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',操作系統名稱:'Windows 7',os.arch:'amd64',os.version:'6.1',java.version:'1.8.0_20'驅動程序信息:org.openqa.selenium.ie。 InternetExplorerDriver功能[{browserAttachTimeout = 0,enablePersistentHover = true,即forceCreateProcessApi = false,即.usePerProcessProxy = false,ignoreZoomSetting = false,handlesAlerts = true,版本= 11,平台= WINDOWS,nativeEvents = true,即.ensureCleanSession = false, elementScrollBehavior = 0,即browserCommandLineSwitches =,requireWindowFocus = false,browserName = internet Explorer,initialBrowserUrl,takesScreenshot = true,javascriptEnabled = true,ign oreProtectedModeSettings = false,enableElementCacheCleanup = true,cssSelectorsEnabled = true,unknownAlertBehaviour = dismiss}]會話ID:892cecb0-ba03-48f6-a29e-7eb7c56da813,位於sun.reflect.NativeConstructorAccessorImpl.newInstance0(NativeN)。 org的sun.reflect.DelegatingConstructorAccessorImpl.newInstance的未知源(java.lang.reflect.Constructor.newInstance的未知源)org.org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:204) .org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:156)在org.openqa.selenium.remote.RemoteWebDriver(findWebDriver.find .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(遠程 WebDriver.java:344)位於ie.ieproject.main(ieproject.java:28)

我也遇到了IE11和Selenium的麻煩-有時Web驅動程序找不到元素,但是在其他瀏覽器(chrome,firefox)中,對於相同的測試,它們都可以正常工作。

我找到了此解決方案:您需要創建(如果不存在)注冊表項HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Internet Explorer\\Main\\FeatureControl\\FEATURE_BFCACHEDWORD值,名稱為iexplore.exe ,值數據為0。

對於x64系統-使用鍵HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\Microsoft\\Internet Explorer\\Main\\FeatureControl\\FEATURE_BFCACHE

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM