HTMLUNIT 2.9 jar发表评论

时间:2012-04-14 08:24:12

标签: java post comments htmlunit htmlcontrols

我写了这段代码:

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帐户 我想在成功登录后写一些代码来发表评论 请帮助。

1 个答案:

答案 0 :(得分:0)

好的,所以你应该尝试用Firefox上的Firebug来查看页面的HTML内容,看看用来发表评论的字段是什么。

从我所看到的,你需要找到一个名为'comments-view'的div。在该div中有点深刻,有一个带有动作/comment_servlet?add_comment=1的表单。然后你应该填写textarea注释(它的名称属性设置为'comment')。最后,您需要找到“发布”按钮并单击它。