我學習CasperJS,並已能夠登錄到使用fill()
一個網站,但一直無法使用this.evaluate()
或this.sendKeys()
CasperJS - 使用填()與評價()VS的SendKeys()
上午什麼我做錯了this.evaluate()
& this.sendKeys()
?
這工作:
casper.then(function() {
this.fill('form[class="login-form"]', {
'session_key': 'username',
'session_password': 'password'
}, true);
});
然而,這些都不做:
casper.then(function() {
this.evaluate(function(username, password) {
document.querySelector('input#login-email').value = username;
document.querySelector('input#login-password').value = password;
document.querySelector('input[value="Sign in"]').click();
}, 'username', 'password');
})
或
casper.then(function() {
this.sendKeys('input#login-email', 'username');
this.sendKeys('input#login-password', 'password');
this.click('input[value="Sign in"]')
})
我沒有看到頁面標記,讓那些選擇是完全錯誤有可能。另一種可能是點擊不起作用。 'element.click()'幾乎永遠不會工作,'casper.click(sel)'幾乎總能正常工作,但有時候它不起作用。有一個原因,爲什麼有多種方式來做*看似*相同的事情。 –