|
|
|
@ -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<String, ByteArrayOutputStream> 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();
|
|
|
|
|