2016-09-03 4 views
0

私はiPhoneのIMEI番号を確認するためにJavaで少しのスクリプトを作っています。 アップルからのこのサイトがあります: https://appleonlinefra.mpxltd.co.uk/search.aspxhtmlunitでASP動的ページのフォームに記入してください

IMEI番号を入力する必要があります。この数がOKであれば、それは、このページにあなたをドライブ:エルス https://appleonlinefra.mpxltd.co.uk/Inspection.aspx 、あなたはIMEIを入力して、私は検索ページを開きたい/search.aspxページ に滞在、提出、およびURLが変更されたかどうかを確認。私のコードにはIMEI番号があります。私はしばしばこのためHTMLUnitを使用して、私はこの問題を持っていなかったので、それは、どこから来る

HtmlPage page = webClient.getPage("https://appleonlinefra.mpxltd.co.uk/search.aspx"); 

HtmlTextInput imei_input = (HtmlTextInput)page.getElementById("ctl00_ContentPlaceHolder1_txtIMEIVal"); 

imei_input.setValueAttribute("012534008614194"); 

//HtmlAnchor check_imei = page.getAnchorByText("Rechercher"); 
//Tried with both ways of getting the anchor, none works 

HtmlAnchor anchor1 = (HtmlAnchor)page.getElementById("ctl00_ContentPlaceHolder1_imeiValidate"); 
page = anchor1.click(); 

System.out.println(page.getUrl()); 

私は見つけることができません。

は、ここに私のJavaコードです。おそらく、提出後に少しの時間がかかるからでしょうか?

はあなたがHTMLUnitがここ

を提供し、接続ラッパーを使用することにより、これを行うことができ、事前に

答えて

0

ありがとうたとえば上記接続ラッパーで

new WebConnectionWrapper(webClient) { 

     public WebResponse getResponse(WebRequest request) throws IOException { 
      WebResponse response = super.getResponse(request); 
      if (request.getUrl().toExternalForm().contains("Inspection.aspx")) { 
       String content = response.getContentAsString("UTF-8"); 

       WebResponseData data = new WebResponseData(content.getBytes("UTF-8"), response.getStatusCode(), 
         response.getStatusMessage(), response.getResponseHeaders()); 
       response = new WebResponse(data, request, response.getLoadTime()); 
      } 
      return response; 
     } 
    }; 

で、あなたはすべてのために確認することができますHTMLUnitを使用している要求と応答

+0

接続ラッパーについてのドキュメントを見つけようとしましたが、理解しにくく、コードもわかりません。私はそれを自分の状況に適応しようとしていますが、私はそれをすることができません – saperlipopette

+0

あなたはまだあなたの問題を解決しましたか? – Arya

関連する問題