Jsoup JavaScript按钮点击

问题描述:

如何使用Jsoup执行一个JavaScript按钮点击?Jsoup JavaScript按钮点击

String html = Jsoup.connect(url) 
       .followRedirects(true) 
       .data("login_name", username) 
       .data("password", userpassword) 
       .method(Method.POST).get().html(); 

这是我用来设置用户名和密码字段在一个网站的代码,但是当我抢的HTML,它给了我与页面的领域登录页面填写的HTML,而不是登录后页面。所以这一定意味着Jsoup只是填补了领域,但没有登录我。我该怎么做呢?此外,登录按钮没有id元素,也没有名称元素。它只有JavaScript。对不起,如果我不清楚,我是新手。下面是形式的html代码:

<form name="form" id="form" method="POST" action="/portal/login?etarget=login_form" autocomplete="off"> 

这是登录按钮的HTML代码:

<a href="javascript:document.form.event_override.value='login';document.form.submit();" class="btn_css">  

我怎么会“点击”使用Jsoup登录按钮?此外,我尝试使用.post()方法,而不是.method(Method.POST),但是当我这样做时,我的程序没有工作,并给了我这个消息:“Error:400 error loading URL”

另外我没有自己的网站,我正在使用这个我正在为Android构建的本地应用程序。

+0

你有没有得到回应呢? – Ethan 2014-04-01 19:21:34

在connect方法中传递URL时,不是传递Login Page URL,而是传递主页的链接。

Document doc = Jsoup.connect("http://www.website.com/home.php") 
    .data("email", "myemailid") 
    .data("pass", "mypassword") 
    // and other fields which are being passed in post request. 
    .userAgent("Mozilla") 
    .post(); 

试试这个,你会得到你的结果。

+0

'login_name'和'password'元素不在主页上。我尝试过,但.post()方法再次给了我“错误:400错误加载URL” – 2012-01-07 00:17:19