diff --git a/src/main/java/com/example/jxbrowser/Demo.java b/src/main/java/com/example/jxbrowser/Demo.java index 99e8c00..035aae4 100644 --- a/src/main/java/com/example/jxbrowser/Demo.java +++ b/src/main/java/com/example/jxbrowser/Demo.java @@ -7,6 +7,11 @@ import com.teamdev.jxbrowser.chromium.ResponseStartedParams; import com.teamdev.jxbrowser.chromium.ba; import com.teamdev.jxbrowser.chromium.dom.By; import com.teamdev.jxbrowser.chromium.dom.DOMDocument; +import com.teamdev.jxbrowser.chromium.dom.events.DOMEvent; +import com.teamdev.jxbrowser.chromium.dom.events.DOMEventListener; +import com.teamdev.jxbrowser.chromium.dom.events.DOMEventType; +import com.teamdev.jxbrowser.chromium.dom.internal.Element; +import com.teamdev.jxbrowser.chromium.dom.internal.KeyEvent; import com.teamdev.jxbrowser.chromium.events.ConsoleEvent; import com.teamdev.jxbrowser.chromium.events.ConsoleListener; import com.teamdev.jxbrowser.chromium.events.FinishLoadingEvent; @@ -62,7 +67,6 @@ public class Demo { browser.setDialogHandler(new DefaultDialogHandler(browserView)); browser.setPopupHandler(new DefaultPopupHandler()); - jFrame.getContentPane().add(browserView, BorderLayout.CENTER); jFrame.setSize(800, 600);//初始大小 jFrame.setLocation(0, 0);//位置 @@ -100,20 +104,39 @@ public class Demo { @Override public void onFinishLoadingFrame(FinishLoadingEvent event) { if (event.isMainFrame()) { + DOMDocument document = browser.getDocument(); + document.getDocumentElement().addEventListener(DOMEventType.OnClick, new DOMEventListener() { + @Override + public void handleEvent(DOMEvent domEvent) { + Element target = (Element) domEvent.getTarget(); + String xPath = target.getXPath(); + System.out.println(xPath + "==>OnClick"); + } + }, true); + document.getDocumentElement().addEventListener(DOMEventType.OnKeyPress, new DOMEventListener() { + @Override + public void handleEvent(DOMEvent domEvent) { + KeyEvent keyEvent = (KeyEvent) domEvent; + + Element target = (Element) domEvent.getTarget(); + String xPath = target.getXPath(); + System.out.println(xPath +"["+ keyEvent.getDetail()+"]==>OnKeyPress"); + } + }, true); System.out.println("加载完成..."); } } }); // 休眠3秒 - sleep(3); + sleep(1); browser.getContext().getNetworkService().setNetworkDelegate(new DefaultNetworkDelegate() { private Map responseMap = new HashMap<>(); private boolean isFollow(String url) { - if (url.contains("login")) { + if (url.equals("/auth/login")) { return true; } return false; @@ -154,7 +177,7 @@ public class Demo { }); browser.loadURL("http://test.wbsite.xyz:8027/login.htm"); - sleep(3); + sleep(1); // 设置input DOMDocument document = browser.getDocument();