簡體   English   中英

JS測試:從CasperJS和PhanthomJS觸發jQuery keypress事件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM