master
王兵 4 months ago
parent 449e0e0fab
commit 487671a982

@ -7,6 +7,11 @@ import com.teamdev.jxbrowser.chromium.ResponseStartedParams;
import com.teamdev.jxbrowser.chromium.ba; import com.teamdev.jxbrowser.chromium.ba;
import com.teamdev.jxbrowser.chromium.dom.By; import com.teamdev.jxbrowser.chromium.dom.By;
import com.teamdev.jxbrowser.chromium.dom.DOMDocument; 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.ConsoleEvent;
import com.teamdev.jxbrowser.chromium.events.ConsoleListener; import com.teamdev.jxbrowser.chromium.events.ConsoleListener;
import com.teamdev.jxbrowser.chromium.events.FinishLoadingEvent; import com.teamdev.jxbrowser.chromium.events.FinishLoadingEvent;
@ -62,7 +67,6 @@ public class Demo {
browser.setDialogHandler(new DefaultDialogHandler(browserView)); browser.setDialogHandler(new DefaultDialogHandler(browserView));
browser.setPopupHandler(new DefaultPopupHandler()); browser.setPopupHandler(new DefaultPopupHandler());
jFrame.getContentPane().add(browserView, BorderLayout.CENTER); jFrame.getContentPane().add(browserView, BorderLayout.CENTER);
jFrame.setSize(800, 600);//初始大小 jFrame.setSize(800, 600);//初始大小
jFrame.setLocation(0, 0);//位置 jFrame.setLocation(0, 0);//位置
@ -100,20 +104,39 @@ public class Demo {
@Override @Override
public void onFinishLoadingFrame(FinishLoadingEvent event) { public void onFinishLoadingFrame(FinishLoadingEvent event) {
if (event.isMainFrame()) { 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("加载完成..."); System.out.println("加载完成...");
} }
} }
}); });
// 休眠3秒 // 休眠3秒
sleep(3); sleep(1);
browser.getContext().getNetworkService().setNetworkDelegate(new DefaultNetworkDelegate() { browser.getContext().getNetworkService().setNetworkDelegate(new DefaultNetworkDelegate() {
private Map<String, ByteArrayOutputStream> responseMap = new HashMap<>(); private Map<String, ByteArrayOutputStream> responseMap = new HashMap<>();
private boolean isFollow(String url) { private boolean isFollow(String url) {
if (url.contains("login")) { if (url.equals("/auth/login")) {
return true; return true;
} }
return false; return false;
@ -154,7 +177,7 @@ public class Demo {
}); });
browser.loadURL("http://test.wbsite.xyz:8027/login.htm"); browser.loadURL("http://test.wbsite.xyz:8027/login.htm");
sleep(3); sleep(1);
// 设置input // 设置input
DOMDocument document = browser.getDocument(); DOMDocument document = browser.getDocument();

Loading…
Cancel
Save

Powered by TurnKey Linux.