如何使用没有表单标签的CasperJS填写表单
How to fill up form using CasperJS without form tag
我是CasperJS的新手,在登录此站点时遇到问题 http://weibo.com/login.php
这是我尝试过的
this.fill('form#contact-form', {
'username': 'test@test.com',
'password': 'anypassword',
}, true);
我不能使用它,因为它没有形式。
所以我尝试了使用发送键的不同方法。
this.sendKeys('.W_input ', 'tinkerbell@gmail.com');
现在我在这里的问题是输入文本中没有 ID,只有一个 CLASS,用户名和密码都有相同的 CLASS。 如何仅使用该类在该文本框中键入内容? 或者是否可以使用 XPath 使用发送密钥?
casper 支持 CSS3 选择器(tuts+ 有一个不错的你应该记住的前 30 个的概要),所以你可以做这样的事情:
this.sendKeys('input[name=username]', 'tinkerbell@gmail.com');
我使用查询选择器函数成功设置用户名和密码:
var casper = require("casper").create();
casper.start('http://www.weibo.com', function() {
this.evaluate(function(username, password) {
document.querySelector('input[node-type="username"]').value = username;
document.querySelector('input[node-type="password"]').value = password;
document.querySelector('.W_btn_g:eq(1)').click();
}, 'your_username', 'your_password');
});
casper.then(function() {
this.wait(50000, function() {
this.echo("50s");
});
});
casper.then(function() {
this.capture('weibo.png');
});
casper.run();
这是简单的casper js脚本来填写登录表单假设它提到了每个字段的 ID
casper.evaluate(function(username, password) { document.querySelector('input#user_email').value = username;
document.querySelector('input#user_password').value = password;
document.querySelector('input#login-button').click();
}, 'email@email.com', 'password');
相关文章:
- CasperJS填充表单-输入名称有方括号
- casperjs对表单使用waittentivisible
- 如何使用CasperJS填充未嵌入表单中的select元素
- 当表单不为空时,无法使用CasperJS编辑表单
- CasperJS表单未在AngularJS中提交
- CasperJS:如何填写asp表单
- CasperJS AJAX表单通过POST不起作用
- CasperJS:将图像上传到表单和流程
- 如何使用没有表单标签的CasperJS填写表单
- 在使用 CasperJS 提交表单之前注入其他值以供选择
- 当字段没有名称时,CasperJS填充表单
- CasperJS从不提交我的表单
- 无法验证表单是否已用CasperJS&jQuery
- 在casperjs上提交一个没有名称的表单
- CasperJS:登录表单没有找到
- 使用casperjs在表单上设置select
- 使用CasperJS/Javascript提交表单
- 用casperjs提交表单
- 发送http头在表单提交CasperJS
- 在CasperJS中使用eval()结果来填写表单