我想等博客的fckeditor加载完毕后自动填写内容,现在填写内容已经搞定了,但是判断页面加载完毕不准确,所以调试时会出错,说找不到成员博客地址
http://www.blogtoowoomba.com/测试ID:onmyway
测试密码:cMKpYJJx我查到的方法是
procedure TForm1.WebBrowser1DocumentComplete(ASender: TObject;
const pDisp: IDispatch; var URL: OleVariant);
begin
if WebBrowser1.Application = pDisp then
begin
Text := '网页下载完毕!';
end;
end;但是不行
http://www.blogtoowoomba.com/测试ID:onmyway
测试密码:cMKpYJJx我查到的方法是
procedure TForm1.WebBrowser1DocumentComplete(ASender: TObject;
const pDisp: IDispatch; var URL: OleVariant);
begin
if WebBrowser1.Application = pDisp then
begin
Text := '网页下载完毕!';
end;
end;但是不行
解决方案 »
- 如何使生成的CSV文件不带双引号?
- 【散分】大家用Delphi几年了,讲一下自己最拿手的技术!
- Delphi的自定义函数不能返回一个数组吗?
- 求一个能生成字符串(包括汉字@-@)的Hex编码的函数!
- 青岛的Delphi程序员请进。本人OOA&OOP开发够级游戏中。
- 有关TChart 画图这方面的一个问题,请帮忙解决!!!高分
- 怎么用install s for delphi或者wise 做安装程序时候注册.ocx 和dll文件
- 各位,又是我,极菜的问题!!!
- 能不能取得应用程序自身的建立时间?高分求解---
- 关闭应用程序可以用Application.terminate,但关闭Dll用什么呢?
- delphi 如何执行如下SQL语句呢?
- 求解一个Delphi实现多线程编程
2、NavigateComplete2 事件 写如下代码
procedure TForm1.WebBrowser1NavigateComplete2(Sender: TObject;
const pDisp: IDispatch; var URL: OleVariant);
begin
if glpDisp = nil then glpDisp := pDisp;
end;3、DocumentComplete 事件写如下代码
procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject;
const pDisp: IDispatch; var URL: OleVariant);
begin
if (glpDisp <> nil) and (glpDisp = pDisp) then
begin
glpDisp := nil;
ShowMessage('完成'); end;
end;
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, OleCtrls, SHDocVw;type
TForm1 = class(TForm)
WebBrowser1: TWebBrowser;
procedure WebBrowser1NavigateComplete2(ASender: TObject;
const pDisp: IDispatch; var URL: OleVariant);
procedure WebBrowser1DocumentComplete(ASender: TObject;
const pDisp: IDispatch; var URL: OleVariant);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
glpDisp: IDispatch;
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);
begin
WebBrowser1.Navigate('http://www.blogtoowoomba.com/');
end;procedure TForm1.WebBrowser1DocumentComplete(ASender: TObject;
const pDisp: IDispatch; var URL: OleVariant);
begin
begin
if (glpDisp <> nil) and (glpDisp = pDisp) then
begin
glpDisp := nil;
ShowMessage('完成'); end;
end;
end;procedure TForm1.WebBrowser1NavigateComplete2(ASender: TObject;
const pDisp: IDispatch; var URL: OleVariant);
begin
if glpDisp = nil then glpDisp := pDisp;
end;end.
2、 Login 页面加载完成也会提示一次完成3、 登录后 页面加载完成也会有一次提示完成
while WebBrowser1.ReadyState < READYSTATE_COMPLETE do
Application.ProcessMessages;
多谢,不过我说的是发布文章页面的加载,是其中带了fckeditor编辑器的,地址是
http://www.blogtoowoomba.com/manager/add_entry.php
用我给的id和密码登陆
implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);
begin
WebBrowser1.Navigate('http://www.blogtoowoomba.com/login.php');
end;procedure TForm1.WebBrowser1DownloadComplete(Sender: TObject);
begin
if urls='javascript:void(0)' then
填表; //為了以后再填,應該清空urls;end;procedure TForm1.WebBrowser1BeforeNavigate2(Sender: TObject;
const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
Headers: OleVariant; var Cancel: WordBool);
begin
if url='javascript:void(0)' then urls:=url;
end;