【发布时间】:2021-05-24 13:10:06
【问题描述】:
我正在尝试编写一个安装 OneLogin 扩展的脚本,因为访问该网站需要 OneLogin。
我可以让 selenium 输入用户名和密码来完成登录,但我仍然需要扩展程序才能访问该站点,否则将不会加载凭据。我试图将我当前安装的插件转换为 .crx 文件并让 webdriver 在启动时导入,但它不起作用。浏览器仍然每次都询问我是否要安装 OneLogin 扩展程序。如果您有兴趣,这就是我加载扩展程序的方式。
# load extension
# extension='.../3.4.46_0.crx'
# options = webdriver.ChromeOptions()
# options.add_extension(extension)
所以我会选择另一个选项,即每次创建 webdriver 实例时安装插件。这种方法我遇到了一个问题。例如,当您尝试安装扩展程序(任何扩展程序都可以)时,会弹出一个窗口询问“添加 X?” “它可以……”,然后您可以选择“取消”和“添加扩展名”。
我在如何单击“添加扩展程序”按钮时遇到问题。我无法检查元素,它什么也不做。旧元素将不起作用,因为它位于不同的位置。我尝试了捕获“警报”方法,但失败了。我怀疑如果它是 html 的一部分,这可行,但新的弹出窗口信息未编码在下载页面中,可能在 javascript 后面。
我尝试使用 Robot 框架,但它似乎只适用于 Java 版本。此外,硒似乎不允许您仅单击坐标(x,y)。那我现在该怎么办?
【问题讨论】: