我在使用 casperjs 与 jquery 自动完成输入框交互时遇到问题。我尝试了许多不同的方法,但是当弹出选项列表时,我似乎无法选择自动完成选项。
我的代码如下:
casper.thenEvaluate(function() {
$('#myInput').val('cars'); // fill in the text box
$('#myInput').blur(); // should trigger the autocomplete ajax call
$('.ui-autocomplete li.ui-menu-item:nth-of-type(1)').click(); // should click the first item in the list
});
// take a picture to make sure it worked
casper.then(function() {
this.captureSelector('pics/test1.png', '#theForm');
});
这根本不起作用,即使它看起来应该如此。通过玩弄它,我发现触发向下箭头按键几次会触发自动完成显示,所以这是一个更接近工作的版本。这在浏览器中有效,但由于某种原因不适用于 casper.thenEvaluate 块。
$('#myInput').val('cars'); // fill in the text box
var e = jQuery.Event("keydown");
e.which = 40; // press down arrow a few times, not sure why this works
$("#myInput").trigger(e);
$("#myInput").trigger(e);
$('.ui-autocomplete li.ui-menu-item:nth-of-type(1)').click();