【问题标题】:Page Not Loading in Firefox after Authentication身份验证后页面未在 Firefox 中加载
【发布时间】:2014-11-13 16:20:08
【问题描述】:

我使用 Selenium Webdriver 和 AutoIt 编写了 Java 代码,它打开了 Firefox 驱动程序,导航到需要通过选择软证书进行身份验证的页面,在弹出“证书选择”窗口时选择适当的证书,然后单击“确定”,在我正在访问的页面应该加载哪一点,但它只是加载一个空白的“新标签”;新标签本身不会打开,只是当前标签保持空白,标题为“新标签”。

如果我使用完全相同的 Firefox 配置文件手动执行此过程(没有让 Selenium Webdriver 打开 Firefox 驱动程序,我只是自己启动它),页面在身份验证后加载就好了。我还应该注意,页面使用 Internet Explorer 和 Chrome 的驱动程序实例成功加载。

我使用的是 Firefox v33.1、IE 10 和 Chrome v38。最后,我应该注意这与我的自动证书选择过程无关,因为即使我只有 Selenium Webdriver 打开一个 Firefox 驱动程序并停在那里,然后我自己选择证书并单击确定,它仍然可以同样的事情。

我认为 Selenium Webdriver 可能在它实例化的 Firefox 驱动程序中内置了一些烦人的防护,以防止它加载需要身份验证的页面。如果是这种情况,有谁知道如何禁用它?

【问题讨论】:

  • 你能在不同的平台上运行它吗? (我猜你是在 Windows 上,所以在 Linux 或 Mac OS 上运行它。)Selenium 中的一些错误是特定于平台的。
  • 不幸的是它必须在 Windows 平台上工作。我认为这与 Selenium Webdriver 加载指定配置文件的“模仿”而不是实际配置文件本身有关,因为当我转到 Firefox 故障排除信息并单击配置文件文件夹旁边的“显示文件夹”时,它会将我定向到名称为“anonymous90872345webdriver-profile”的文件夹,而不是配置文件本身的文件夹,就像我手动打开 Firefox 时那样。所有的书签和安装的证书都被复制了,但这不是真正的配置文件文件夹。
  • 您误解了我的评论的意图:如果它在其他平台上运行良好但在 Windows 上运行良好,则很可能是 Selenium 中的错误。我并不是说你应该切换到另一个平台。
  • 我希望我有时间将它部署到另一个平台,但不幸的是我没有。因此,当您指定要在 Firefox 驱动程序中打开的配置文件时,它会打开那个确切的配置文件,而不是某种模仿?如果我们可以验证这是预期的行为,可能会有所帮助。
  • 默认情况下,它会在每次启动 FF 实例时创建一个 new 配置文件来运行 Firefox。这是正常的。

标签: java firefox selenium selenium-webdriver


【解决方案1】:

需要在 Firefox 附加组件 -> 插件下将 Java 设置为“始终激活”。在它被设置为“要求激活”之前,但在我选择证书后它从未明确要求激活,因此页面不会加载。

【讨论】:

    猜你喜欢
    • 2019-08-02
    • 2018-02-17
    • 2021-02-22
    • 2017-04-26
    • 1970-01-01
    • 2016-08-13
    • 2020-06-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多