2013-05-30 155 views
0

提交表單我使用的瀏覽器模塊(https://github.com/shinout/browser)來測試node.js的表單提交,它是通過運行下面的代碼成功:模塊在node.js中

var $b = new browser(); 
$b.submit({ 
    from : 'https://accounts.google.com/Login', 
    selector: "#gaia_loginform", 
    data : { 
    Email : "[email protected]", 
    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(); 

但是當我添加

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

我不硝酸鉀:$ b.run()

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

我得到了下面的錯誤後附加代碼爲什麼。任何幫助,將不勝感激。

回答

0

從我能夠從源文件中讀取的內容來看,瀏覽器模塊不支持使用單個瀏覽器實例運行多個作業。方法$b.run()將對象標記爲凍結,這會導致像browse這樣的方法拋出您收到的錯誤。

+0

第一個$ b.run()存儲我想要的$ b中的cookie。如果我想稍後使用cookie,我應該怎麼做?謝謝。 –

+0

我可以調用$ b.run()後再次調用$ b.run()嗎?等待你的幫助。謝謝。 –

+0

爲什麼不嘗試再次自己調用$ b.run()?但似乎第一個電話設置了一個標誌,第二個電話什麼都不做。我以爲你會想重用cookie,但我沒有找到一個方法如何做到這一點:(爲什麼不寫一封電子郵件給瀏覽器模塊的作者?https://github.com/shinout –