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

带有Selenium的Internet explorer驱动程序不允许在访问外部网页时处理窗口

袁耀
2023-03-14

当我访问中的页面时http://localhost...Selenium允许我管理窗口,例如更改其位置,但当我从另一台服务器访问页面时,会出现以下错误:

org.openqa.selenium.NoSuchWindowExcION:错误检索当前窗口在sun.reflect.NativeConstructorAccessorImpl.newInstance0(本地方法)在sun.reflect.NativeConstructorAccessorImpl.new实例(NativeConstructorAccessorImpl.java:62)在sun.reflect.委托构造访问访问mpl.new实例(委托构造mpl.java:45)在java.lang.reflect.onstructor.new实例(Constructor.java:423)在org.openqa.selenium.remote.http.W3CHttp响应odec.create异常(W3CHttp响应odec.java:187)在org.openqa.selenium.remote.http.W3CHttp响应odec.decode(W3CHttp响应odec.java:122)在org.openqa.selenium.remote.http.W3CHttp响应odec.decode(W3CHttp响应Codec. java: 49)在org. openqa. selenium. Remote。在org. openqa. selenium. Remote. service上执行(HttpExpldExecutor. java: 158)。在org. openqa. selenium. Remote上执行(DriverRecdExecutor. java: 83)。在org. openqa. selenium. Remote执行(远程WebDriver. java: 552)。在seleniumie上的远程Web驱动程序选项。主要(SeleniumIE. java: 49)

我的代码:

Point esconder = new Point(-1000,-1000);
String URL = "http://www.google.com/";
DesiredCapabilities cap = DesiredCapabilities.internetExplorer();
cap.setCapability("nativeEvents", false);
cap.setCapability("unexpectedAlertBehaviour", "accept");
cap.setCapability("ignoreProtectedModeSettings", true);
cap.setCapability("disable-popup-blocking", true);
cap.setCapability("enablePersistentHover", true);
cap.setCapability("ignoreZoomSetting", true);
cap.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,true);
InternetExplorerOptions options = new InternetExplorerOptions();
options.merge(cap);
visor = new InternetExplorerDriver(options);
visor.get(URL);
Thread.sleep(3000);
visor.manage().window().setPosition(esconder);

当我运行最后一行的时候就是我得到错误的时候

我正在使用IE11浏览器

共有1个答案

程志新
2023-03-14

我找到了解决办法!

出现的问题是因为Internet Explorer有保护模式活动,当我禁用保护模式时,它完全适合我。

 类似资料:
  • 我正在使用Selenium WebDriver和Java实现网站的自动化,但我陷入了这样一种情况:点击一个按钮,就会打开一个新的网页对话框,在该网页对话框中,我会执行输入值/从下拉列表中选择等操作。 问题是我无法切换到该网页对话框,甚至F12窗口不能在该网页对话框上工作。这个网站只在IE上工作。请帮帮我。 屏幕截图:在此处输入图像描述

  • 问题内容: 我对让Docker能够访问外部文件感兴趣,但是我不希望将它们作为卷包含在内。我需要访问的文件会随着时间变化,这意味着我将需要反复重新安装,除非我只能安装一个目录,而且该目录中的任何内容也会被安装。 我只需要允许将软件程序推送到容器中,以“在”我的本地系统上运行,该软件程序可以访问我的本地系统上的文件。 忠告?除了添加需要作为卷处理的文件之外,还有其他方法吗? 问题答案: 我用以下命令解

  • 对于ex,当我的chrome放在Compand提示符中时,会给出路径-/applications/google\chrome.app system.setproperty(“webdriver.chrome.driver”,“/applications/google/chrome.app”);WebDriver driver=new ChromeDriver(); driver.get(“http

  • 问题内容: 遵循Restangular的文档,并包括以下示例: 我正在为angel.co做同样的事情 并不断出错 有什么办法吗? 问题答案: 服务器(api.angel.co)没有响应Access-Control标头,这导致此错误。 将XHR请求发送到与原始域不同的域时,Web浏览器正在检查服务是否允许这样做。在您的情况下,api.angel.co将需要在响应中包含标头(不是)。 假设您不能更改a

  • 本文向大家介绍Mysql允许外网访问设置步骤,包括了Mysql允许外网访问设置步骤的使用技巧和注意事项,需要的朋友参考一下 1、打开mysql.exe(MySQL Command Line Client),输入密码 2、输入:use mysql; 3、查询host输入: select user,host from user; 4、创建host(如果有"%"这个host值,则跳过这一步) 如果没有"

  • 我假设Selenium打开的chrome浏览会话将与google chrome本地安装相同。但是当我尝试在这个网站上搜索时,即使只是用selenium打开它并手动控制搜索过程,我会得到一个错误信息,当我使用常规chrome与我自己的个人资料或在incognito窗口中搜索结果返回良好。每当我搜索这个问题,我发现结果指出鼠标移动或点击模式提供它。但情况并非如此,因为我在打开浏览器后尝试手动控制。ht