-1

私はこのコードを書きました:

import com.gargoylesoftware.htmlunit.BrowserVersion;
import com.gargoylesoftware.htmlunit.WebClient;
import com.gargoylesoftware.htmlunit.html.HtmlForm;
import com.gargoylesoftware.htmlunit.html.HtmlPage;
import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput;
import com.gargoylesoftware.htmlunit.html.HtmlTextArea;
import java.util.ArrayList;
import java.util.List;

/**
*
* @author user
*/
public class YouTubeComment {

public static void main(String[] args) {
    boolean f = YouTubeLogin.login();
    try {
        if (f) {
            WebClient webClient = new WebClient(BrowserVersion.FIREFOX_3_6);
            webClient.setRedirectEnabled(true);
            webClient.setJavaScriptEnabled(false);
            HtmlPage firstPage = webClient.getPage("http://www.youtube.com/watch?v=kqDacBDoVM4&feature=related");
            List<HtmlForm> forms = new ArrayList();
            forms = (List<HtmlForm>) firstPage.getForms();
            HtmlForm form = firstPage.getForms().get(1);

            HtmlTextArea commentArea = (HtmlTextArea)form.getTextAreaByName("comment");
            commentArea.setText("good");
         HtmlSubmitInput submitButton =(HtmlSubmitInput)form.getInputByName("");
            HtmlPage pageAfterPost = (HtmlPage) submitButton.click();
        } else {
            System.out.println("Sorry..! Login is not successful");
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
}

}

このアプリケーションは、ユーザー名とパスワードで YouTube アカウントにログインできます。
ログインが成功した後にコメントを投稿するためのコードを書きたいと思います。
助けてください。

4

1 に答える 1

0

わかりました。おそらく、Firefox で Firebug を使用してページの HTML コンテンツを調べて、コメントを投稿するために使用するフィールドを確認する必要があります。

私が見たところ、「comments-view」という div を見つける必要があります。その div の少し奥に、 action を含むフォームがあります/comment_servlet?add_comment=1。次に、textarea コメントを入力する必要があります (name 属性が「comment」に設定されています)。最終的に、「公開」ボタンを見つけてクリックする必要があります。

于 2012-04-14T08:51:18.637 に答える