複数Formに対してのXPath指定

前に試した時の事をちょろっと。
勝手な私の推測ですがFormは特別扱いされてる?かなぁと。
新しいバージョンになったら、すんなり直ってるかもしれないと期待してます(^^;

試したのは、XPathによってFormを取得するメソッド作って

private HtmlForm test(HtmlPage page, String exp) throws JaxenException {
    return (HtmlForm) new HtmlUnitXPath(exp).selectSingleNode(page);
}

Formが複数あるページに対してXPathでFormを取得。

System.out.println("test1=" + test(page, "//form[1]"));
System.out.println("test2=" + test(page, "//form[2]"));
System.out.println("test3=" + test(page, "//form[position() = 1]"));
System.out.println("test4=" + test(page, "//form[position() = 2]"));
System.out.println("test5=" + test(page, "//form[position() = last()]"));
System.out.println("test6=" + test(page, "//form[last()]"));

2つ目のフォームがXPathでは取得出来ない。
表現として下記が全てNG

//form[2]
//form[position() = 2]
//form[position() = last()]
//form[last()]

という事で、複数Formがある場合の2番目のFormをidを指定せずに取得する方法は

HtmlForm getForm(HtmlPage page, int idx) throws JaxenException {
    // こっちか
    return (HtmlForm) new HtmlUnitXPath("//form").selectNodes(page).get(idx);

    // こっち
    return (HtmlForm) page.getForms().get(idx);
}

//form[2]で取得出来ないんです...