0

我使用浏览器模块(https://github.com/shinout/browser)在 node.js 中测试表单提交,并通过运行以下代码成功:

var $b = new browser();
$b.submit({
  from : 'https://accounts.google.com/Login',
  selector: "#gaia_loginform",
  data : {
    Email  : "XXXXXX@gmail.com",
    Passwd : "XXXXXXXX"
  }
});

// authenticated access
$b.browse('https://mail.google.com/mail/u/0/?ui=html&zy=d')
.after(); // browse after previously registered function

$b.on("end", function(err, out) {
  console.log(out.url, out.result, out.responseHeaders);
});

$b.run();

但是当我在 $b.run() 之后添加其他代码时

$b.browse('https://mail.google.com').after();
$b.run();

我收到以下错误:

Junjo.register cannot be called when the template is frozen.

我不知道为什么。任何帮助,将不胜感激。

4

1 回答 1

0

从我能够从源代码中读取的内容来看,浏览器模块不支持使用单个浏览器实例运行多个作业。方法$b.run()将对象标记为冻结,这会导致方法browse抛出您得到的错误。

于 2013-05-30T18:02:42.820 回答