【问题标题】:Watir hangs after Chrome asks "Do you want google to save your password"在 Chrome 询问“你想让谷歌保存你的密码”后,Watir 挂起
【发布时间】:2011-02-20 13:40:33
【问题描述】:

我正在让 Watir 登录并在下一页上做一些事情。 这在 Firefox 上运行良好,但 chrome 会加载:

“你想让谷歌保存你的密码”对话框

这让 Watir 挂了。从 irb 运行脚本,我注意到 那时我将无法访问浏览器对象。

单击“从不用于此站点”或“保存密码”似乎也不起作用 因为似乎每次 webdriver 加载 chrome 时,它​​都会加载一个新的 会话。

有什么想法吗?

【问题讨论】:

标签: google-chrome watir


【解决方案1】:

如果您转到“配置”->“选项”->“个人资料”,则“从不提供保存密码”复选框可能会更改程序的设置,而不仅仅是您当前正在与之交互的实例。

【讨论】:

  • 是的,那没用。看起来 webdriver 每次都会使用默认设置加载一个新浏览器
  • 但是您不能更改 chrome 默认设置,使其永远不会提供保存密码吗?
【解决方案2】:

我遇到了类似的问题(一切都在 Firefox 中有效,但在 Chrome 中无效),也许这会有所帮助。 页面加载后你的代码中有正则表达式吗?

在我的代码中,我修改了这个语句: @browser.text_field(:id => /txtfield/).wait_until_present

对此: @browser.text_field(:id => 'longform_txtfield').wait_until_present

也就是说我去掉了/txtfield/正则表达式,换成了'longform_txtfield'的全id名。显然你和我有非常不同的代码,但尝试在页面加载后注释掉某些行,看看可能是什么原因。毕竟它可能不是密码管理器!

干杯!

【讨论】:

    【解决方案3】:

    我知道这可能是一个老问题,但我在寻找使用 Watir-webdriver 的解决方案时确实偶然发现了这个问题。

    下面的 sn-p 将打开一个禁用密码管理器的 Chrome 浏览器,即不会弹出“保存密码”对话框;

    profile = Selenium::WebDriver::Chrome::Profile.new
    profile['profile.password_manager_enabled'] = false
    @browser = Watir::Browser.new :chrome, profile: profile
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-20
      • 1970-01-01
      • 2021-06-26
      相关资源
      最近更新 更多