当添加回调函数时,phantomJS的click()不起作用
phantomJS click() not working when added a callback function
我有这个脚本测试jquery的click()功能在phantomJS。
var page = require('webpage').create(),
address;
address="https://jsfiddle.net/t8atxcfL/";
page.onConsoleMessage = function(msg) {
console.log('eval- ' + msg);
};
page.open(address, function(status){
if(status==="success"){
console.log("Page loaded");
page.viewportSize={width:1920, height:1080};
page.render("before.png");
page.includeJs("//ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js", function(){
console.log("executing jquery");
var toFocus = page.evaluate(function(){
console.log("getting iframe name...")
return document.getElementsByTagName("iframe")[0].name;
});
page.switchToFrame(toFocus);
page.evaluate(function() {
console.log($("#par").text());
$("#par").click();
console.log($("#par").text());
});
page.viewportSize={width:1920, height:1080};
page.render("after.png");
phantom.exit();
});
}
});
这个版本似乎工作得很好,输出是:
user@home$ phantomjs chooseframe.js
Page loaded
executing jquery
eval- getting iframe name...
eval-
Before clicking...
eval- I was clicked
问题是当我用$("#par").click(function(){console.log("I am now clicking")});
代替$("#par").click();
则输出变为
user@home$ phantomjs chooseframe.js
Page loaded
executing jquery
eval- getting iframe name...
eval-
Before clicking...
eval-
Before clicking...
问题是,即使回调函数为空,如$("#par").click(function(){});
,即使我删除phantom.exit()
行,输出保持不变,无论我等待多久。
谁能告诉我如何使.click()
工作的预期方式,或者为什么它不能工作?
$("#par").click();
触发链接的现有点击处理程序,而后面的示例设置了一个新的点击处理程序,但没有点击元素来触发点击处理程序。
只需确保在添加click处理程序后单击:
$("#par").click(function() {
console.log("I am now clicking");
});
$("#par").click();
相关文章:
- 不知道为什么ng-click不起作用
- jQuery .submit( [callback] ) 中的 .click 不起作用
- Jquery livequery 'click' 不起作用
- live('click' 不起作用,但在 IE 8 中 .click( workig
- 应用ng-pressstart和ng-pressend指令后,Angularjs ng-click不起作用
- 当使用ng-include构建树时,我的'ng-click'不起作用
- Angular Datatable ng-click不起作用
- AngularJS, UI bootstrap, MVC Frontend - data-ng-click不起作用
- 响应模式下的数据表ng-click不起作用
- jQuery .click()不起作用
- 如果元素是由指令生成的,则Ng-click不起作用
- casperJS如何在从web收集数据的同时单击表中的多个链接/.click()不起作用
- $('element').click()不起作用
- Jquery toggleclass和click不起作用
- Angularjs的ng-click不起作用
- Angularjs: ng-click不起作用
- PhantomJS .click()不起作用
- AngularJS的ng-click不起作用
- 当添加回调函数时,phantomJS的click()不起作用
- ng-click不起作用的AngularJS和数据表