1

htmlunit は javascript に対応しているようなので、java の htmlUnit で hotmail アカウントのジャンクフォルダにアクセスしたいです。次のコードを使用すると、受信トレイ フォルダーにアクセスできますが、そこからジャンク フォルダーを取得したいと考えています。ページの左側に表示されている「ジャンク」がラベルであることがわかりました。だから私はラベルにアクセスしようとしていて、それをクリックしたいと思っています。しかし、HtmlPage から「ジャンク」ラベルにアクセスできません。ジャンクラベルのHTMLコードは以下のようになります。

<span class="FolderLabel">
Junk
<span style="display:none;">
(
<span class="count"></span>
)
</span>
</span>
</span>

以下は、ジャンクフォルダーを取得するために使用するコードです。

 import java.io.IOException;
    import java.net.URL;

    import org.w3c.dom.Node;

    import com.gargoylesoftware.htmlunit.WebClient;
    import com.gargoylesoftware.htmlunit.html.DomNodeList;
    import com.gargoylesoftware.htmlunit.html.HtmlAnchor;
    import com.gargoylesoftware.htmlunit.html.HtmlElement;

import com.gargoylesoftware.htmlunit.html.HtmlForm;
import com.gargoylesoftware.htmlunit.html.HtmlLabel;
import com.gargoylesoftware.htmlunit.html.HtmlPage;
import com.gargoylesoftware.htmlunit.html.HtmlPasswordInput;
import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput;
import com.gargoylesoftware.htmlunit.html.HtmlTextInput;



public class TesthtmlUnit {
     public static void main(String[] args) throws IOException
     {
         final WebClient webClient = new WebClient();

            // Get the first page
            final HtmlPage page1 = webClient.getPage("https://login.live.com/ppsecure/post.srf");
            webClient.setThrowExceptionOnScriptError(false);

            final HtmlForm form = page1.getFormByName("f1");

            final HtmlSubmitInput button = form.getInputByName("SI");
            final HtmlTextInput uname = form.getInputByName("login");
            final HtmlPasswordInput pwd = form.getInputByName("passwd");
            // Change the value of the text field
            uname.setValueAttribute("emailid@hotmail.com");
            pwd.setValueAttribute("pwd");

            HtmlPage page2 = button.click();
            //System.out.println(page2.asXml());

            HtmlAnchor inbox = (HtmlAnchor) page2.getAnchorByHref("http://mail.live.com/?rru=inbox");
            page2 = (HtmlPage) inbox.click();
            //System.out.println(page2.asXml());

            //CLICK ON JUNK LABEL
          //here I want access label "junk" from page2 


            webClient.closeAllWindows();
     }

}

ジャンクフォルダをクリックする方法を知っている人はいますか? htmlpage が提供するメソッドを試しましたが、それを行う方法が見つかりませんでした。

これに関して何か助けていただければ幸いです。

ありがとう。

4

0 に答える 0