当前位置: 首页 > 知识库问答 >
问题:

Selenium-不支持promptUserAndPass类型的用户提示

芮叶秋
2023-03-14

很长一段时间以来,我一直在使用python机器人来完成一些工作任务。其中,机器人必须通过身份验证窗口。

python程序中的代码如下:

driver = webdriver.Firefox(firefox_profile=profile)
...
driver.get('https://example.com')
driver.switch_to.alert.send_keys('123456' + Keys.TAB + '123456')
driver.switch_to.alert.accept()

但昨天它抛出了这个错误:

硒。常见的例外情况。WebDriverException:消息:不支持promptUserAndPass类型的用户提示

我一直在谷歌搜索,但我甚至没有找到关于这种异常以及如何处理这个问题的结果。

有什么想法吗?

提前感谢!

共有2个答案

韦寒
2023-03-14

我没有足够的代表发表评论,我知道这并不能“解决”问题,但我通过使用Firefox ESR解决了这个问题。

您可以并行安装ESR到您的主Firefox安装,然后指定FirefoxDriver将使用哪个二进制文件:

driver = webdriver.Firefox(firefox_profile=profile, firefox_binary="/path/to/esr/binary")
百里阳平
2023-03-14

目前似乎没有任何驱动程序支持HTTPAuth对话框
Firefox实现了一种在67.0中不再适用的变通方法。由于缺少规范,他们现在似乎无法开始添加对HTTP身份验证提示的支持。

https://bugzilla.mozilla.org/show_bug.cgi?id=1556026

https://bugzilla.mozilla.org/show_bug.cgi?id=1556307

https://github.com/w3c/webdriver/issues/385

我设法解决了这个问题,用不同的名称安装Firefox 66.0,然后在调用FirefoxDriver时提及其位置,就像@elead1所做的那样。

from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
from selenium.webdriver import Firefox

path = FirefoxBinary("/path/to/Firefox2/firefox-bin")
browser = Firefox(firefox_binary=path)
 类似资料:
  • 问题内容: 很长时间以来,我一直在使用python机器人来完成一些工作任务。除其他外,机器人必须通过身份验证窗口。 python程序中的代码如下: 但是昨天它抛出了这个错误: selenium.common.exceptions.WebDriverException:消息:不支持使用提示用户类型提示用户提示 我一直在搜索,但是我什至找不到关于这种异常以及如何处理该问题的结果。 有任何想法吗? 提前

  • 问题内容: 我想向函数添加类型提示,该函数将接受带有方法的任何对象。例如,在 我不想限制为特定类型,例如或。只要它支持,它就是的适当参数。如何在没有不必要限制的情况下注释其类型? 编辑:显然,PyCharm可以在许多常见情况下得出适当的提示,但在我的实际用例中却不能。我无法发布代码,因为它是用于工作的,而且我找不到PyCharm失败的非专有最小示例。无论如何,原始问题不会引用PyCharm,它仍然

  • 问题内容: “使用的表类型不支持SPATIAL索引” 当我运行包含“ contains”关键字的查询时,我在MySQL中收到此错误。如何使表支持“空间索引”。查询是 从包含(列,“ 1”)的表中选择* 问题答案: Mysql仅通过* .myisam表(即ISAM引擎)支持空间索引。链接:http://dev.mysql.com/doc/refman/5.0/en/creating-spatial-

  • 问题内容: 自数小时以来,我一直在尝试纠正http错误,但它仍显示不支持的页面。我在邮递员中添加标题。 这是我的Java代码 这是我的档案 问题答案: 通过和如何在响应流和请求流之间对对象进行序列化和反序列化。 将会发生的是,将从提供者的注册表中进行搜索,以查找可以处理的媒体类型。如果找不到,则Jersey无法处理该请求,并将发送415不支持的媒体类型。通常,你还应该在服务器端记录一个异常。不知道

  • 我已经创建了一个示例web服务来进行post调用。 我使用的是Jersey JAX-RS和Maven。

  • 我正在用Spring Boot构建一些API,但是当我试图用Postman查询时,我得到了一些关于Content-Type的错误。 我不明白哪里出了问题。 我注意到错误消失时,我删除了@刚体作为参数的方法。为什么啊? 我只想: 将XML发送到API