当前位置: 首页 > 面试题库 >

在Selenium WebDriver中实现InternetExplorerDriver的过程中发生NoSuchElementException

穆远
2023-03-14
问题内容

目前,我正在使用WebDriver调用IE浏览器来运行测试。但是,NoSuchElementException当我尝试运行以下简单示例时,我收到了。

但是,如果我使用Chrome驱动程序或Firefox驱动程序,则代码运行良好。任何想法或想法将不胜感激。

罐: selenium-server-standalone-2.5.0.jar

码:

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.ie.InternetExplorerDriver;
import org.openqa.selenium.remote.DesiredCapabilities;

public static void main(String[] args) throws InterruptedException {
  DesiredCapabilities ieCapabilities = DesiredCapabilities.internetExplorer();
  ieCapabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true);
  WebDriver driver = new InternetExplorerDriver(ieCapabilities);
  driver.get("www.google.com");
  driver.findElement(By.name("q"));
}

错误信息:

Exception in thread "main" org.openqa.selenium.NoSuchElementException: Unable to find element with name == q (WARNING: The server did not provide any stacktrace information)
For documentation on this error, please visit: http://seleniumhq.org/exceptions/no_such_element.html
Build info: version: '2.5.0', revision: '13516', time: '2011-08-23 18:29:57'
System info: os.name: 'Windows 7', os.arch: 'x86', os.version: '6.1', java.version: '1.6.0_25'
Driver info: driver.version: RemoteWebDriver
    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)
    at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:131)
    at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:105)
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:409)
    at org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:197)
    at org.openqa.selenium.remote.RemoteWebDriver.findElementByName(RemoteWebDriver.java:246)
    at org.openqa.selenium.By$ByName.findElement(By.java:298)
    at org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:189)
    at lib.WebDriver2.main(WebDriver2.java:14)

问题答案:

您已明确避免必须设置IE的保护模式设置。这就是InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS功能设置所要做的。当您删除此功能设置并按照项目Wiki中的说明设置保护模式设置时,看来问题已解决。



 类似资料:
  • 我正在进行动态群集,群集成员未启动,WSVR0009E出现以下错误:启动com时出错。国际商用机器公司ws。例外运行时错误:org。天啊。科尔巴。内部:创建\u侦听器\u失败\u 4 vmcid:0x49421000次要代码:56已完成:com处无。国际商用机器公司ws。运行时。组成部分奥比普。在com上启动(orbempl.java:490)。国际商用机器公司ws。运行时。组成部分集装箱服务员。

  • 我的环境:我正在尝试通过Spark Thrift服务器连接Cassandra。然后,我在Hive Metastore中创建一个元表,其中保存了Cassandra表数据。在一个web应用程序中,我通过JDBC驱动程序连接到元表。我已经为Spark Thrift服务器启用了公平调度。 问题:当我通过JMeter为100个用户执行300秒的并发负载测试时,初始请求的响应时间为次秒(比如前30秒)。然后响

  • 我实际上有三个问题: Selenium WebDriver如何实现此 因为我们不能给无限睡眠的线程一个负值。 有没有更好的方法来实现无限等待? 我们在SeleniumWebDriver文档中看到了这一点

  • 问题内容: 我已经读过在CPython中,解释器堆栈(为此目的而调用的Python函数的列表)与C堆栈(在解释器自己的代码中调用的C函数的列表)混合在一起。如果是这样,那么如何实现生成器和协程?他们如何记住执行状态?CPython是否将每个生成器/协程的堆栈复制到OS堆栈或从OS堆栈复制?还是CPython只是将生成器的最高堆栈帧保留在堆上,因为生成器只能从该最高帧产生? 问题答案: 该指令将当前

  • 我们正在开发一个部署在Websphere Web Server上的Java EE Web应用程序。目前,需要并发执行来加快响应时间。那么在下面的选择中,哪个以及为什么会是一个更好的选择呢? 使用 使用(上述两种方法的基本用法和实现差异是什么) 还有其他选择吗?

  • 过程管理/生命周期 瀑布式开发 PCM RUP 敏捷开发 Agile & Scrum 硝烟中的Scrum和XP(http://www.infoq.com/cn/minibooks/scrum-xp-from-the-trenches) Kanban