强制自动完成以在javascript单击上填充

时间:2018-08-23 16:28:39

标签: javascript google-chrome-extension click bookmarklet

我正在研究Bookmarklet,并且Javascript中的单击功能存在问题。 在Google主页上,如果我手动单击搜索栏,则它会填充最近的搜索,但是当我进入开发人员控制台并在搜索框元素上使用click()时,它不会填充我的最近搜索。

Manual Click

Console Click

1 个答案:

答案 0 :(得分:0)

似乎您应该模拟鼠标事件。也许是这样的:

javascript:(function() {
    fireMouseEvent(document.querySelector("#lst-ib"));

    function fireMouseEvent(eltTarget) {
        var screenX, screenY, clientX, clientY;
        var event = document.createEvent('MouseEvents');
        event.initMouseEvent('mousedown', true, true, window, 1, screenX, screenY, clientX, clientY, false, false, false, false, 0, null);
        eltTarget.dispatchEvent(event);
    }
})();