例如:
打开了Google的主页,我想实现功能:
1.在表单中自动填入“CSDN”
2.自动按下搜索按钮(就是发送按下按钮的消息)
(嘿嘿,不是模拟鼠标和键盘啊)
先谢谢了

解决方案 »

  1.   

    在浏览器url里面
    javascript:void(document.getElementById('q').value='csdn';)
    回车
      

  2.   

    不好意思,我没说清楚
    我是想:编一个Java小程序,打开程序,按一下按钮,实现自动填写表单并提交的功能
    谢谢ls了
      

  3.   

    除非你写的不是小程序而是浏览器程序,寒,以前有人问过了,不想再讨论了,太无聊
    如果不是模拟的话可以使用httpclient
    java可以写浏览器外壳.
      

  4.   

    不知道为什么这个问题,好多人都不愿意讨论
    我曾经在VC—MFC版块提问过
    嘿嘿,没人答理···
    请高人帮帮忙,浏览器框架不用操心,只想知道实现上面功能的代码、步骤
    谢谢了
      

  5.   

    /*******************************************************************************
     * Copyright (c) 2000, 2006 IBM Corporation and others.
     * All rights reserved. This program and the accompanying materials
     * are made available under the terms of the Eclipse Public License v1.0
     * which accompanies this distribution, and is available at
     * http://www.eclipse.org/legal/epl-v10.html
     *
     * Contributors:
     *     IBM Corporation - initial API and implementation
     *******************************************************************************/
    package com.syj.tools.controller;import java.util.MissingResourceException;
    import java.util.ResourceBundle;import org.eclipse.swt.SWT;
    import org.eclipse.swt.SWTError;
    import org.eclipse.swt.browser.Browser;
    import org.eclipse.swt.browser.CloseWindowListener;
    import org.eclipse.swt.browser.LocationEvent;
    import org.eclipse.swt.browser.LocationListener;
    import org.eclipse.swt.browser.OpenWindowListener;
    import org.eclipse.swt.browser.ProgressEvent;
    import org.eclipse.swt.browser.ProgressListener;
    import org.eclipse.swt.browser.StatusTextEvent;
    import org.eclipse.swt.browser.StatusTextListener;
    import org.eclipse.swt.browser.VisibilityWindowListener;
    import org.eclipse.swt.browser.WindowEvent;
    import org.eclipse.swt.events.SelectionAdapter;
    import org.eclipse.swt.events.SelectionEvent;
    import org.eclipse.swt.graphics.Point;
    import org.eclipse.swt.layout.FillLayout;
    import org.eclipse.swt.layout.FormAttachment;
    import org.eclipse.swt.layout.FormData;
    import org.eclipse.swt.layout.FormLayout;
    import org.eclipse.swt.widgets.Button;
    import org.eclipse.swt.widgets.Composite;
    import org.eclipse.swt.widgets.Control;
    import org.eclipse.swt.widgets.Display;
    import org.eclipse.swt.widgets.Event;
    import org.eclipse.swt.widgets.Label;
    import org.eclipse.swt.widgets.Listener;
    import org.eclipse.swt.widgets.ProgressBar;
    import org.eclipse.swt.widgets.Shell;
    import org.eclipse.swt.widgets.Text;
    import org.eclipse.swt.widgets.ToolBar;
    import org.eclipse.swt.widgets.ToolItem;public class SimpleBrowser {
    private static ResourceBundle resourceBundle = ResourceBundle
    .getBundle("Simplebrowser"); private Composite parent; private Text locationBar; private Browser browser; private ToolBar toolbar; private Button enter; private ToolItem itemBack, itemForward; private Label status; private ProgressBar progressBar; public SimpleBrowser(Composite parent, boolean top) {
    this.parent = parent;
    try {
    browser = new Browser(parent, SWT.BORDER);
    } catch (SWTError e) {
    /* Browser widget could not be instantiated */
    parent.setLayout(new FillLayout());
    Label label = new Label(parent, SWT.CENTER | SWT.WRAP);
    label.setText(getResourceString("BrowserNotCreated"));
    parent.layout(true);
    return;
    }
    final Display display = parent.getDisplay();
    browser.setData(
    "org.eclipse.swt.examples.browserexample.BrowserApplication",
    this);
    browser.addOpenWindowListener(new OpenWindowListener() {
    public void open(WindowEvent event) {
    Shell shell = new Shell(display);
    shell.setLayout(new FillLayout());
    SimpleBrowser app = new SimpleBrowser(shell, false);
    event.browser = app.getBrowser();
    }
    });
    if (top) {
    browser.setUrl(getResourceString("Startup"));
    show(false, null, null, true, true, true, true);
    } else {
    browser.addVisibilityWindowListener(new VisibilityWindowListener() {
    public void hide(WindowEvent e) {
    } public void show(WindowEvent e) {
    Browser browser = (Browser) e.widget;
    SimpleBrowser app = (SimpleBrowser) browser
    .getData("org.eclipse.swt.examples.browserexample.BrowserApplication");
    app.show(true, e.location, e.size, e.addressBar, e.menuBar,
    e.statusBar, e.toolBar);
    }
    });
    browser.addCloseWindowListener(new CloseWindowListener() {
    public void close(WindowEvent event) {
    Browser browser = (Browser) event.widget;
    Shell shell = browser.getShell();
    shell.close();
    }
    });
    }
    }
    public void test(){
    browser.setUrl("javascript:void(document.getElementById('q').value='csdn')");
    }
    /**
     * Gets a string from the resource bundle. We don't want to crash because of
     * a missing String. Returns the key if not found.
     */
    static String getResourceString(String key) {
    try {
    return resourceBundle.getString(key);
    } catch (MissingResourceException e) {
    return key;
    } catch (NullPointerException e) {
    return "!" + key + "!";
    }
    } public Browser getBrowser() {
    return browser;
    }
    }
      

  6.   

    void show(boolean owned, Point location, Point size, boolean addressBar,
    boolean menuBar, boolean statusBar, boolean toolBar) {
    final Shell shell = browser.getShell();
    if (owned) {
    if (location != null)
    shell.setLocation(location);
    if (size != null)
    shell.setSize(shell.computeSize(size.x, size.y));
    }
    FormData data = null;
    if (toolBar) {
    toolbar = new ToolBar(parent, SWT.NONE);
    data = new FormData();
    data.top = new FormAttachment(0, 5);
    toolbar.setLayoutData(data);
    itemBack = new ToolItem(toolbar, SWT.PUSH);
    itemBack.setText(getResourceString("Back"));
    itemForward = new ToolItem(toolbar, SWT.PUSH);
    itemForward.setText(getResourceString("Forward"));
    final ToolItem itemStop = new ToolItem(toolbar, SWT.PUSH);
    itemStop.setText(getResourceString("Stop"));
    final ToolItem itemRefresh = new ToolItem(toolbar, SWT.PUSH);
    itemRefresh.setText(getResourceString("Refresh"));
    final ToolItem itemHome = new ToolItem(toolbar, SWT.PUSH);
    itemHome.setText(getResourceString("Home")); itemBack.setEnabled(browser.isBackEnabled());
    itemForward.setEnabled(browser.isForwardEnabled());
    Listener listener = new Listener() {
    public void handleEvent(Event event) {
    ToolItem item = (ToolItem) event.widget;
    if (item == itemBack)
    browser.back();
    else if (item == itemForward)
    browser.forward();
    else if (item == itemStop)
    browser.stop();
    else if (item == itemRefresh)
    browser.refresh();
    else if (item == itemHome)
    browser.setUrl(getResourceString("Startup"));
    }
    };
    itemBack.addListener(SWT.Selection, listener);
    itemForward.addListener(SWT.Selection, listener);
    itemStop.addListener(SWT.Selection, listener);
    itemRefresh.addListener(SWT.Selection, listener);
    itemHome.addListener(SWT.Selection, listener); enter = new Button(parent, SWT.None);
    enter.setText(getResourceString("Enter"));
    enter.addSelectionListener(new SelectionAdapter() {
    public void widgetSelected(SelectionEvent e) {
    browser.setUrl(locationBar.getText());
    }
    });
    data = new FormData();
    data.width = 24;
    data.height = 20;
    data.top = new FormAttachment(0, 5);
    data.right = new FormAttachment(100, -5);
    enter.setLayoutData(data);
    }
    if (addressBar) {
    locationBar = new Text(parent, SWT.BORDER);
    data = new FormData();
    if (toolbar != null) {
    data.top = new FormAttachment(toolbar, 0, SWT.TOP);
    data.left = new FormAttachment(toolbar, 5, SWT.RIGHT);
    data.right = new FormAttachment(enter, -5, SWT.DEFAULT);
    } else {
    data.top = new FormAttachment(0, 0);
    data.left = new FormAttachment(0, 0);
    data.right = new FormAttachment(100, 0);
    }
    locationBar.setLayoutData(data);
    locationBar.addListener(SWT.DefaultSelection, new Listener() {
    public void handleEvent(Event e) {
    browser.setUrl(locationBar.getText());
    }
    });
    }
    if (statusBar) {
    status = new Label(parent, SWT.NONE);
    progressBar = new ProgressBar(parent, SWT.NONE); data = new FormData();
    data.left = new FormAttachment(0, 5);
    data.right = new FormAttachment(progressBar, 0, SWT.DEFAULT);
    data.bottom = new FormAttachment(100, -5);
    status.setLayoutData(data); data = new FormData();
    data.right = new FormAttachment(100, -5);
    data.bottom = new FormAttachment(100, -5);
    progressBar.setLayoutData(data);
    browser.addStatusTextListener(new StatusTextListener() {
    public void changed(StatusTextEvent event) {
    status.setText(event.text);
    }
    });
    }
    parent.setLayout(new FormLayout()); Control aboveBrowser = toolBar ? (Control) enter
    : (addressBar ? (Control) locationBar : null);
    data = new FormData();
    data.left = new FormAttachment(0, 0);
    data.top = aboveBrowser != null ? new FormAttachment(aboveBrowser, 5,
    SWT.DEFAULT) : new FormAttachment(0, 0);
    data.right = new FormAttachment(100, 0);
    data.bottom = status != null ? new FormAttachment(status, -5,
    SWT.DEFAULT) : new FormAttachment(100, 0);
    browser.setLayoutData(data); if (statusBar || toolBar) {
    browser.addProgressListener(new ProgressListener() {
    public void changed(ProgressEvent event) {
    if (event.total == 0)
    return;
    int ratio = event.current * 100 / event.total;
    if (progressBar != null)
    progressBar.setSelection(ratio);
    } public void completed(ProgressEvent event) {
    if (progressBar != null)
    progressBar.setSelection(0);
    test();
    }
    });
    }
    if (addressBar || statusBar || toolBar) {
    browser.addLocationListener(new LocationListener() {
    public void changed(LocationEvent event) {
    if (event.top && locationBar != null)
    locationBar.setText(event.location);
    } public void changing(LocationEvent event) {
    }
    });
    }
    parent.layout(true);
    if (owned)
    shell.open();
    } /**
     * Grabs input focus
     */
    public void focus() {
    if (locationBar != null)
    locationBar.setFocus();
    else if (browser != null)
    browser.setFocus();
    else
    parent.setFocus();
    } public static void main(String[] args) {
    Display display = new Display();
    Shell shell = new Shell(display);
    shell.setLayout(new FillLayout());
    SimpleBrowser sb=new SimpleBrowser(shell, true);
    shell.open();
    while (!shell.isDisposed()) {
    if (!display.readAndDispatch())
    display.sleep();
    }
    display.dispose();
    }
      

  7.   

    这代码有意思吗,我在swt的官方Browser的例子上改的/
    原理同1楼,没别的问题就结贴吧,我不想再讨论了,这样的程序有啥意义?
      

  8.   

    忘把文件给你了
    ###############################################################################
    # Copyright (c) 2000, 2003 IBM Corporation and others.
    # All rights reserved. This program and the accompanying materials
    # are made available under the terms of the Eclipse Public License v1.0
    # which accompanies this distribution, and is available at
    # http://www.eclipse.org/legal/epl-v10.html
    #
    # Contributors:
    #     IBM Corporation - initial API and implementation
    ###############################################################################
    error.CouldNotLoadResources = Unable to load resources
    Back = Back
    BrowserNotCreated = Error - The Browser widget could not be instantiated. Please check the Browser widget is supported on this platform. Supported platforms and software requirements for the Browser widget are listed on the SWT FAQ web page.
    Forward = Forward
    Stop = Stop
    Refresh = Refresh
    Enter = Go
    Home = Home
    Startup = http://www.google.com
      

  9.   

    swt官方地址http://www.eclipse.org/swt/