gpt4 book ai didi

Java HtmlUnit 使用用户名和密码登录返回登录页面

转载 作者:行者123 更新时间:2023-11-29 09:00:22 25 4
gpt4 key购买 nike

我正在尝试使用具有有效用户名和密码的 HtmlUnit 执行登录。成功登录后,我想在结果页面上执行一些操作。问题是我无法通过登录阶段 - 我一直在同一页面上。奇怪的是,我通过 HtmlUnit Scripter Firefox 插件记录了一次成功的登录,然后重播了结果代码——同样的问题。有什么想法吗?

代码如下:

<pre>
import com.gargoylesoftware.htmlunit.BrowserVersion;
import com.gargoylesoftware.htmlunit.FailingHttpStatusCodeException;
import com.gargoylesoftware.htmlunit.WebClient;
import com.gargoylesoftware.htmlunit.html.HtmlElement;
import com.gargoylesoftware.htmlunit.html.HtmlPage;
import com.gargoylesoftware.htmlunit.html.HtmlPasswordInput;
import com.gargoylesoftware.htmlunit.html.HtmlTextInput;

import java.io.IOException;
import java.net.MalformedURLException;
<code>
public class LoginSimulation
{
public static void main(String args[])
{
HtmlPage page = null;
String url = "http://www.ravmilim.co.il/naerr.asp";

WebClient webClient = new WebClient(BrowserVersion.FIREFOX_3_6);
webClient.setThrowExceptionOnScriptError(false);

try
{
page = webClient.getPage( url );

HtmlTextInput userInput = (HtmlTextInput) page.getElementById("txtUser");
userInput.setValueAttribute("yacov.schondorf@gmail.com");

HtmlPasswordInput passwordInput = (HtmlPasswordInput) page.getElementById("txtPass");
passwordInput.setValueAttribute("5750201");

HtmlElement theElement2 = (HtmlElement) page.getElementById("submitButton");
page = theElement2.click(); // the login does not work. Login page is displayed again

System.out.println(page.asText());
webClient.closeAllWindows();
}
catch ( FailingHttpStatusCodeException e1 )
{
System.out.println( "FailingHttpStatusCodeException thrown:" + e1.getMessage() );
e1.printStackTrace();
}
catch ( MalformedURLException e1 )
{
System.out.println( "MalformedURLException thrown:" + e1.getMessage() );
e1.printStackTrace();
}
catch ( IOException e1 )
{
System.out.println( "IOException thrown:" + e1.getMessage() );
e1.printStackTrace();
}
catch( Exception e )
{
System.out.println( "General exception thrown:" + e.getMessage() );
e.printStackTrace();
}
}

}

最佳答案

看起来你的代码没问题。我已经手动尝试过,有时它会登录,有时不会。问题出在登录操作后出现的弹出窗口中。你可以从页面上的javascript看到它:

if ($("#ErrorDuplicationLogin").text() != '') 
{
$(".PopUpContent").show();
$(".pagePopBackground").show();

}

});

因此请尝试手动登录和注销,然后启动您的程序。也不要忘记使用 HtmlUnit 注销。谢谢。

关于Java HtmlUnit 使用用户名和密码登录返回登录页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17845747/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com