Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.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 HtmlUnit,尝试获取2个表单,在第二个表单中获取异常_Java_Htmlunit - Fatal编程技术网

Java HtmlUnit,尝试获取2个表单,在第二个表单中获取异常

Java HtmlUnit,尝试获取2个表单,在第二个表单中获取异常,java,htmlunit,Java,Htmlunit,目前正在使用HtmlUnit 获取第一个登录页面没有问题,成功登录,获取下一个页面,“单击”链接以获取“MyDetails”页面 在获得“MyDetails”页面后,我希望获得与我获得第一个登录表单相同的方式 我需要获取表单的原因是我想更改密码,并且字段位于表单中 当我尝试获取第二个表单时,它给了我如下异常: com.gargoylesoftware.htmlunit.ElementNotFoundException:elementName=[form]attributeName=[name]a

目前正在使用HtmlUnit

获取第一个登录页面没有问题,成功登录,获取下一个页面,“单击”链接以获取“MyDetails”页面

在获得“MyDetails”页面后,我希望获得与我获得第一个登录表单相同的方式

我需要获取表单的原因是我想更改密码,并且字段位于表单中

当我尝试获取第二个表单时,它给了我如下异常:

com.gargoylesoftware.htmlunit.ElementNotFoundException:elementName=[form]attributeName=[name]attributeValue=[form2]

在此代码行中给出异常:

HtmlForm form2 = page3.getFormByName("form2");
注:第一个表格名称为“form1”,第二个表格名称为“form2”

这是个问题吗

代码:


首先,如果您使用的是旧版本,请更新到HtmlUnit 2.9。 第二,将其替换为:

System.out.println(page3.getUrl());
HtmlForm form2 = page3.getFormByName("form2");
为此:

System.out.println(page3.getUrl());
System.out.println(page3.asXml());
HtmlForm form2 = page3.getFormByName("form2");
检查form2元素是否存在,我很确定它不应该存在,因为它正在抛出ElementNotFoundException

我通常使用XPath而不是getFormByName,您也可以尝试一下


希望这有帮助

哈哈!您试图查看的页面出错,请检查您提交的信息或稍后再试。无效的手机号码。难怪!当我将单元格编号添加到数据库中时,0 infront被切断!谢谢
System.out.println(page3.getUrl());
System.out.println(page3.asXml());
HtmlForm form2 = page3.getFormByName("form2");