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

标签 javascript debugging google-chrome-devtools

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

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

在控制台上,我尝试了类似的操作:

$('button.nominate').trigger('tap')

结果如下图:

[]

我以为它会点击按钮

最佳答案

我想您正在对您的移动应用进行某种功能测试。前段时间我也在做同样的事情(使用 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();
}

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

triggerEventOnPage(".edit-list-button", 'tap');

但是,请注意没有原生的 tap 事件。只有 touchstarttachmovetouchend 事件,tap 的实现是基于这三个事件完成的。因此,您正在使用的 tap 事件的实现可能与我正在使用的不同,并且上述功能可能不适合您。

编辑:因为您使用的是 jQuery,$('button.nominate').trigger('tap') 应该可以正常工作。 @NULL 可能是正确的,您的选择器无效。

关于javascript - 如何在 Chrome devtool 控制台上触发点击事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18823530/

相关文章:

javascript - OPTION 标签内容中静态文本加上状态值的不变违规

memory-management - 如何分析 Dart 应用程序中的内存使用情况?

javascript - chrome javascript内存分析器中的系统对象是什么

c - 了解 gdb 格式

python - 如何调试 Openstack 仪表板?

node.js - 使用 puppeteer 如何获取 Node 的所有子 Node ?

javascript - 添加新字段时为 FieldArray 中的 redux-form Field 赋予默认值

javascript - 将 CSS 样式的 HTML 导出为 PDF

javascript - 为什么 JavaScript Date 对象构造函数不能正常工作?

c - gst_mini_object_init 中的段错误