8

在 Firefox 中,可以在开发人员工具的 Inspect Element 中查看与每个元素相关的事件。 在此处输入图像描述

我想以编程方式列出与之关联的元素和事件。最好使用硒+蟒蛇。

我知道getEventListenersChrome 的开发人员工具中有可以使用的功能,但在 Selenium 中无法访问。

我经历了这个问题中提供的大多数解决方案,但没有找到解决我的问题的方法。

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

4

2 回答 2

6

您可以在一定程度上使用 python + selenium(仅限 Chrome)执行此操作:

body = driver.execute_cdp_cmd("Runtime.evaluate", {"expression": "document.body"})
listeners = driver.execute_cdp_cmd("DOMDebugger.getEventListeners", {"objectId": body["result"]["objectId"]})
于 2020-06-14T09:12:57.320 回答
1

将来可能与谁有关!

@pguardiario 提供的解决方案收集了大多数事件,但据我测试此解决方案,不收集Reactand 。jQuery

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

于 2020-06-28T13:46:22.897 回答