HtmlAnchor不会使用javascript执行href

时间:2017-10-20 09:43:30

标签: java htmlunit

我希望使用.click()方法执行Anchor,方法是使用包含javascript代码的getAnchorByHref来转到另一个页面。这是我的下面的代码段。但运行此代码会给我。

ElementNotFoundException: elementName=[a] attributeName=[href] attributeValue=[javascript:submit('ActivityForm.jsp')]

try{

   HtmlPage currentPage = client.getWebClient().getPage("url");
   HtmlAnchor createOrder = (HtmlAnchor) currentPage.getAnchorByHref("javascript:submit('ActivityForm.jsp')");
   createOrder.click();

}
catch(FailingHttpStatusCodeException | IOException e){
        e.printStackTrace();
}

1 个答案:

答案 0 :(得分:1)

正如ElementNotFoundException所说:在页面上找不到您要查找的元素。

可能有各种原因
  • 这个javascipt没有锚元素(使用equals进行比较,因此他的区分大小写并且对空格敏感)
  • 在页面加载后通过一些javascript添加了元素。在这种情况下,您必须在获取页面之后和开始搜索锚点之前等待javascripts作业
  • 也许HtmlUnit中存在错误

如果您提供公共网址,我们可以查看您的情况。