如何在Chrome devtool控制台上触发点击事件?

use*_*948 5 javascript debugging google-chrome-devtools

如何使用Chrome-devtool的控制台来测试我的javascript是否有效?我找到了xpath并将其转换为css定位器.基本上它是一个按钮,将颜色从灰色变为blye.

这是我的代码片段:browser.execute_script("$('button.nominate').trigger('tap');")

在控制台上,我尝试了类似的东西:

$( 'button.nominate').触发器( '点击')

结果如下:

[]

我以为它会点击按钮

Kon*_*nel 8

我想你正在对你的移动应用程序进行某种功能测试.我前段时间做了同样的事情(使用CasperJS),在这个过程中,我创建了这个函数:

// I've commented out CasperJS specific stuff, don't use it if you don't need it
function triggerEventOnPage(selector, eventName, memo) {
    //casper.evaluate(function(selector, eventName, memo){
        var event;
        var element = document.querySelector(selector);

        event = document.createEvent("Event");
        event.initEvent(eventName, true, true);
        event.memo = memo || { };

        element.dispatchEvent(event);
    //}, selector, eventName, memo);
    //wait();
}
Run Code Online (Sandbox Code Playgroud)

您可以通过调用以下方法在测试中使用它:

triggerEventOnPage(".edit-list-button", 'tap');
Run Code Online (Sandbox Code Playgroud)

但是,请注意,没有本机tap事件.只有touchstart,tachmove,touchend事件和执行tap基于这三个上完成的.因此,tap您正在使用的事件的实现可能与我正在使用的事件不同,并且上述功能可能对您不起作用.

编辑:既然你正在使用jQuery,$('button.nominate').trigger('tap')应该工作得很好.@NULL可能是你的选择器无效的.