Tag: internet explorer 11

Selenium没有在IE中检测到第二个窗口

我的应用程序打开了一个单击按钮的新窗口,我需要在该窗口中执行一些操作。 但是selenium webdriver的响应getWindowHandles()方法只有一个窗口id。 如果在打开新窗口后调用getWindowHandles()有延迟,则会发生这种情况。 selenium存在已知问题。 https://github.com/SeleniumHQ/selenium/wiki/InternetExplorerDriver#required-configuration 但即使是解决方案也不适用于我。 代码如下 DesiredCapabilities capabilities = DesiredCapabilities.internetExplorer(); RemoteWebDriver driver = new RemoteWebDriver(new URL(“http://localhost:4444/wd/hub”), capabilities); driver.get(“https://”); WebElement userName = driver.findElement(By.name(“usr_name”)); userName.sendKeys(“ABCD”); WebElement password = driver.findElement(By.name(“usr_password”)); password.sendKeys(“password”); WebElement login = driver.findElement(By.name(“OK”)); login.click(); WebElement popup= driver.findElement(By.name(“popup”)); popup.click(); Thread.sleep(1000); Set windowHandles = driver.getWindowHandles(); System.out.println(windowHandles); Set“ windowHandles ”将只返回一个窗口: “[fcdad457-9090-4dfd-8da1-acb9d6f73f74]” 但如果我取消睡眠。 它将返回两个窗口ID: [90cc6006-0679-450c-a5b3-6602bcb41a16, 7211bbfd-2616-4460-97e7-56c0e632c3bb] 我无法移除睡眠,因为这只是一个示例程序,在实际应用程序中,它们之间会有一些延迟。 请让我知道你的想法。 […]

IE 11:发送Multipart Form Data请求时出错:Stream意外结束

