Chrome问“你想让谷歌保存你的密码后”,Watir挂起了

时间:2011-02-20 13:40:33

标签: google-chrome watir

我正在使用Watir登录并在下一页上做一些事情。 这适用于Firefox,但chrome加载:

“您想要谷歌保存您的密码”对话框

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

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

有什么想法吗?

3 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

我有类似的问题(一切都在Firefox但不适用于Chrome),也许这会有所帮助。 页面加载后代码中是否有正则表达式?

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

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

也就是说我删除了 / txtfield / 正则表达式,并将其替换为完整的ID名称'longform_txtfield'。很显然,你和我有非常不同的代码,但尝试在页面加载后试验注释某些行,看看可能有什么责任。毕竟,它可能不会成为密码管理器!

干杯!

答案 2 :(得分:1)

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

以下代码段将打开Chrome浏览器并禁用密码管理器,即不会弹出“保存密码”对话框;

backtrack(LCS, A, B, i, j, s=0):
    if i == 0 or j == 0
        return s

    if A[i] == B[j]:
        return backtrack(LCS, A, B, i-1, j-1, s + P[i])
    else if LCS[i-1, j] > LCS[i, j-1]:
        return backtrack(LCS, A, B, i-1, j, s)
    else if LCS[i-1, j] < LCS[i, j-1]:
        return backtrack(LCS, A, B, i, j-1, s)
    else:
        return max(backtrack(LCS, A, B, i-1, j, s),
                   backtrack(LCS, A, B, i, j-1, s))