Delphi自动提交网页表单和获取框架网页源码
这两个问题的实现原理其实是差不多的,所以放在一起介绍,单元MSHtml封装了我们需要的功能。
首先,新建一个DELPHI工程,在USES部分添加MSHtml单元的引用。
然后,在窗体上放置一个TWebBrowser控件和四个按钮。
最后,编写四个按钮的响应代码:
1. 自动提交网页表单
procedure TForm1.Button1Click(Sender: TObject);
begin
WebBrowser1.Navigate('http://www.baidu.com');
end;procedure TForm1.Button2Click(Sender: TObject);
var
doc: IHTMLDocument2;
oleObj: OleVariant;
begin
doc := WebBrowser1.Document as IHTMLDocument2;
if doc = nil then Exit;
oleObj := doc.all.item('wd', 0) as IHTMLElement2;
//网页有一个名为“wd”的文本框:<input type="text" name="wd" id="kw" maxlength="100">
oleObj.Value := 'Delphi'; //为文本框赋值
oleObj := doc.all.item('su', 0) as IHTMLElement2;
//网页有一个ID为“su”的按钮:<input type="submit" value="百度一下" id="su">
oleObj.Click; //点击按钮,提交表单
end;
2. 获取框架网页源码
procedure TForm1.Button3Click(Sender: TObject);
begin
WebBrowser1.Navigate('http://含有框架的网页URL');
end;procedure TForm1.Button4Click(Sender: TObject);
var
doc, framedoc: IHTMLDocument2;
frame_dispatch: IDispatch;
ole_index: OleVariant;
i: Integer;
begin
doc := WebBrowser1.Document as IHTMLDocument2;
if doc = nil then Exit;
for i := 0 to doc.frames.length - 1 do
begin
ole_index := i;
frame_dispatch := doc.frames.item(ole_index);
if frame_dispatch = nil then Continue;
framedoc := (frame_dispatch as IHTMLWindow2).document;
if framedoc = nil then Continue;
ShowMessage(framedoc.body.innerHTML);
end;
end;
3. 获取网页所有链接
procedure TForm1.Button1Click(Sender: TObject);
var
elem: IHTMLElement;
coll: IHTMLElementCollection;
i: integer;
url, title: string;
begin
coll := (WebBrowser1.Document as IHTMLDocument2).all;
coll := (coll.tags('a') as IHTMLElementCollection);
for i := 0 to coll.Length - 1 do
begin // 循环取出每个链接
elem := (coll.item(i, 0) as IHTMLElement);
url := Trim(string(elem.getAttribute(WideString('href'), 0)));
title := elem.innerText;
ShowMessage(Format('链接标题:%s,链接网址:%s', [title, url]));
end;
end;
Delphi自动提交网页表单和获取框架网页源码相关推荐
- python自动提交网页表单_python自动提交表单数据库
{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...
- PHP 通过fsockopen函数获取远程网页源码
最新PHP 通过fsockopen函数获取远程网页源码 以下是三零网为大家整理的最新PHP 通过fsockopen函数获取远程网页源码的文章,希望大家能够喜欢! 通过该函数可以获取指定端口的页面源码, ...
- python 爬虫源代码-Python爬虫学习之获取指定网页源码
本文实例为大家分享了Python获取指定网页源码的具体代码,供大家参考,具体内容如下 1.任务简介 前段时间一直在学习Python基础知识,故未更新博客,近段时间学习了一些关于爬虫的知识,我会分为多篇 ...
- 怎样控制键盘按键自动填写网页表单
浏览器中使用模拟键盘按键填写网页表单,不但可以完成数据输入,输入时还能真实地触发键盘元素绑定的键盘事件. 打开木头浏览器的工具菜单,进入项目管理容器,创建"填写内容"步骤,并打开百 ...
- VC提交网页表单-自动评论留言(1)
前段时间,仔细看了一个HTTP协议于是就写了这样一个自动评论的测试程序,下面是我本次学习实验的学习笔记: 一.准备工作: 1.本机环境:Windows XP SP3.ADSL 10M光纤 2.开发工具 ...
- 如何自动填充网页表单_iCab for Mac(web网页浏览器)
iCab for Mac是一款小巧实用的web网页浏览器,支持HTML4,图像过滤,cookie过滤,书签,java和javascript支持,搜索模式,从资源管理器导入Web档案,下载管理器以及许多 ...
- python批量自动填写网页表单_使用python+selenium帮助你填写网站表单
应用场景:频繁往网站.电商平台后台等填写数据. 工作场景:电商上传商品.测试人员.批量提交表单等. 涉及内容:python读写EXCEL文件.selenium基础使用.Xpath基础使用.python ...
- 火狐浏览器Firefox 如何使用iMacros 自动填写网页表单
1 我们首先访问一个想要自动填写表单的网站.我们以百度为例,右侧有登录窗口. 2 然后我们点开刚安装上的iMacros插件,一般安装之后就会自动出现在浏览器的某个地方,点击记录选项卡,再点击记录. 3 ...
- 如何自动填充网页表单_流量型称重型充绒机充棉机如何选择,教你轻松辨别全自动填充机器...
秋冬季节的气温骤降让羽绒制品棉服等的市场需求急剧增大.服装加工厂及家纺工厂的订单量也逐步递增.单靠手工加工所提供的加工速率已很难跟上需求的制作.而全自动的填充机器可以节约大量的人工成本,同时在加工速度 ...
最新文章
- 《Linux shell变量总结回顾》RHEL6
- class ts 扩展方法_如使用Typescript撸Vue(Vue2 + TS +TSX+CSS module)
- 在虚拟机上安装Docker并运行Nginx
- C语言——日常刷题(一)
- pythonexcel工具介绍_Python处理excel的强大工具
- iOS modal view的关闭和显示问题
- 如何做一名了不起的开发人员?
- jquery mobile 中文在线文档
- 【阅读笔记】Implementation of tactical maneuvers with maneuver libraries
- 带小数十进制转二进制C语言,c语言十进制小数转为二进制
- Kubernetes 基于Service的蓝绿发布
- 不良事件总结怎么写_2017年第一季度不良事件总结分析
- 二维码名片的生成与读取
- DropBox系列-安卓DropBox介绍
- 查看Oracle数据库资源状况
- MD5加密是什么?为什么不可解密?
- 多项式(带余)除法学习笔记
- Pod生命周期中的状态解释
- KS值是衡量分类模型预测准确度的重要指标之一,它反映了模型预测结果与实际数据分布差异的程度。本文将介绍什么是KS值,如何计算以及在Python中如何实现。
- ggplot2-为可视化建模2