0

ボタンを押してページ上のフォームを送信するために使用される単純な HTML ユニット コードがありますが、動作したくありません。これは私のコードです:

    public static boolean sub(String ref, String zip) throws Exception {
WebClient webClient = new WebClient(BrowserVersion.FIREFOX_3_6);
webClient.getOptions().setRedirectEnabled(true);
webClient.getOptions().setJavaScriptEnabled(true);
webClient.getCookieManager().setCookiesEnabled(true);

    final HtmlPage page1 = webClient.getPage("http://site.com/");
    webClient.waitForBackgroundJavaScript(20000);


    final HtmlButton button = page1.getFirstByXPath("//*[@id=\"lookup\"]");
    final HtmlTextInput orderField = page1.getFirstByXPath("//*[@id=\"order-number\"]");
    final HtmlTextInput zipField = page1.getFirstByXPath("//*[@id=\"order-user-info\"]");

    orderField.setValueAttribute(ref);
    zipField.setValueAttribute(zip);
    final HtmlPage page2 = button.click();
        webClient.waitForBackgroundJavaScript(20000);

    System.out.println(page2.asText());
    webClient.closeAllWindows();
    return true;
}

これは、最初のページのテキストを印刷するだけですが、テキスト ボックスは入力されています。どんな助けでも大歓迎です。

更新: 新しい情報で見つけました。正しい注文番号を入力すると、リダイレクト先のページではなく、テキストボックスが入力された現在のページが表示されるだけのようですが、間違った情報を入力すると、現在のページが入力されたテキスト ボックスと、「間違った情報」エラー メッセージ。これはリダイレクトされていないようです...

4

1 に答える 1