我正在尝试使用HtmlUnit库登录facebook:
String loginURL = "https://www.facebook.com/login.php?login_attempt=1"
final WebClient webClient = new WebClient();
HtmlPage page1 = webClient.getPage(loginURL);
final HtmlForm form = page1.getForms().get(0);
webClient.setJavaScriptTimeout(45000);
final HtmlTextInput textField = form.getInputByName("email");
textField.setValueAttribute(login);
final HtmlPasswordInput textField2 = form.getInputByName("pass");
textField2.setValueAttribute(password);
page1 = (HtmlPage) form.getInputByValue("Zaloguj się").click();
我检查了按钮值:
<input value="Zaloguj się" tabindex="4" type="submit" id="u_0_0">
运行此代码后发生以下错误:
Exception in thread "main" com.gargoylesoftware.htmlunit.ElementNotFoundException: elementName=[input] attributeName=[value] attributeValue=[Zaloguj się]
你能看到这里的任何错误吗? 感谢您的帮助:)
答案 0 :(得分:1)
我尝试浏览提到的“https://www.facebook.com/login.php?login_attempt=1”网址,没有值为[Zalogujsię]的按钮。可能您的计算机使用的是另一种默认语言而不是英语。
我建议按ID获取登录按钮,然后点击()。
page1.getElementById( “loginbutton”)点击();
这是因为我看到登录按钮的ID为。
<button value="1" class="_42ft _4jy0 _52e0 _4jy6 _4jy1 selected _51sy" id="loginbutton" name="login" tabindex="1" type="submit">Log In</button>