Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 试图访问登录元素,但没有元素id或类_Java_Jsoup_Httpurlconnection_Getelementbyid - Fatal编程技术网

Java 试图访问登录元素,但没有元素id或类

Java 试图访问登录元素,但没有元素id或类,java,jsoup,httpurlconnection,getelementbyid,Java,Jsoup,Httpurlconnection,Getelementbyid,嗨,编程新手,我找不到这样的问题。我正试图为一个免费的金融网站创建一个autologin脚本,这样我就可以刮去一些东西。我正在尝试访问这个网站 . 然后访问用户名和密码框,这样我就可以用我的信息通过java登录,然后获取一些有用的信息。 但是,我没有看到任何用于访问用户名和密码框的ElementID 我的代码基于此,但我使用的不是HttpURLConnection,而是HttpURLConnection,因为此网站不使用Https。 当我用铬来检查我得到的元素时 <input type="

嗨,编程新手,我找不到这样的问题。我正试图为一个免费的金融网站创建一个autologin脚本,这样我就可以刮去一些东西。我正在尝试访问这个网站 . 然后访问用户名和密码框,这样我就可以用我的信息通过java登录,然后获取一些有用的信息。 但是,我没有看到任何用于访问用户名和密码框的ElementID

我的代码基于此,但我使用的不是HttpURLConnection,而是HttpURLConnection,因为此网站不使用Https。 当我用铬来检查我得到的元素时

<input type="text" name="acctname" size="15">  //username element
<input type="password" name="pswrd" size="15">  //password element
//username元素
//密码元素
//如果没有elementid,如何访问元素?下面是从网站中出错的代码。我使用了输入名称字段 作为元素ID,但这显然是不正确的

public String getFormParams(String html, String username, String password)
        throws UnsupportedEncodingException {

    System.out.println("Extracting form's data...");

    Document doc = Jsoup.parse(html);

    // For id
    Element loginform = doc.getElementById("acctname");

    Elements inputElements = loginform.getElementsByTag("pswrd"); <<errors here with NULL pointer exception, because there is no tag pswrd. 
公共字符串getFormParams(字符串html、字符串用户名、字符串密码)
抛出不支持的DencodingException{
System.out.println(“提取表单的数据…”);
Document doc=Jsoup.parse(html);
//身份证
元素loginform=doc.getElementById(“acctname”);

Elements inputElements=loginform.getElementsByTag(“pswrd”);使用带有name属性的
[attr=value]
选择器(请参阅)

例如,使用示例代码:

Document doc = Jsoup.parse(html);

Element acctname = doc.select("input[name=acctname]").first();
Element pswrd = doc.select("input[name=pswrd]").first();

System.out.println(acctname);
System.out.println(pswrd);
将输出:

<input type="text" name="acctname" size="15" />
<input type="password" name="pswrd" size="15" />


<代码> >您可以使用<代码>名称<代码>属性。我是说JToice中的元素类没有GETeleMsByNeMy。希望我有意义。谢谢- Niko Balanisthanks的帮助,虽然效果很好。最后,我使用HTMLUnter类使事情变得更容易。@ NekBalalNANS没有问题,考虑投票或接受。如果有帮助,请回答。是的,我以前试过,但我想我还没有enuff rep来做这件事。点击向上投票告诉我,我至少需要15次代表才能向上投票。当我得到一些时,我会:)。