JXBrowser,正在等待window.location=另一个url

JXBrowser,正在等待window.location=另一个url,jxbrowser,Jxbrowser,我必须在页面上提交一份表格。我导航,注入脚本,然后填写表单,然后点击提交 但是,表单是标准的post,不是ajax,因此浏览器将重新加载所有内容 找出新页面何时实际重新加载的最佳方法是什么 loadAdapter功能届时将不可用,因为我没有使用loadURL()导航到url,但页面已在浏览器中重新加载 我可以手动睡眠一段时间,但我想知道是否有更好的解决方案 您可以将LoadAdapter用于标准POST请求。请查看下面的示例代码: import com.teamdev.jxbrowser.chr

我必须在页面上提交一份表格。我导航,注入脚本,然后填写表单,然后点击提交

但是,表单是标准的post,不是ajax,因此浏览器将重新加载所有内容

找出新页面何时实际重新加载的最佳方法是什么

loadAdapter功能届时将不可用,因为我没有使用loadURL()导航到url,但页面已在浏览器中重新加载


我可以手动睡眠一段时间,但我想知道是否有更好的解决方案

您可以将LoadAdapter用于标准POST请求。请查看下面的示例代码:

import com.teamdev.jxbrowser.chromium.Browser;
import com.teamdev.jxbrowser.chromium.events.FinishLoadingEvent;
import com.teamdev.jxbrowser.chromium.events.FrameLoadEvent;
import com.teamdev.jxbrowser.chromium.events.LoadAdapter;
import com.teamdev.jxbrowser.chromium.swing.BrowserView;
import java.awt.BorderLayout;
import javax.swing.JFrame;
import javax.swing.WindowConstants;

public class LoadListenerSample {
public static void main(String[] args) {
    final Browser browser = new Browser();
    BrowserView view = new BrowserView(browser);

    JFrame frame = new JFrame();
    frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    frame.add(view, BorderLayout.CENTER);
    frame.setSize(800, 600);
    frame.setLocationRelativeTo(null);
    frame.setVisible(true);

    browser.addLoadListener(new LoadAdapter() {

        @Override
        public void onFinishLoadingFrame(FinishLoadingEvent event) {
            System.out.println("LoadListenerSample.onFinishLoadingFrame");
        }

        @Override
        public void onDocumentLoadedInFrame(FrameLoadEvent event) {
            System.out.println("LoadListenerSample.onDocumentLoadedInFrame");
        }


    });

    browser.loadURL("https://www.w3schools.com/html/tryit.asp?filename=tryhtml_form_submit");
}
}