当前位置: 首页 > 知识库问答 >
问题:

使用Internet Explorer驱动程序在Selenium中找不到任何元素

徐焱
2023-03-14

我无法让Selenium使用Internet Explorer驱动程序识别任何元素,无论使用的页面或选择类型如何。

String iedriver = "C:\\selenium-server\\IEDriverServer.exe";
System.setProperty("webdriver.ie.driver", iedriver);
WebDriver driver = new InternetExplorerDriver();
driver.get("http://www.google.com");
WebElement element = driver.findElement(By.xpath("//body"));

通过xpath进行选择得到org。openqa。硒。InvalidSelectorException:无法计算xpath表达式“//body”,或者不会生成WebElement。其他选择类型也失败:

WebElement element = driver.findElement(By.cssSelector("body"));

WebElement element = driver.findElement(By.tagName("body"));

 WebElement element = driver.findElement(By.name("q"));

通过CSS选择器,名称或标记名称始终显示为org。openqa。硒。无接触异常

所有选择都可以很好地与Firefox驱动程序、Chrome驱动程序甚至Html单元驱动程序配合使用。

浏览器正确启动,页面按预期加载。驾驶员getCurrentUrl();还有司机。getPageSource();返回预期值。

我尝试在选择元素之前引入显式和隐式等待,但没有效果,使用

Thread.sleep(10000); 

WebDriverWait(driver,60).until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//body")));

还尝试单步执行代码以手动等待显示元素。

我尝试过的其他事情包括1)在所有区域中将安全设置设置为相同的级别2)禁用增强保护模式3)在注册表中设置FEATURE\u BFCACHE

我使用的是Selenium和IEDriverServer版本2.41。在本地和远程运行时都观察到这个问题。环境是在使用IE10 64位和IEDriverServer 64位的视窗7 64位上。在使用IEDriverServer 32位的IE11 32位上也观察到同样的问题。我在这里使用www.google.com作为公开可见的测试,但在我们的内部站点上也观察到这个问题。

共有3个答案

吕作人
2023-03-14

对我起作用的是本页底部提到的解决方案:运行本地HTML页面

要解决此问题,请转到“工具”菜单中的“Internet选项”(或更新版本中的齿轮图标)。打开“高级”选项卡。向下滚动至“安全”并选择“允许活动内容在我的计算机上的文件中运行”。

然后需要重新启动。

祁通
2023-03-14

我能够通过将互联网区域中“互联网选项”的安全级别从“高”降低到“中高”或“中等”来解决这个问题。

巢海
2023-03-14

对于那些在IE11上遇到问题的人,以下是原因:微软通过Windows update[1]发布了更新KB3025390,作为其正常的“补丁星期二”更新周期的一部分。对于大多数用户来说,此更新是在没有用户交互的情况下下载和安装的。此更新在将IE驱动程序与IE11一起使用时中断了IE驱动程序

https://groups.google.com/forum/m/#!主题/selenium用户/TdY\U rRNF-gw

修复,删除更新。目前还没有解决该问题的Selenium更新。

 类似资料:
  • 我正在尝试使用Selenium web驱动程序。我正在使用asp。net mvc。我已经设置了一个非常基本的测试。我基本上只是想打开浏览器。 但当我运行测试我得到这个错误消息 结果消息: 文件c:\chromedriver.exe\chromedriver.exe不存在。驱动程序可以在http://chromedriver.storage.googleapis.com/index.html下载 我

  • 我试图使用Selenium Web Driver从页面中抓取一个元素,但是我似乎不知道如何抓取某个文本。我试图在下面的这行代码中找到“35330100:石油和天然气钻井平台和设备”这个刺。 我在笔记本中使用的语法给我带来了一个错误,如下所示 任何帮助都会有所帮助。 提前表示感谢。

  • 我将硒与python中的Chrome驱动程序一起使用。 我的问题是,硒给我一个错误,因为我试图访问铬下载页面上的元素(铬://下载)。例如,我试图获取文件url"http://file.jpg"。 但当我试图通过其id获取元素时,我得到了一个异常。 代码: 例外情况: 通过 使用 javascript 对我也不起作用。为什么当我可以在浏览器中看到元素时,我会收到 ?

  • 我想通过C#使用Selenium web驱动程序定位BNK1的值。我发现我的本地网站有2个iframe。我已经尝试改变,使我的iframe更改为详细的框架,为我获得我的值BNK1在表中。我不知道我无法使用XPath找到iframe的问题是怎么回事。 但我出现错误“没有这样的元素:无法定位元素:{”method“:”XPath“,”selector“:”//IFRAME[@class='tabcon

  • 如何将Crystal Reports与ucanaccess jdbc驱动程序一起使用?我得到“未找到驱动程序”错误。我将ucanaccess jar文件复制到程序文件(C:\program files(x86)\Business objects\common\3.5\java)中的业务对象,编辑了crconfig.xml文件,并且已经在Crystal Reports中配置了JDBC(JNDI)。M

  • 问题内容: 输出 >无法连接到数据库服务器java.lang.ClassNotFoundException 问题答案: 看来您应该将MySQL驱动程序jar放入 类路径中 。