谁有delphi 获取动态网页的并且自动填写数据的,提交的示范!
展开全部
举个在百度首页填写搜索内容后,提交查询的例子。
打开Delphi, 新建VCL窗口程序。 添加一个 TWebBrowser 组件和 TEdit 文件框在窗口上。 给TWebBrowser改个名字WEB。 在WEB的NavigateComplete2事件中加入如下代码:
procedure TForm1.WEBNavigateComplete2(ASender: TObject; const pDisp: IDispatch;
var URL: OleVariant);
var
s, kw: Variant;
t: string;
begin
// 获取页面对象
s := WEB.Document;
// 判断当前页面是不是百度主页
Edit1.Text := s.URL;
if s.URL <> 'http://www.baidu.com/' then
Exit;
// 获取百度填写搜索内容的文本框
kw := s.getElementById('kw');
// 填写内容
try
t := VarToStr(kw);
if (not VarIsNull(kw)) and (t <> '') then
kw.Value := 'test'
else Exit;
except Exit; end;
// 点击“百度一下”按钮提交
s.getElementById('su').Click;
end;
在程序初始化时, 设定WEB的URL为 http://www.baidu.com
希望对你有所帮助。 如果我的回答好, 记得加分给我。 o(^_^)o
打开Delphi, 新建VCL窗口程序。 添加一个 TWebBrowser 组件和 TEdit 文件框在窗口上。 给TWebBrowser改个名字WEB。 在WEB的NavigateComplete2事件中加入如下代码:
procedure TForm1.WEBNavigateComplete2(ASender: TObject; const pDisp: IDispatch;
var URL: OleVariant);
var
s, kw: Variant;
t: string;
begin
// 获取页面对象
s := WEB.Document;
// 判断当前页面是不是百度主页
Edit1.Text := s.URL;
if s.URL <> 'http://www.baidu.com/' then
Exit;
// 获取百度填写搜索内容的文本框
kw := s.getElementById('kw');
// 填写内容
try
t := VarToStr(kw);
if (not VarIsNull(kw)) and (t <> '') then
kw.Value := 'test'
else Exit;
except Exit; end;
// 点击“百度一下”按钮提交
s.getElementById('su').Click;
end;
在程序初始化时, 设定WEB的URL为 http://www.baidu.com
希望对你有所帮助。 如果我的回答好, 记得加分给我。 o(^_^)o
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询