获取与DOM元素关联的事件列表

2024-09-28 22:25:01 发布

您现在位置:Python中文网/ 问答频道 /正文

在Firefox中,可以在开发者工具的Inspect元素中看到与每个元素相关的事件。 enter image description here

我希望有一个与之关联的元素和事件列表,以编程方式。最好使用selenium+python

我知道有getEventListeners函数可以在Chrome的开发工具中使用,但在Selenium中无法访问

我浏览了this question中提供的大多数解决方案,但没有找到任何解决问题的方法

我的最终目标是迭代抛出给定页面的html元素,并执行每个元素的事件


Tags: 工具函数元素列表selenium编程方式事件
2条回答

您可以在一定程度上使用python+selenium(仅限chrome)实现这一点:

body = driver.execute_cdp_cmd("Runtime.evaluate", {"expression": "document.body"})
listeners = driver.execute_cdp_cmd("DOMDebugger.getEventListeners", {"objectId": body["result"]["objectId"]})

将来可能与之相关的人

@pguardiario提供的solution收集了大多数事件,但就我测试此解决方案而言,它不收集ReactjQuery

为了克服这个问题并收集ReactjQuery事件,我深入研究了firefox源代码,发现firefox使用某种parser来显示ReactjQuery事件,与Visual Events 2解决方案相同

相关问题 更多 >