首页 > 解决方案 > HtmlUnit:click() 函数没有做任何事情

问题描述

我在使用 HtmlUnit 的 click() 函数时遇到问题。它对我没有任何作用。

HtmlPage page = client.getPage("xxx");
page = (HtmlPage) page.getFrameByName("xxx").getEnclosedPage();
HtmlElement test = page.getFirstByXPath("//div[@id='s81']");
page = test.click();
<div id="s81" class="mmenu" data-bind="click: function(){ CheckId('Counternav',mes()[120]) }, text: mes()[120]">Counter</div>

找到了 div,这不是问题。click() 函数不会改变页面的任何内容。我是否取消了功能错误?

我希望有人可以提供帮助,并在此先感谢!

标签: javascriptjavahtmlunit

解决方案


您可以在该元素上使用 java-script click 事件:

HtmlPage page = client.getPage("xxx");
page = (HtmlPage) page.getFrameByName("xxx").getEnclosedPage();
HtmlElement test = page.getFirstByXPath("//div[@id='s81']");
JavascriptExecutor executor = (JavascriptExecutor)driver;
executor.executeScript("arguments[0].click();", test);

推荐阅读