[英]Why does my XPath not return anything?
我正在尝试从页面http://vacancycollection.nic.in/cglmarks/获得一个数字输入文本框的XPath以及一个提交按钮。
我使用Firebug的Copy XPath选项创建了XPath。
这是我的输入文本字段的XPath:
HtmlTextInput rollNum = (HtmlTextInput)index.getFirstByXPath("/html/body/table/tbody/tr/td/table/tbody/tr[2]/td/table/tbody/tr/td/table/tbody/tr[2]/td/table/tbody/tr/td[1]/table/tbody/tr/td/table/tbody/tr[2]/td/input");
该按钮的XPath为:
HtmlButton button = index.getFirstByXPath("/html/body/table/tbody/tr/td/table/tbody/tr[2]/td/table/tbody/tr/td/table/tbody/tr[2]/td/table/tbody/tr/td[1]/table/tbody/tr/td/table/tbody/tr[5]/td/button");
但是,当我尝试访问文本以及按钮字段时,当我尝试使用System.out.println(rollNum.toString());
查看代码时,它将引发java.lang.NullPointerException
异常System.out.println(rollNum.toString());
。
我将HTMLUnit与Java一起使用,以将数据插入输入字段,然后单击提交按钮。 感觉XPath本身存在一些错误。 元素的正确XPath应该是什么?如何找到它们?
我想到了。 实际上,xpath无效,因为我试图访问由我的javascript
代码生成的元素,但是webclient没有等待元素加载,因此引发了java.lang.NullPointerException
异常。 我添加了webClient.waitForBackgroundJavaScript(30 * 1000);
等待webClient 30秒,现在我可以使用相同的xpath访问元素。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.