使用casperjs登录网站
Use casperjs to login a website
我想使用casperjs登录此网站http://forum.ngocrongonline.com/app/login.php
这是我的test.js
文件:
var casper = require('casper').create();
casper.start("http://forum.ngocrongonline.com/app/login.php", function () {
this.echo(this.getTitle());
this.echo('Start to login ...');
});
casper.then(function () {
this.echo("Filling username and password ...");
this.fillSelectors('form[name="login"]', {
'input[name="user"]': '<< my email >>',
'input[name="pass"]': '<< my password >>',
'input[name="server"]': '2'
}, true);
this.echo('Finish filling username and password!');
});
casper.thenEvaluate(function () {
document.querySelector('button[type="submit"]').submit();
this.capture('pic1.png', {
top: 100,
left: 100,
width: 500,
height: 400
});
this.echo('Finish capturing picture');
});
casper.run();
但是,当我尝试运行该脚本时,该脚本似乎没有运行casper.thenEvaluate
部分。因此,我无法拍摄图片来查看我是否真的登录了。有人能解释一下如何完成这项任务吗?
casper.evaluate()
提供了对PhantomJS和CasperJS中沙盒DOM上下文(页面上下文)的访问。evaluate()
内部的this
是指全局对象,该全局对象是window
而不是casper
。您不能访问casper
或在页面上下文之外定义的任何其他变量,只能将基元对象传入或传出(Docs:PhantomJS,CasperJS)。
由于您想要执行的操作是同步的,您可以简单地将其移出函数:
casper.thenEvaluate(function () {
document.querySelector('button[type="submit"]').submit();
});
casper.then(function () {
this.capture('pic1.png', {
top: 100,
left: 100,
width: 500,
height: 400
});
this.echo('Finish capturing picture');
});
相关文章:
- 突然间我可以't登录ASP.Net网站
- 使用 nodejs 通过蒸汽登录登录网站
- 将登录链接到另一个网站而不提供密码
- 如何创建一个提示用户输入登录id和密码的网站
- 从网站调用phpmyadmin中的存储过程来检查登录详细信息
- 使用Ajax登录网站
- Casperjs-登录https网站的脚本出错
- 为移动网站高效登录Facebook
- 如何使用脚本将twitter登录集成到我的网站
- 使用自制的html表单注册/登录网站
- Protractor:非角度登录到角度网站
- 如何创建Django网站的facebook登录
- 登录到网站并从页面获取html
- 防止Angular网站上未经授权的用户在重定向到登录之前看到网站的最佳方式
- 自动网站登录打开浏览器
- 如何使用社交网络帐户或其他网站登录
- jqueryget,post在尝试创建自动网站登录时不起作用
- 网站登录使用WebView Javascript Android
- 自动填写其他网站登录表单中的值
- 从我的网站登录gmail