2017-08-24 5 views
0

私はページにフォームを提出する必要があります。私はナビゲートし、スクリプトを注入し、フォームに記入して提出します。JXBrowser、window.location = another urlを待っています

しかし、フォームは標準ポストをAJAXではない、ので、すべては、ブラウザによってを再ロードされますです。

新しいページが実際に再読み込みされたときには、どのような方法が最適かを知ることができますか?私はloadURL()を使用してURLに移動しませんでしたが、ページがブラウザ自体の中にリロードされてから

loadAdapter機能は、使用できなくなります。

私は手作業で一定時間寝ることができましたが、よりよい解決策があるかどうかを知りたいと思います。

答えて

1

標準的なPOST要求に対しては、LoadAdapterを使用できます。以下のサンプルコードをご覧ください:

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"); 
} 
} 
関連する問題