首页 >web前端 >js教程 >如何在 PhantomJS 中模拟点击?

如何在 PhantomJS 中模拟点击?

Susan Sarandon
Susan Sarandon原创
2024-12-05 09:52:091012浏览

How to Simulate a Click in PhantomJS?

在 PhantomJS 中单击元素

要在 PhantomJS 中单击元素,不支持标准 .click() 方法。相反,必须创建并调度一个事件。

请考虑以下代码:

page.evaluate(function() {
    document.getElementById('idButtonSpan').click();  
});

此代码将导致错误,因为 .click() 不是函数。要解决此问题,请创建一个事件并调度它:

function click(el){
    var ev = document.createEvent("MouseEvent");
    ev.initMouseEvent(
        "click",
        true /* bubble */, true /* cancelable */,
        window, null,
        0, 0, 0, 0, /* coordinates */
        false, false, false, false, /* modifier keys */
        0 /*left*/, null
    );
    el.dispatchEvent(ev);
}

然后,您可以使用此函数单击一个元素:

page.evaluate(function() {
    click(document.getElementById('idButtonSpan'));  
});

以上是如何在 PhantomJS 中模拟点击?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn