首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Java填写在线表单?

如何使用Java填写在线表单?
EN

Stack Overflow用户
提问于 2009-07-17 13:48:32
回答 8查看 9.8K关注 0票数 1

我的手机供应商在他们的网站上提供有限数量的免费短信。我经常使用这项服务,尽管我讨厌经常在浏览器中打开一个选项卡。

有没有人知道/告诉我如何创建一个jar文件/命令行实用程序,以便在站点上填写适当的表单。我一直想用Java编写一个这样的项目,以防有人问我为什么不使用其他东西。

致以亲切的问候,拉尔

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2009-07-23 00:48:38

在Eclipse IDE中使用Watij。完成后,作为.exe编译或与批处理文件一起运行。

以下是我为Google搜索填写字段而编写的一些示例代码,可以根据您想要控制的web表单进行调整:

代码语言:javascript
复制
package goog;
import junit.framework.TestCase;
import watij.runtime.ie.IE;
import static watij.finders.SymbolFactory.*;
public class GTestCases extends TestCase {

 private static watij.runtime.ie.IE activeIE_m;
 public static IE attachToIE(String url) throws Exception {   
  if (activeIE_m==null)
     {
       activeIE_m = new IE();
    activeIE_m.start(url);
     } else {
       activeIE_m.goTo(url);
     }
  activeIE_m.bringToFront();
     return (activeIE_m);    
 }

 public static String getActiveUrl () throws Exception {  
  String currUrl = activeIE_m.url().toString();  
  return currUrl;
 }

 public void testGoogleLogin() throws Exception {
  IE ie = attachToIE("http://google.com");
     if ( ie.containsText("/Sign in/") ) {
      ie.div(id,"guser").link(0).click();
      if ( ie.containsText("Sign in with your") ||
        ie.containsText("Sign in to iGoogle with your")) {
       ie.textField(name,"Email").set("test@gmail.com");
       ie.textField(name,"Passwd").set("test");
       if ( ie.checkbox(name,"PersistentCookie").checked() ){
        ie.checkbox(name,"PersistentCookie").click();
       }
       ie.button(name,"signIn").click();       
      }
     }
     System.out.println("Login finished.");
    }

 public void testGoogleSearch() throws Exception {
  //IE ie = attachToIE( getActiveUrl() );
  IE ie = attachToIE( "http://www.google.com/advanced_search?hl=en" );
     ie.div(id,"opt-handle").click();
     ie.textField(name,"as_q").set("Watij");
     ie.selectList(name,"lr").select("English");
     ie.button(value,"Advanced Search").click();
     System.out.println("Search finished.");
 }

 public void testGoogleResult() throws Exception {
  IE ie = attachToIE( getActiveUrl() );
  ie.link(href,"http://groups.google.com/group/watij").click();
  System.out.println("Followed link.");
 }

}
票数 1
EN

Stack Overflow用户

发布于 2009-07-17 13:51:17

试试来自谷歌或SeleniumWebdriver

票数 2
EN

Stack Overflow用户

发布于 2009-07-17 13:51:43

听起来你需要一个为进行功能测试而设计的框架。它们充当浏览器,可以导航网站进行测试和自动化。您不需要测试功能,但它仍然可以满足您的需求。

试试HtmlUnitLiFT,它是构建在HtmlUnit上的更高级别的抽象。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1143393

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档