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方法提交。
delphi中使用webbrowser提交表单的更多相关文章
- SpringMVC中的异步提交表单
1.前言 近期在做一个项目,前台框架用的是EasyUI+SpringMVC,因为对SpringMVC不太了解,所以刚開始接触的时候有点吃力,在此通过一个EasyUi中的DataGrid表格来总结一下. ...
- PHP自学3——在html的<table>标签中显示用户提交表单
为了更好地显示用户提交表单,本节将在上一节的基础上将读取的用户表单显示在html的<table>标签中,这一节将用到和数组有关的知识. 本节代码将从外部文件(.txt文件)中读取信息于指定 ...
- tp5中ajax方式提交表单
用ajax提交表单,迅速,快捷,实现页面无刷新提交表单. <!DOCTYPE html> <html lang="en"> <head> < ...
- javaWeb中怎么获取提交表单里面的值
在javaWeb中如何获得html文件中的表单里面的值? <!DOCTYPE html> <html> <head> <meta charset=" ...
- jquery中$.ajax方法提交表单
function postdata(){ //提交数据函数 $.ajax({ //调用jqu ...
- html中button自动提交表单?
在ie中,button默认的type是button,而其他浏览器和W3C标准中button默认的属性都是submit
- Validator验证Ajax提交表单的方法
Validator验证Ajax提交表单的方法 转自:http://hunanpengdake.iteye.com/blog/1671360 当我们在一些稍微复杂的业务时,可能会遇到需要多个表单form ...
- form表单action提交表单,页面不跳转且表单数据含文件的处理方法
在最近的项目中需要将含 input[type='file']的表单提交给后台 ,并且后台需要将文件存储在数据库中.之前所用的方法都是先将文件上传到七牛服务器上,然后七牛会返回文件的下载地址,在提交表单 ...
- HTML 中按钮作为form表单元素提交特性两则 --- 参HTML考标准分析
相同name的submit 类型的input提交行为 描述 这种情况, <input type="submit" name="ACTION" value= ...
随机推荐
- Springmvc构造RESTful详细讲解
Rest介绍 /blog/1 HTTP GET => 得到id = 1的blog/blog/1 HTTP DELETE => 删除 id = 1的blog/blog/1 HTTP PUT ...
- 【highcharts】
zoomType positioner
- 分布式存储Memcache替代Session方案
PHP自带的Session实际是在服务器中为每个客户建立独立的文件存放各自的信息. 在不做处理的情况下,很容易被客户端伪造.并且由于采用文件形式,所以存在着IO 读写的瓶颈.一般当用户在线达到1000 ...
- Java [leetcode 29]Divide Two Integers
题目描述: Divide two integers without using multiplication, division and mod operator. If it is overflow ...
- Event事件详解
首先提到event,先要明白event的产生,也要先明白焦点,什么是焦点.焦点 : 使浏览器能够区分用户输入的对象,当一个元素有焦点的时候,那么他就可以接收用户的输入. 我们可以通过一些方式给元素设置 ...
- MAT文件操作
o李YZo 原文 MAT文件打开方法汇总及其他操作 MAT文件简介 为MATLAB使用的一种特有的二进制数据文件.MAT文件可以包含一个或者多个MATLAB 变量.MATLAB通常采用MAT文件把工作 ...
- WPF 中资源路径的问题
WPF 中资源路径的问题 1. 引用当前工程的资源(注意xxxx.png的build action 应设置为Resource 或Embedded Resource) <ImageBrush Im ...
- HDU 5618 Jam's problem again CDQ分治 BC ROUND 70
题意:给你1e5个点(x,y,z),对于每一个点询问有多少个点(x1,y1,z1)满足x1<=x&&y1<=y&&z1<=z 分析:(官方题解奉上)很 ...
- POJ3241 Object Clustering 曼哈顿最小生成树
题意:转换一下就是求曼哈顿最小生成树的第n-k条边 参考:莫涛大神的论文<平面点曼哈顿最小生成树> /* Problem: 3241 User: 96655 Memory: 920K Ti ...
- MSP430开学的序章
吐槽一下最近在搞什么~~~,星期三在等板子来,自己的板子,激动呀!!F5系列的板子,激动呀!结果板子到星期五才拿到!开始的时候,感觉自己没多大问题,结果一上手就问题百出,因为没仔细看用户手册,导致光盘 ...