Java 如何检测窗格中呈现的网页的Html元素

Java 如何检测窗格中呈现的网页的Html元素,java,actionlistener,Java,Actionlistener,我正在设计一个带有Java集成webbrowser的web应用程序测试工具,以实现我使用的浏览器JeditorPane的HTMLEditorKit,它提供了最基本的功能,这对我来说是可行的 现在我想检测所有html元素,如按钮、列表、下拉列表、文本字段等,并记录用户与这些元素交互时这些元素的行为。(例如,网页文本框中的用户类型) 我尝试在JeditorPane上使用actionListeners来检测添加组件的事件,但没有积极的结果。JeditorPane的所有EventsListener将无法

我正在设计一个带有Java集成webbrowser的web应用程序测试工具,以实现我使用的浏览器JeditorPane的HTMLEditorKit,它提供了最基本的功能,这对我来说是可行的

现在我想检测所有html元素,如按钮、列表、下拉列表、文本字段等,并记录用户与这些元素交互时这些元素的行为。(例如,网页文本框中的用户类型)

我尝试在JeditorPane上使用actionListeners来检测添加组件的事件,但没有积极的结果。JeditorPane的所有EventsListener将无法处理其中显示的textbox(网页表单)等html元素

有什么方法可以检测并监听JeditorPane中呈现的html元素(尤其是web表单)的操作,当我提供url时,会动态加载该元素。

要呈现这些元素(让我们称它们为控件),EditorIt使用ComponentView和扩展。On paint()ComponentView创建一个容器-内部类无效器。无效化器实际上包含来自元素属性的控件

因此,在绘制()完成后,您可以获得JEditorPane的子级列表。我认为该列表将只包含无效者。并询问每个失效者关于内部组件的信息。因此,您将拥有在JEditorPane中创建的实际控件列表

然后,您可以根据组件类型添加任何侦听器来注册任何活动。
在每次文档更改事件(插入/删除/更新)中,您应该在下一次绘制()后重新检查列表中的更改,并相应地更新数据。

Thanx以获取帮助。它通过使用JeditorPane容器内部类上的事件来工作。我们必须把上集装箱的孩子们当作集装箱,所以我检查了另一个资源,给出了类似的答案: