操作接口(100分)

  • 主题发起人 主题发起人 hpn_cao(小海)
  • 开始时间 开始时间
H

hpn_cao(小海)

Unregistered / Unconfirmed
GUEST, unregistred user!
我想实现一个老套的功能:自动填充网页内容,取到网页内容等等。
有什么好的方法可以让我不用Webbrowser , HTTP 控件 ,我想微软应该提供了这样的接口供我们调用吧,请问有这样的接口么?我知道IHtmlDocument2等,但是用这个接口仍然要用到WebBrowser控件先到指定网址,很不爽。
请问有什么办法只用接口,不用控件来实现这一功能,谢谢。
分不够可以再加。
 
不用控件的话,可以直接采用API函数调用,不过你要完成的调用太多。
 
我不怕,能不能说一下方法
我还找到一个IWebBrowser的接口,不过不知道怎么用。
要不告诉我怎么用套接字也好啊,谢谢
 
var
o:OleVariant;
begin
o := WB.OleObject.document.all.item('IDNAME',0);
o.value := '123';
end;
这样就行了
 
var
i, j, len: integer;
elec: IHTMLElementCollection;
doc: ihtmldocument2;
chele: IHTMLElement;
InputElement: IHTMLInputElement;
FormElement: IHTMLFormElement;
FormCollection: IHTMLElementCollection;
Element1: IHTMLElement;
SelectElement: IHTMLSelectElement;
begin
doc := webbrowser1.document as IHtmlDocument2;
elec := doc.all;
for i := 0 to elec.length - 1 do
begin
chele := elec.item(i, emptyparam) as IHTMLElement;
if chele.tagname = 'INPUT' then
begin
InputElement := elec.item(i, emptyparam) as IHTMLInputElement;
if InputElement.name = 'pageno' then
InputElement.value := '10';
end;
end;

这是部分代码,把叫pageno的<input...>赋值10

if chele.tagname = 'FORM' then
begin
FormElement := elec.item(i, emptyparam) as IHTMLFormElement;
if FormElement.name = 'freshlist' then
begin
FormElement.submit;
end;
end;

这是部分代码,提交表单freshlist

--------------
还有直接用WebBrowser1.OleObject....但这种方法无帮助,用上面的方法可以到MSDN查找
 
补充:上面的方法要用TWebbrowser和先导入MSHTML_TLB.pas(Microsoft Internet ActiveX)
 
后退
顶部