我正在使用Watir登录并在下一页上做一些事情。 这适用于Firefox,但chrome加载:
“您想要谷歌保存您的密码”对话框
让Watir挂起。从irb运行脚本,我注意到了 那时我无法访问浏览器对象。
点击“从不为此网站”或“保存密码”似乎也不起作用 因为似乎每次webdriver加载chrome时,它都会加载一个新的 会话。
有什么想法吗?
答案 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))