【问题标题】:Casper.js to fill out browser username and password?Casper.js 填写浏览器用户名和密码?
【发布时间】:2013-06-16 02:53:50
【问题描述】:

在某些情况下,网站会从浏览器中以这种形式(下附照片)询问用户名和密码。是否可以使用 Casper.js 来填写?

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

更新 1:

我试过了,没用。

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

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

【问题讨论】:

  • 看看pageSettings.userName和pageSettings.password选项here
  • 它没有用。我尝试并更新了问题。

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


【解决方案1】:

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

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

Wikipedia Link

不过,我没有测试它是否适用于 CasperJS

【讨论】:

  • 这是代理。由于某种原因,普通代理命令行在 Casperjs Windows 中不起作用
【解决方案2】:

您应该能够为此使用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();

【讨论】:

    猜你喜欢
    • 2013-11-03
    • 2014-07-02
    • 2014-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多