5

HtmlUnit を使用して Facebook ページにログインし、その HTML コンテンツを表示しようとしています。HtmlUnit を使用してログイン資格情報を入力しようとしていますが、送信ボタンをクリックしてもセッションが実行されていません。

htmlunit セッション管理クラスに関する多くのコンテンツが見つかりませんでした。この問題を試みるために現在使用しているコードも添付しました。どんな助けでも大歓迎です!

WebClient webClient = new WebClient();
HtmlPage page1 = webClient.getPage("https://www.facebook.com");
List<HtmlForm> listF = page1.getForms();
HtmlForm form = null;
for(int i=0; i<listF.size(); i++)
{
    if(listF.get(i).getId().equals("login_form"))
    {
        form = listF.get(i);
        }
}
HtmlTextInput uName = form.getInputByName("email");
HtmlPasswordInput passWord = form.getInputByName("pass");
HtmlSubmitInput button = form.getInputByValue("Log In");
uName.setValueAttribute(FACEBOOK_UNAME);
passWord.setValueAttribute(FACEBOOK_PASS);
HtmlPage page2 = button.click();
4

2 に答える 2

10

答えを見つけました。Web ページの取得を開始する前に、Cookie を有効にしました。できます。以下のコードを追加しました

WebClient webClient = new WebClient();
CookieManager cookieMan = new CookieManager();
cookieMan = webClient.getCookieManager();
cookieMan.setCookiesEnabled(true);
于 2012-10-26T11:05:37.470 に答える