问题标签 [selenium-iedriver]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 在 stepdefs 中引用 IE 浏览器实例时遇到问题
我对 Java/Selenium 有疑问,我在其中使用以下行创建了 IE 驱动程序:
驱动程序 = 新 InternetExplorerDriver(功能)
然后我在第一步定义中使用 driver.get("somepage") 引用它。这工作正常。然后我单击一个按钮并移动到另一个页面,它工作正常(浏览器移动页面)。但是,在我的第二步定义中,我正在尝试做:
IntelliJ 只是一直在滴答作响,执行永远不会完成。我想一旦我离开第一页,它就无法识别我在第一步 def 中创建的 Web 驱动程序实例,并且我无法引用页面上的任何元素。将 webdriver 实例从一个 stepdef 传递到另一个 stepdef 是否需要我遗漏任何东西,或者默认情况下它应该是普遍可访问的?我没有在我的代码中做任何事情来杀死实例。提前致谢。
所以在 src\main\java\domain\DriverManager 里面,我有:
然后在我的 stepdef 中,我引用了 webdriver 实例:
失败的部分如下。这是上述参考的单独步骤 defs 文件:
运行程序文件只是在左下角打勾,但我最终(半小时左右!)得到这个错误:
org.openqa.selenium.NoSuchWindowException:无法获取浏览器(警告:服务器未提供任何堆栈跟踪信息)
selenium-webdriver - IE浏览器在Certificate Error Block页面后执行代码需要很长时间
我正在使用 IEDriverServer_Win32_3.4.0 和 Selenium selenium-java-3.4.0。在 IE 浏览器中执行代码时,在 Certificate Error Block 页面之后执行剩余代码大约需要 4 分钟。有时浏览器挂起,其余代码失败。
代码块:
在此 IE 几乎超过 3 分钟没有响应后,发布剩余代码已执行。
错误堆栈:
已启动 InternetExplorerDriver 服务器(32 位) 3.4.0.0 监听端口 33044 仅允许本地连接 2017 年 6 月 9 日下午 12:59:19 org.openqa.selenium.remote.ProtocolHandshake createSession INFO:检测到的方言:OSS SLF4J:失败加载类“org.slf4j.impl.StaticLoggerBinder”。SLF4J:默认为无操作 (NOP) 记录器实现 SLF4J:有关详细信息,请参阅http://www.slf4j.org/codes.html#StaticLoggerBinder。
如果需要更多信息,请告诉我。谢谢。
jquery - 无法在 WebdriverIO 的 IE11 中触发“mouseover”和“mouseout”事件
注入 JavaScript 片段以触发“mouseover”和“mouseout”事件。适用于 Chrome、Firefox 和 Safari(本地和远程)。
对于 IE11,我可以验证它是否可以在控制台中运行。但是当试图自动化它时,会抛出错误:
使用: WebdriverIO - 版本 4.6.2
代码片段:
注意:在上述场景中,我试图将鼠标悬停在使用amcharts
JavaScript 库创建的图表上。
c# - 跨浏览器并行运行测试时对远程 WebDriver 服务器的 HTTP 请求以获取 URL 超时
几个月来,我一直在与常见的“对远程 WebDriver 服务器的 URL 的 HTTP 请求......在 x 秒后超时”作斗争,试图同时对两个浏览器(Chrome 和 IE)运行测试,花了几个小时在通过 stackoverflow 和搜索引擎结果搜索时间以尝试找到解决方案。
与我之前的其他人一样,我的行为在单击功能超时或尝试获取 url 时会有所不同,并且在各种情况下,我已将页面加载和隐式等待超时增加到 600 秒以上,在元素之前插入等待,之后url 在调用 url 之前、在调用驱动程序构造函数之后以及作为驱动程序对象调用中的参数被调用。
我已尝试包含 javascript 执行器脚本(由之前关于此问题的 SO 帖子中的答案提供),在继续执行操作之前检查页面加载就绪状态是否完成,但没有成功。
我试图将我的 chrome 和 IE、selenium web 和支持驱动程序都更新到最新的兼容版本,手动调用二进制文件以获取最新的兼容浏览器可执行文件——以及尝试回滚到人们报告成功的先前版本(chrome v48,chromedriver 2.22.0.0,webdriver 2.53.1)。我尝试将“无沙盒”添加为 chrome 选项,确保我的 IE 安全区域都共享相同级别的保护。
我调查了我的页面是否使用 AJAX 脚本,并尝试使用各种线程中提供的解决方案来适应任何动态内容。
在并行查询之外单独运行 IE 或 Chrome 时,不会观察到超时问题。当 chrome 初始化其远程 WebDriver 实例时,会特别出现此问题。我也尝试过使用 32 位和 64 位版本的 chrome/ie 驱动程序。
我从许多主题和页面中提取了信息,但这些是一些最相关的。
Selenium 错误 - 对远程 WebDriver 的 HTTP 请求在 60 秒后超时
https://github.com/seleniumhq/selenium-google-code-issue-archive/issues/5441
https://github.com/seleniumhq/selenium-google-code-issue-archive/issues/5071
Selenium 错误 - 对远程 WebDriver 的 HTTP 请求在 60 秒后超时
这是一个输出示例:
我从案例列表中调用驱动程序,稍后将其添加到并行查询中:
在我的测试代码中,我只是启动一个页面,导航到另一个本地页面,然后尝试单击页面上立即可见的按钮。
我尝试将按钮的单击命令包装在 try catch 中,添加了具有预期条件的显式等待(显示、启用、可单击),使用的线程睡眠在运行单个浏览器时都按预期工作。
例如,我通过以下方式调用按钮:
其中定位以下元素:
它是 HTML:
作为关于超时的单独说明,当更新到最新版本的 WebDriver 时,我还将超时更新为新格式:
这个问题似乎早在 2012 年就已经存在于社区中,并且据我发现,从未被孤立和明确识别过,人们仍在今年 5 月报告它。
selenium - Internet Explorer 打开显示下载的新选项卡
我正在将 Selenium 用于 Web 自动化任务,该任务将下载文件并仅在下载完成后关闭 Web 驱动程序。我已经实现了一种方法来扫描 Chrome 和 Firefox 正在进行的下载,方法是打开一个新选项卡,转到它们各自的下载管理器 URL 并查找当前 Web 驱动程序实例的所有下载的 Web 元素。对于 Chrome,下载管理器 URL 为:'chrome://downloads/',对于 Firefox:'about:downloads'。
是否有类似的方法可以为 Internet Explorer 执行此操作?我看到的唯一 IE 下载列表是一个单独的窗口,我无法使用 Selenium 访问它。
c# - NoSuchWindowException - 尽管遵循其他答案中的配置建议,但无法在 IE 上的 Selenium 中找到关闭窗口上的元素
这与我最近关于 Selenium 的另一个问题有关(那个问题是关于 Firefox 特定的问题,这个问题是关于 IE 特定的问题)。
基本上,当我运行以下代码时
为了模拟点击链接,它成功导航到页面,但是当它尝试检索实际元素时,我得到以下异常:
An exception of type 'OpenQA.Selenium.NoSuchWindowException' occurred in WebDriver.dll but was not handled in user code
Additional information: Unable to find element on closed window
这个问题的公认答案表明,IE 安全设置中的“启用保护模式”应该全部选中或全部取消选中。事实上,当我查看这些设置时,未选择 Intranet 的“启用保护模式”,但未选择其他设置:
不幸的是,如屏幕截图所示,这是由我的公司 IT 部门管理的,我不确定我能否说服他们让我更改设置。我也无法按照其他一些答案建议的方式编辑我的注册表(可能是由于缺乏管理权限)。
我见过的其他一些解决方案包括设置IntroduceInstabilityByIgnoringProtectedModeSettings
为true
、提供一个InitialBrowserUrl
或设置EnsureCleanSession
为true
。如下所示,我目前正在做所有这些事情:
但是,我仍然遇到完全相同的问题。
还有什么我可以尝试的不涉及我为策略例外而对公司 IT 进行窃听的方法吗?
也许很重要的是,这只发生在我运行时localhost
(这是一个问题,因为我打算在那里进行大部分测试)。
selenium - Single click in selenium acts as double click
I have a simple code where I click on a link and it opens up a new window. But while executing the script, single click acts as double click on the same element and 2 windows are opened.
I am using InternetExplorer driver
java - 当默认值不是 100 时,在 Selenium WebDriver 中将缩放级别设置为 100%
我在 Java 中遇到 Selenium WebDriver 的问题,当用户具有不同的默认值时,我无法将 IE 浏览器缩放级别设置为 100%。Ctrl + 0 不起作用,因为这会将缩放设置为默认值。我已经尝试通过 JavascriptExecutor 设置缩放,如其他帖子中所见。任何帮助,将不胜感激。
java - IEDriverServer 在本地主机上工作,但在 windows server 2008 上不工作
我正在我的本地计算机上的 Chrome、FF 和 IE11.1480 上使用 Java TestNG 和 Maven 运行 Selenium 测试,并且一切运行良好——我只需在每个浏览器上打开一个网页,如下所示:
在远程服务器(Windows Server 2008 R2 Datacenter 和 IE11.0.9600.18738)上运行程序时,只有 IE 驱动程序不会打开。
这就是我启动 IE 驱动程序的方式:
尝试执行以下操作但没有成功:
- 将浏览器设置更改为在本地机器上(启用 JS、JAVA 小程序等)。进行了重启。
- 将 IEDriverServer.exe 从 64 位更改为 32 位并返回。
- 将IEDriverServer.exe添加到系统变量中的PATH
这是 maven 带来的错误:
谢谢你的帮助
亚尔
python - 设置 selenium 以使用 Internet Explorer
我创建了一个 python 脚本,我可以在 Google Chromedriver 下执行它并完全按照我的意愿行事。但是,为了确保我的可执行文件可以在所有 PC 上运行,我想让我的脚本与 Internet Explorer 驱动程序一起使用,但我遇到了问题。我附上了我正在尝试在下面运行的示例测试代码以及我收到的错误消息。
我收到的错误代码是:
有任何想法吗?我已经安装了 IEdriver 并将它与上面提到的 test.py 文件一起放在我的桌面上。