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。如果有人知道信息的位置,我会打开这个问题,并且可以发布更详细的说明