htmlunit如何不通过id和name获取button,并提交表单。跪求高手您是如何解决的??

 我来答
大城卫安防火
2017-03-22
知道答主
回答量:1
采纳率:0%
帮助的人:997
展开全部

登录按钮:

<input name="" type="image" src="../images/button_login.gif" class="input_img">

实现方法:

我用的class,当然也可以换成type或src,属性都可以作为判断条件

HtmlImageInput btnSubmit=null;

DomNodeList<DomElement> domElements=htmlpage.getElementsByTagName("input");

for(DomElement temp:domElements){

if(temp.getAttribute("class").equals("input_img")){

btnSubmit= (HtmlImageInput) temp;

}

}

waleking
2014-04-20
知道答主
回答量:17
采纳率:0%
帮助的人:6.1万
展开全部

我是htmlunit 2.14,还是使用了name和id。如果不使用name和id,可以尝试一下xpath。

下面是使用getElementByName的代码(来自于statckoverflow,亲自测试过可以使用)。

     import com.gargoylesoftware.htmlunit.WebClient;
     import java.io.*;
     import com.gargoylesoftware.htmlunit.html.HtmlPage;    
     import com.gargoylesoftware.htmlunit.html.HtmlInput;
     import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput;


     import java.net.*;

      public class GoogleSearch {

     public static void main(String[] args)throws IOException, MalformedURLException
     {
       final WebClient webClient = new WebClient();

       HtmlPage page1 = webClient.getPage("http://www.google.com");
       HtmlInput input1 = page1.getElementByName("q");
       input1.setValueAttribute("yarn");

       HtmlSubmitInput submit1 = page1.getElementByName("btnG");

       page1=submit1.click();

       System.out.println(page1.asXml()); 

       webClient.closeAllWindows();
     }
   }





来自:求助得到的回答
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-04-15
展开全部
jquery 使用很多方法 如 class=
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式