Watir - 无法在 IE8 上通过基本身份验证

Watir - Cannot get through basic authentication on IE8

我在使用 Watir 的 IE8 上通过我们网站之一的基本身份验证时遇到问题。

当我导航(转到)url 时,将显示基本身份验证对话框,显示 'Connect to ' 作为标题,带有用户名、密码编辑字段和确定、取消按钮(通常! ). 在 Watir 中,通过以下代码后:

b = Watir::Browser.new
b.goto '<our url>'

显示了对话框,但 goto 语句从未完成。如果我手动取消或登录,那么 goto 语句 returns 一个数字(顺便说一句,这在 IRB 中)。

我做了很多调查并尝试了各种想法,但现在似乎被难住了!

当我们手动登录网站时,我们必须像下面这样传递我们的凭据:

User Name: <domain>\<username>
Password: <password>

我已经在 url 字符串中试过了,即

http://<domain>\<username>:<password>@<url>:<port> 

http://lnd\mbartram:mypassword@xxx.xx.xx.xx:xxxx

但这在代码中不起作用,或者如果我在地址栏中手动输入它。 也许我需要转义 \ 部分才能使其正常工作,但如何转义?

非常感谢任何帮助。 M.

好的,使用了一些 hack,但它对我来说一直有效。我正在使用一个简单的 Wscript.Shell SendKeys 方法。见下文:

`start #{theURL]`

loginDialog = WIN32OLE.new('Wscript.Shell')
loginDialog.AppActivate('Connect to #{ip}')
sendKeys = "#{userName}{TAB}"
loginDialog.SendKeys(sendKeys)
sleep(1)
sendKeys = "#{password}{TAB}{ENTER}"
loginDialog.SendKeys(sendKeys)