HtmlUnit访问没有id或Name的元素

如何访问此元素:

 

更多信息:我必须以编程方式访问网页并模拟单击其上的按钮,然后生成一个xml文件,我希望能够保存在本地计算机上。
我试图通过使用HtmlUnit库来实现,但我可以找到的所有示例都使用getElementById()getElementByName()方法。 不幸的是,这个确切的元素没有名称或Id,所以我失败了。 我当时认为我要做的就是使用getByXPath()方法,但我完全迷失在XPath文档中(这件事对我来说都是新的)。
我被困在这几个小时,所以我真的需要我能得到的所有帮助。
提前致谢。

XPATH有几个选项可供选择该input元素。

下面是一个选项,它在整个文档中查找input元素,该元素具有名为type的属性,其值为“submit”,属性名为value ,其值为“另存为XML”。

 //input[@type='submit' and @value='Save as XML'] 

如果您可以提供更多结构,则可以创建更具体(且高效)的XPATH。 例如,这样的事情可能有效:

 /html/body//form//input[@type='submit' and @value='Save as XML'] 

您应该能够使用XPATH代码,如下所示:

 client = new WebClient(BrowserVersion.FIREFOX_3) client.javaScriptEnabled = false page = client.getPage(url) submitButton = page.getByXPath("/html/body//form//input[@type='submit' and @value='Save as XML']") 

虽然在大多数情况下我会建议使用XPath,但如果您对此一无所知,可以尝试使用getInputByValue(String value)方法。 这是一个基于您的问题的示例:

 // Fetch the form somehow HtmlForm form = this.page.getForms().get(0); // Get the input by its value System.out.println(form.getInputByValue("Save as XML").asXml());