zoukankan      html  css  js  c++  java
  • delphi中使用webbrowser提交表单

    转自:http://blog.163.com/hehaifeng1984@126/blog/static/6900113620133504644998/

    我们以百度搜索为例,使用webbrowser组件自动在表单中填写信息,并提交出去。

    首先从百度首页源代码中寻找表单信息,最关键的信息如下:

    <formname="f"action="">

    <input type="text"name="wd"id="kw"maxlength="100"class="s_ipt">

    <inputtype="submit"value="百度一下"id="su" ></form>

       可以看到,百度的搜索表单的Name参数值是“f”,只有一个字母。而文本输入框的名字叫wd。我们只要设置wd的值就可以自动填写表单了。

       在窗体中拖一个WebBrowser组件和两个按钮组件,按钮1填写表单,按钮2提交数据,在窗口载入时打开百度首页:

    procedure TForm1.FormCreate(Sender: TObject);
    begin
      webbrowser1.Navigate('http://www.baidu.com');
    end;


    procedure TForm1.BitBtn1Click(Sender: TObject);
    var  o:OleVariant;
    begin
     o := WebBrowser1.OleObject.document.all.item( 'wd',0); //找到输入框
     o.value := '凌云阁';
    end;
    procedure TForm1.BitBtn2Click(Sender: TObject);
    var o:OleVariant;
    begin
      o:=WebBrowser1.oleobject.document.all.item('f',0);   //提交数据
      o.submit;
    end;

    上面的代码中,我们事先已经知道了表单和输入框的名字,使用WebBrowser1.OleObject.document.all.item( 'wd',0)找到输入框对象,用value方法输入数据。

    由于百度的提交数据按钮没有name属性,只能利用表单的name属性,采用提交表单的方式提交。我们使用WebBrowser1.oleobject.document.all.item('f',0)找到表单对象。然后用sumit方法提交。

  • 相关阅读:
    Arrays.asList的使用
    php之sql语句 创建数据库、表、插入字段,自动判断是否成功
    初识 canvas 绘图
    自定义音频audio播放器
    我的晨练
    js获取屏幕或可视范围
    js 查看脚本运行时间的办法
    a:hover伪类在ios移动端浏览器内触发无法取消
    js模拟用户触摸事件
    持续健身带来的变化
  • 原文地址:https://www.cnblogs.com/tc310/p/4708542.html
Copyright © 2011-2022 走看看