我正在尝试使用jQuery AJAX调用上传文件和其他一些表单字段。 这是一个调用服务器上URL的常用函数: function uploadDocument(rquestURL,formId,callback){ $.ajax({ type : ‘POST’, url : rquestURL, cache:false, processData:false, contentType:false, data : new FormData($(“#”+formId)[0]) }).done(function(response) { callback(response); }); } 在从浏览器的开发工具中检查时,这些是相应的请求内容: 来自IE11 —————————–7dfad39402e6 Content-Disposition: form-data; name=”subject” Test —————————–7dfad39402e6 Content-Disposition: form-data; name=”message” Test test —————————–7dfad39402e6 Content-Disposition: form-data; name=”announcementAttachment”; filename=”” Content-Type: application/octet-stream —————————7dfad39402e6 铬 ——WebKitFormBoundaryp8rj3ArKDsbYw0BZ Content-Disposition: form-data; name=”subject” Test ——WebKitFormBoundaryp8rj3ArKDsbYw0BZ Content-Disposition: form-data; name=”message” […]

使用Internet Explorer 11和Selenium(任何版本)和IEWebDriver(任何版本)都找不到任何元素

我已经搜遍了所有的答案,我找不到任何解决方案。 我试图在IE11中运行我的Selenium测试。 所有其他浏览器都可以正常工作(包括Edge)。 如下的简单测试将导致问题…… System.setProperty(“webdriver.ie.driver.loglevel”,”TRACE”); System.setProperty(“webdriver.ie.driver.logfile”, “C:/Projects/logme.txt”); driver = new InternetExplorerDriver(); driver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS); driver.manage().deleteAllCookies(); driver.manage().window().maximize(); driver.get(“http:www.google.com”); driver.findElement(By.id(“lst-ib”)).click; IE11将启动并导航到一个URL,但它无法在任何页面上的任何位置找到任何元素。 再一次,我知道人们有这个问题,但没有任何建议解决了我的问题。 这是我每次都回来的错误: org.openqa.selenium.NoSuchElementException: Unable to find element with id == lst-ib (WARNING: The server did not provide any stacktrace information) Command duration or timeout: 3.23 seconds For documentation on this error, please visit: http://seleniumhq.org/exceptions/no_such_element.html Build info: version: […]

无法使用Selenium WebDriver和Java打开IE11驱动程序实例

System.setProperty(“webdriver.ie.driver”,”C:\\Users\\IEDriverServer_Win32_2.45.0\\IEDriverServer.exe”); WebDriver driver = new InternetExplorerDriver(); driver.get(“http://xxx”); 执行上述代码时显示错误: 线程“main”中的exceptionorg.openqa.selenium.remote.SessionNotFoundException:启动Internet Explorer时出现意外错误。 保护模式设置对于所有区域都不相同。 必须将启用保护模式设置为所有区域的相同值(启用或禁用)。 (警告:服务器未提供任何堆栈跟踪信息)命令持续时间或超时:1.33秒 有人可以建议解决这个问题吗?

IE11 CORS拒绝https上的OPTIONS

IE11由于某种原因拒绝PUT请求,但仅在我使用https时。 我很难找到问题,因为使用http,localhost和其他浏览器工作正常。 控制台显示两个错误 SEC7124: Request method PUT was not present in the Access-Control-Allow-Methods list. SCRIPT7002: XMLHttpRequest: Network Error 0x80070005, Access is denied. 从浏览器发送的OPTION请求是 Accept: */* Accept-Encoding: gzip, deflate Access-Control-Request-Headers: accept, content-type, session-id Access-Control-Request-Method: PUT Cache-Control: no-cache Connection: Keep-Alive Content-Length: 0 Host: api.domain.com Origin: https://portal.domain.com User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko 并且来自服务器的响应如下: […]

无法使用Selenium在IE 11上的关闭窗口中找到元素

我正在尝试使用Selenium WebDriver在Internet Explorer 11上运行测试。 代码是: System.setProperty(“webdriver.ie.driver”, “Path/to//IEDriverServer.exe”); WebDriver driver = new InternetExplorerDriver(); driver.get(“www.google.com”); driver.findElement(By.name(“q”)); 我收到这个错误: 已启动InternetExplorerDriver服务器(64位)2.46.0.0正在侦听端口43760线程“main”中的exceptionorg.openqa.selenium.NoSuchWindowException:无法在关闭的窗口中找到元素(警告:服务器未提供任何堆栈跟踪信息)命令持续时间或超时:15毫秒构建信息:版本:’2.46.0’,修订版:’61506a4624b13675f24581e453592342b7485d71’,时间:’2015-06-04 10:22:50’系统信息:主机:’user1-PC’,ip:’ 10.0.23.71’,os.name:’Windows 7’,os.arch:’amd64’,os.version:’6.1’,java.version:’1.8.0_45’驱动程序信息:org.openqa.selenium.ie。 InternetExplorerDriver Capabilities [{browserAttachTimeout = 0,enablePersistentHover = true,ie.forceCreateProcessApi = false,pageLoadStrategy = normal,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,initi alBrowserUrl = […]

Selenium IE WebDriver仅在调试时有效

我使用的是Java Gradle,Selenium 3.8.0和IEWebDriver 3.8.0。 Chrome和Firefox工作正常,但IE抛出一​​个org.openqa.selenium.TimeoutException: Expected condition failedexception,虽然IE也可以正常工作,如果我一步一步调试我的源代码。 因此,我花了很长时间才发现这个问题,并且我注意到IE在WebDriver和源代码之间失去连接,每当webDriver.get(..) ,它看起来像这样: driver.get(url); waitForPageLoaded(driver); 因此我假设有一些时间问题,但我已经尝试处理这个: public void waitForPageLoaded(WebDriver driver) { logger.debug(“Wait until the page was loaded.”); // IE seems to fail here. new WebDriverWait(driver, SeleniumConfigurator.TIME_OUT) .until(d -> ((JavascriptExecutor)d).executeScript(“return document.readyState”) .equals(“complete”)); } 然后我注意到IE需要更多配置设置,但我不允许设置其中一些:IT限制 – >我无法更改regedit条目。 但是,为什么它在调试时工作正常? 这是我的IE设置: case IE: path = “../../../../../../resources/driver/win/IEDriverServer_32_v3-8-0.exe”; url = getClass().getResource(path); if (url == […]