Javascript HtmlUnit

Javascript HtmlUnit

我有一个无法点击的提交按钮..

<div class="button_green">
    <a href="javascript:sendSMS();" title="Send SMS"><span>Send SMS</span></a>
</div>

我试过这个:

page = (HtmlPage) form.getInputByValue("Send SMS").click();

但这行不通。

有没有办法用 Java 和 HtmlUnit 来点击这个或 运行 Java 脚本? 而且这不是我的网站,所以不能用 html-code 做任何事情..

这应该有效。

<script>
  function sendSMS(){
    alert('your sms function work here~~');
  }
</script>

<a href="#" onclick="javascript:sendSMS();" title="Send SMS"><span>Send SMS</span></a>

您需要像这样使用按钮标签:

<button type="button">Send SMS</button>

您可以使用 XPath:

page = htmlPage.<HtmlDivision>getFirstByXPath("//div[@class='button_green'").click();

意思是:搜索第一个class属性为button_greendiv,然后点击

W3schools 有一个很好的XPath tutorial

如果您无法编辑 HTML,那么您可以使用 jquery 来完成此操作。试试下面的代码。

$( ".button_green" ).click(function() {
  alert( "Handler for .click() called." );
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>

<div class="button_green">
    <a href="javascript:sendSMS();" title="Send SMS"><span>Send SMS</span></a>
</div>

要启用 jquery,首先在 HTML 页面中添加一个脚本行。