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

时间:2013-06-16 02:53:50

标签: node.js web-scraping web-crawler phantomjs casperjs

有些情况下,网站会在浏览器中询问此表单中的用户名和密码(附上照片)。是否可以使用Casper.js填写此内容?

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

enter image description here

更新1:

我尝试了这个并且没有用。

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

此登录框位于Windows 7中,因为我使用了代理,因此弹出了它。我必须这样做的原因是因为casperjs --proxy=x.x.x.x --proxy-auth=u:p不起作用(至少在Win7上)

2 个答案:

答案 0 :(得分:2)

从截图中,您似乎正在处理HTTP基本身份验证。如果是这种情况,那么您应该能够使用以下网址格式:

http://username:password@www.example.com/path

Wikipedia Link

虽然,我没有测试它是否适用于CasperJS

答案 1 :(得分:0)

您应该可以使用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();