Casper.js填写浏览器的用户名和密码?

某些情况下,网站会在浏览器中以这种forms询问用户名和密码(附图)。 有没有可能使用Casper.js填写这个?

Casper.fill只能在HTML表单中执行。 http://casperjs.org/api.html#casper.fill

在这里输入图像说明

更新1:

我试过这个,并没有工作。

var casper = require("casper").create({ pageSettings: { userName: "myusername", password: "mypassword" } }); 

这个login框是在Windows 7中,它popup的原因是因为我使用了代理。 而我必须这样做的原因是因为casperjs --proxy=xxxx --proxy-auth=u:p不起作用(至less在Win7上)

从截图看来,你正在处理HTTP基本authentication。 如果是这种情况,那么你应该能够使用以下的url格式:

HTTP://用户名:password@www.example.com/path

维基百科链接

虽然,我没有testing它是否在CasperJS中工作

你应该可以使用setHttpAuth()函数来setHttpAuth()这一点:

 var casper = require("casper").create(); casper.start(); casper.setHttpAuth('sheldon.cooper', 'b4z1ng4'); casper.thenOpen('http://password-protected.domain.tld/', function() { this.echo("I'm in. Bazinga."); }); casper.run();