HtmlAnchor不会使用javascript执行href



我想使用.click()方法执行锚点,方法是使用包含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();
}

正如 ElementNotFoundException 所说:您要查找的元素在页面上找不到。这可能有多种原因

  • 这个javascipt没有锚元素(比较是使用equals完成的,所以他的区分大小写和空格敏感)
  • 该元素是在页面加载后由某些JavaScript添加的。在这种情况下,您必须在获取页面后等待javascript作业,然后再开始搜索锚
  • 也许 HtmlUnit 中存在错误

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

最新更新