有一网页源码中包含一个js,js中输出有表单,求一思路用webbrowser模拟填写js中的表单.

解决方案 »

  1.   

    <%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
        <script type="text/javascript">
            function abc() {
                document.write("hello world");
            }
        </script>    
    </head><body>
        <form id="form1" runat="server">
        <div>
        <input id="btn1" type="button" onclick="abc();" value = "click me" />
        </div>
        </form>
    </body>
    </html>unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, OleCtrls, SHDocVw_TLB, StdCtrls;type
      TForm1 = class(TForm)
        btnExecScript: TButton;
        WebBrowser1: TWebBrowser;
        btnNavigate: TButton;
        procedure btnExecScriptClick(Sender: TObject);
        procedure WebBrowser1DocumentComplete(ASender: TObject;
          const pDisp: IDispatch; var URL: OleVariant);
        procedure btnNavigateClick(Sender: TObject);
        procedure FormCreate(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure TForm1.btnExecScriptClick(Sender: TObject);
    begin
      WebBrowser1.OleObject.Document.parentWindow.execScript('abc()', 'javascript');
    end;procedure TForm1.WebBrowser1DocumentComplete(ASender: TObject;
      const pDisp: IDispatch; var URL: OleVariant);
    begin
      self.btnExecScript.Enabled:= true;
    end;procedure TForm1.btnNavigateClick(Sender: TObject);
    begin
      self.btnExecScript.Enabled:= false;
      self.WebBrowser1.Navigate('http://localhost:3986/WebSite/Default.aspx');
    end;procedure TForm1.FormCreate(Sender: TObject);
    begin
      self.btnExecScript.Enabled:= false;
    end;end.
      

  2.   

    谢谢楼上的回答,这种我知道怎么操作,我指的是js中调用的表单.类似百度搜索那样的.不过是由js调用的.
    调用格式为:     <script language="JavaScript" type="text/javascript" src="http://ww.50bang.com/click.js?user_id=315756&l=601"
            charset="utf-8"></script>
      

  3.   

    首先你給的網址打不開哦!第二,雖然是JS但它同樣會在客戶端解析,所以你看到的表單雖然網頁內容是一個JS,但你查看源代碼會發現源代碼的內容就不再只是原那個JS了 。所以操作這個表單與普通的操作方法一樣
    表單的操作方法參考:http://hi.baidu.com/szba/blog/item/9a0e5c1eed0431fc1bd57697.html