我想使用.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 中存在错误
如果您提供公共网址,我们可以查看您的案例。