如何通过填写CasperJs中的表单进行登录 [英] How to Login by filling the form in CasperJs
本文介绍了如何通过填写CasperJs中的表单进行登录的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
以下是我的登录表单的hlml
Following is the hlml of the login form that I have
<div class="login_area_user">
<form method="post" action="https://www.tradus.com/login?dest_url=https://www.tradus.com/cart/select-address" id="user-login">
<input type="hidden" value="1" name="form_submit">
<h3 style="display:inline-block;">Already a Member</h3>
<p id="login-main-center-right-descp">You can use tradus login id and password</p>
<div class="login-row">
<label class="colorBlack">Email / Login*</label>
<input class="login-field" type="text" name="name" id="edit-namepopup">
</div> <!-- [/login-row] -->
<div class="login-row">
<label>Password</label>
<input class="login-field" type="password" id="edit-passpopup" name="pass">
</div> <!-- [/login-row] -->
<div class="login-row">
<a class="forgotPassword" href="/forgot_password">Forgot your password?</a>
<!--input type="checkbox" name="remember" /><span>Remember me</span-->
</div>
<div class="login-row">
<input class="login-button" value="Login" type="submit">
</div>
<input type="hidden" name="op" value="Log in">
</form>
</div>
使用以下代码登录:
this.fill('form#user-login', {
'form_submit': 1,
'name': 'abc@gmail.com',
'pass': 'pwd',
'op': 'Log in'
}, true);
但我不喜欢它为我做的事情。
But I dont thing its doing the thing for me.
推荐答案
casper.waitForSelector("form input[name='name']", function() {
this.fillSelectors('form#user-login', {
'input[name = name ]' : 'abc@gmail.com',
'input[name = pass ]' : 'pwd'
}, true);
});
只需使用它(参见 waitForSelector docs )。
首先,等待表单加载。
然后使用选择器填写表格。
Simply use this (see waitForSelector docs). Firstly, wait for the form to be loaded. Then fill the form using the selectors.
这篇关于如何通过填写CasperJs中的表单进行登录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文