[英]JS Testing: Trigger jQuery keypress event from CasperJS and PhanthomJS
我的網頁上有一個Enter鍵按下事件的偵聽器。 我正在嘗試運行下面的casperjs代碼來觸發此事件,但是沒有成功。
盡管沒有提示錯誤,但(evaluate)函數返回true,並且代碼從我的chrome控制台正常運行,該函數結果應該是向服務器發送請求,但從未發生
casper.then(function(){
var result = this.evaluate(function(term){
var search_form_id = "#search-form";
$(search_form_id).val(term);
jQuery(search_form_id).trigger(jQuery.Event('keypress', {which: 13, keyCode: 13}));
return true;
}, 'Techcrunch');
console.log(result);
});
關於PhantomJS和jQuery事件有什么問題嗎?
看起來,您無法使用jQuery觸發keypress
事件。 有使用基礎casper.page.sendEvent
函數的解決方法。 盡管有必要將重點放在元素上,但將在其中觸發keypress
。 在下面的示例中,我使用sendKeys
函數的keepFocus
選項。
var casper = require('casper').create();
casper.start("https://duckduckgo.com/");
casper.then(function() {
this.sendKeys("#search_form_homepage input[name=q]", "casperjs", { keepFocus: true });
this.capture("typed.png");
this.page.sendEvent("keypress", this.page.event.key.Enter);
});
casper.waitForSelector("#links_wrapper");
casper.then(function() {
this.capture("searched.png");
});
casper.run();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.