Mouseevent不是构造函数|Phantomjs / Selenium Webdriver(Python)



i直接从DevTool的控制台将以下代码粘贴到driver.execute_script块中。从浏览器执行时,观察到的行为是我希望的。但是,当通过execute_script执行时,我从Selenium

获得MouseEvent is not a constructor错误

这是代码

self.driver.execute_script('''
        var mousedownEvent = new MouseEvent('mousedown');
        mousedownEvent.initMouseEvent('mousedown', true, true);
        arguments[0].dispatchEvent(mousedownEvent);
''', dropdown_container.find_element_by_css_selector('span.select2-chosen'))

问题是phantomjs不支持我用于创建鼠标事件的API。

相反,这是我使用的代码:

self.driver.execute_script('''
    var me = document.createEvent("MouseEvent");
    me.initEvent(
        "mousedown",
        true,
        true,
    );
    arguments[0].dispatchEvent(me);
''', my_element)

我找不到有关Phantomjs网站上有关事件的支持API的任何文档,也没有在源代码之外看到Ghostdriver。如果有人知道信息的位置,我会打开这个问题,并且可以发布更详细的说明

最新更新