如何使用 Selenium WebDriver 查找 Firefox 附加组件警告对话框

How to use Selenium WebDriver to find Firefox add-ons warning dialog

我正在测试下载和安装我们公司制作的插件。我可以将域添加到 Firefox 配置文件白名单以消除第一个对话框,但随后 FF 显示第二个 "Install add-ons only from authors whom you trust"。我找不到让 Selenium 找到它的方法。它看起来像这样:

我试过 driver.switchTo().alert().accept() - 这不是警报。

我试过了 driver.switchTo().findElement(linkText("Install") - 没有找到。

我尝试使用 SikuliWebDriver 按位置查找元素(选择一些随机整数来处理),然后只发送像 Keys.TABKeys.ENTER 这样的键,但是我在调试模式下单步执行,driver.findELementByLocation(20,40) 从不 returns。

我已尝试 driver.getKeyboard().sendKeys(Keys.TAB)(发送两个制表符和一个输入)。也从不 returns.

我认为这个对话框是由 Javascript 生成的,但我无法找出它是由什么 JS 生成的。理想情况下,我可以在对话框中找到按钮的名称或 ID,然后使用 JavascriptExecutor 到 运行 命令。但是没有任何句柄我被卡住了。

有什么想法吗?

Selenium 只能看到DOM(文档对象模型)。它无法测试桌面应用程序。显示的对话框是 Firefox 应用程序的一部分,而不是 DOM 的一部分,因此 Selenium 无法看到或访问它或与之交互。悲伤但真实。试试 Ranorex?