2011-07-09 65 views
0

我使用getByXPath從HTMLPage對象中提取了DomNode對象列表。但是,當我嘗試查詢返回的DomNode對象時,再次使用getByXPath,結果就好像我查詢了HTMLPage對象。使用HtmlUnit在DomNode上調用getByXPath

final WebClient webClient = new WebClient(); 
HTMLPage page = (HtmlPage) webClient.getPage("http://test.page.com"); 

final List<HtmlTableCell> cells = (List<HtmlTableCell>) page.getByXPath("//td[@width='85%']"); 

// Number of cells: 16 
logger.debug("Number of cells: " + cells.size()); 

HtmlTableCell cell = cells.get(0); 
final List<HtmlTableCell> childCells = (List<HtmlTableCell>) cell.getByXPath("//td[@width='85%']"); 

// Number of cells: 16 
logger.debug("Number of cells: " + childCells.size()); 

回答

1

中的XPath //td意味着選擇所有TD元素,無論他們在哪裏的文件英寸請參閱http://www.w3schools.com/xpath/xpath_syntax.asp

+0

嗨,我有同樣的問題,基於您提供的參考鏈接,我試過使用。爲當前節點而不是/,但它導致錯誤。這是正確的使用?如果我在XPath之前沒有使用任何表達式會發生什麼? – 2013-10-15 16:42:50