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();