问题标签 [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.

0 投票
0 回答
121 浏览

selenium-webdriver - 使用机器人框架运行测试时禁用 IE 上的 Flash 插件

我正在尝试在禁用 Flash 插件的情况下在 IE 上运行测试。有什么办法可以用机器人框架做到这一点?

我在 Chrome 上看到了其他问题,但在 IE 上找不到任何内容。

任何事情都会有所帮助。文档、代码......

我的环境设置:

  • Internet Explorer (11.0.9600.18697)
  • 机器人框架(3.0.2)
  • Selenium2Library 1.8.0
  • IEDriver 3.0
0 投票
3 回答
143 浏览

java - 使用 Java 从 linux 机器远程杀死 Internet Explorer 的实例

我有几个Selenium测试正在使用Selenium Grid从Jenkins (在 Linux 上)远程运行到 Windows 机器。在测试开始之前,我需要一种方法来可靠地检测所有 IE 实例。这些测试都使用 TestNG 端到端运行,因此需要在每个测试开始时执行此方法,在. 我知道如何使用 Java 来完成任务,但由于代码实际上部署在 Linux 机器上,因此这些代码不起作用(据我所知)。任何帮助,将不胜感激!kill@BeforeMethodkill

0 投票
1 回答
2496 浏览

selenium - 使用 SendKeys 向 IE 11 发送“@”特殊字符

我正在尝试使用 Internet Explorer 11 中的 SendKeys 方法将特殊字符发送到文本框。尝试在其他浏览器中发送特殊字符时我没有遇到此问题,但 Internet Explorer 在尝试发送时发送完全不同的字符特殊字符。

大多数特殊字符都可以工作(例如!#()$%&/),但像@{}§ 这样的字符不起作用,并且在文本框中写入了类似 vbnm 的东西而不是这些字符。这些字母表示与键 Alt Gr 组合创建特殊符号的键(例如 Alt Gr + v = @、Alt Gr + b = {、Alt Gr + n = }、Alt Gr + m = §)。

我尝试使用 Action 对象通过 KeyDown 方法发送密钥,但它也没有成功,当尝试在其中写入带有“@”的字符串(例如 username@mail.com)时,特殊符号被替换为字母 'v '(用户名 vmail.com)。我还尝试使用 '@' 符号的 ASCII 等价物,但不是特殊字符,而是在文本框中放置了 '64' 文本。

将“@{}§~$%&()=" 字符串发送到文本框时,我将其作为输出。

发送时的用户名输出

0 投票
0 回答
503 浏览

java - Selenium - 几个小时后随机“IE 驱动程序的命令行服务器已停止工作”

我为我公司的电子商务网站进行了数百次硒测试。特别是,其中大约一半是差异很小的结账测试(单程签证,多程美国运通等)。我提到这一点是因为所有这些测试都使用几乎完全相同的代码,只是略有不同。

这些测试从 Jenkins 开始,使用 Selenium Grid 作为集线器,并部署到同时运行 Chrome 和 IE 测试的 Windows Server 2012 VM。在开始我的测试后,几个小时后我会看到一个浏览器弹出窗口Command line server for the IE Driver has stopped working和一个按钮Close the program。这会导致测试执行挂起。

我已经尝试在VM上升级到最新版本的grid,以及最新版本的IE Driver Server。我还编写了一个Runtime.getRuntime().exec("taskkill /F /IM IEDriverServer.exe")在每次测试开始时运行的小型休息服务器(我认为可能是一次打开的窗口过多导致了错误,但即使进行了此修复也无济于事)。我也尝试添加TabProcGrowthHKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main注册表,但这只是导致在每次测试开始时打开多个窗口,进一步破坏了事情。

此外,我实现了一个重试分析器,它将重试失败的测试。手动单击后Close the program,测试将重新启动,几乎总是通过。考虑到这一点,以及结帐测试的性质,我认为问题不是代码问题。

我已经尝试了几天来解决这个问题。任何帮助将不胜感激!

0 投票
1 回答
277 浏览

selenium - SendKeys IEDriverServer selenium 出错

我正在测试一个 Web 应用程序,登录测试在 Chrome 中运行良好,但是当我尝试在 IExplorer 中运行测试时,我发现了一个问题:

我发送了电子邮件以登录

在 Chrome 中,当我运行测试时test@test.com在文本框中写入但是当我在 IExplorer 中使用IEDriverServer填充有“ test2test.com”的文本框执行测试时,正在用 2 替换@键。

0 投票
3 回答
1416 浏览

java - 使用 Selenium IEDriverServer 的文本输入非常慢?

运行 Selenium IEDriverServer 3.5.1 32bit,我在 Internet Explorer v11 中遇到非常非常慢的文本输入。奇怪的是,如果我切换到 IEDriverServer 3.4.0(也是 32 位),它并不慢,但整体测试执行速度会有所放缓(奇怪的是,这个问题仅在几天前浮出水面。以前我使用 3.5.1 没有问题)。有没有人找到这个问题的合法解决方案?这是我的网络驱动程序定义:

此外,在 IE 本身上,我有以下设置:

  • 所有安全区域设置为保护模式 ON
  • 高级 > 安全 > 为增强保护模式启用 64 位进程未选中。
  • 连接 > 局域网设置 > 自动检测设置未选中

每次我用谷歌搜索这个问题时,我都会找到一年前的答案,通常与 Selenium 2.53 或类似的东西有关。最近有没有人经历过这种情况,如果有,它是如何解决的?谢谢!

0 投票
1 回答
4110 浏览

java - Selenium - 初始化 RemoteWebDriver 时使用 InternetExplorerOptions()

我试图让 IE 在通过 Selenium 网格初始化远程驱动程序时启动每个会话。这个

不工作,IE 使用上一个测试中的 cookie 开始每个新测试,这会导致问题。我正在尝试实现这一点

如此所述,但我不知道如何将其用作远程驱动程序而不是本地驱动程序。谢谢!

0 投票
0 回答
586 浏览

java - Selenium IE:32 位 IEDriverServer 无法加载,64 位文本很慢

我正在运行来自 Jenkins (3.5.3) 的最新 selenium 代码,并且我的测试通过网格发送到运行 Windows Server 2012 的 VM 节点。如果我尝试在我的节点上运行 IEDriverServer 64 位 (3.5.1), sendkeys 慢得让人难以忍受。我已经读过很多次了,使用 32 位 IEDriverServer 可以工作,但是当我执行测试时它甚至不会加载 IE。

疯狂的是,昨天这工作了 9 个小时(我有数百个测试,这是正确的时间范围)。当我今天再次重新运行测试时,它们开始正常,但几个小时后我注意到我的测试没有通过,所以我检查了虚拟机并且文本正在爬行。为什么会发生这样的事情?我从理论上理解缓慢的发送键是因为位不匹配,但为什么 64 位 exe 会工作几个小时然后停止工作?

不管它值多少钱,这是我的 webdriver 定义:

我一直在研究并试图解决这个问题好几个星期。这让我疯狂。有任何想法吗?非常感谢!

编辑:查看开始变慢的测试,结果发现我在该测试中删除了一个 cookie。从我读到的关于 IE 的内容来看,它并不总是能正确处理删除 cookie。我可以轻松地重新编写该测试,但现在无论运行什么测试,文本总是运行缓慢。有没有人遇到过这种情况?

(副节点:我讨厌 IE。仅此而已)。

0 投票
0 回答
6855 浏览

selenium - 在 IE 中运行 selenium 脚本会引发错误“仅允许本地连接”。

我已经尝试了很多事情,但仍然面临同样的错误。有人可以帮忙提出解决方案吗?

问题:在 IE 中运行 selenium 脚本时,出现以下错误。 设置:我使用的是 IE 11 和 selenium 2.53.0

到目前为止我尝试过的事情:

  1. 更改了 IE 安全设​​置,使所有不同的区域都设置为安全级别 = 高
  2. 未选中所有区域的“启用保护模式”
  3. 我尝试了 32 位和 64 位的 IEDriverServer.exe
  4. 在为驱动程序设置系统属性后,我尝试添加以下代码

更新

我将 selenium 驱动程序更新为 3.0.1 并将 IEDriver 更改为 32 位并出现以下错误


解决方案 对于任何可能感兴趣的人,我已经根据以下两个帖子解决了我的问题。

基本上 1) 需要修改注册表设置 2) 扩展浏览器功能以忽略区域设置和保护模式设置

Selenium IE 驱动程序的 IELaunchURL 问题

在 IE 中:org.openqa.selenium.WebDriverException: 这通常意味着对 COM 方法 IWebBrowser2::Navigate2() 的调用失败

0 投票
4 回答
4553 浏览

java - Selenium - 无法单击下拉列表中的链接

我正在尝试单击菜单下拉列表中的链接。硒似乎能够找到元素。但无法单击它并给出以下异常:

线程“主”org.openqa.selenium.ElementNotInteractableException 中的异常:无法单击元素

我正在使用 IEDriver 运行代码。

下面是我用来查找并单击元素的 java 代码:

以下是 HTML 正文:

请让我知道可能是什么问题