我是新的Html单位,我试图进入vk网站,但每次它都不想进入这个网站。我看了几个教程,里面有几乎相同的代码,有了这个代码,我就进入了https://news.ycombinator.com/
这是我的代码;
import java.util.logging.*;
import org.apache.commons.logging.LogFactory;
import com.gargoylesoftware.htmlunit.WebClient;
import com.gargoylesoftware.htmlunit.html.HtmlButton;
import com.gargoylesoftware.htmlunit.html.HtmlForm;
import com.gargoylesoftware.htmlunit.html.HtmlInput;
import com.gargoylesoftware.htmlunit.html.HtmlPage;
public class ContactApp {
public static WebClient login(String url , String login , String password) throws Exception {
// create webClient
WebClient webClient = new WebClient();
//open logger
loggingAll();
// options for loggers
webClient.getOptions().setJavaScriptEnabled(true);
webClient.getOptions().setThrowExceptionOnFailingStatusCode(false);
webClient.getOptions().setThrowExceptionOnScriptError(false);
// setting all configuration
HtmlPage page = webClient.getPage(url);
HtmlForm htmlForm = page.getFirstByXPath("//*[@id=\"login_form\"]");
HtmlInput loginInput = htmlForm.getFirstByXPath("//*[@id=\"email\"]");
HtmlInput passwordInput = htmlForm.getFirstByXPath("//*[@id=\"pass\"]");
// set login and password attribute
loginInput.setValueAttribute(login);
passwordInput.setValueAttribute(password);
HtmlButton buttonClick = htmlForm.getFirstByXPath("//*[@id=\"login_button\"]");
htmlForm = buttonClick.getEnclosingForm();
HtmlPage htmlPage = webClient.getPage(htmlForm.getWebRequest(null));
return webClient;
}
public static void main(String[] args) throws Exception{
String url = "https://vk.com/login";
String username = "login";
String password = "password";
System.out.println("Start !!!");
WebClient webClient = login(url , username , password);
HtmlPage page = webClient.getPage("https://vk.com/mypage");
// I am checking getting a name to my page by xpath;
String entering = page.getFirstByXPath("//*[@id=\"page_info_wrap\"]/div[1]/h2");
// Entering to the site //
// He always send me - null in text;
System.out.println(entering);
System.out.println("End!!!");
}}
这是我的逻辑,谢谢你;
发布于 2019-11-15 23:14:47
如果你想登录https://vk.com/mypage,你需要调整XPath,因为它有不同的html和it。举个例子,这个站点上的html表单的id是"quick_login_form“。在火狐中按F12,然后进入inspect选项卡。您可以在那里看到html和html dom项的ids。
https://stackoverflow.com/questions/58876842
复制相似问题