[英]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.