关于使用webbrowser读取 页面input信息的问题

luoyi829 2009-12-10 10:59:01
我现在页面的一个input的信息如下
<input type="text" pnum="3" count="27" armsId="207" name="ca_207" style="margin:0px;padding:0px;width:34px;" class="in" value="0"/>

我希望能读到count,type,name,armsID,value的值。 下面是我的代码.
var
ovElements:oleVariant;

i,len:integer;
str,count,armsid:string;
begin
ovElements:= webbrowser1.OleObject.document.forms.item(0).elements;
len:=ovElements.length;
for i:=0 to len-1 do
begin
str:= ovElements.item(i).tagname;
str:= ovElements.item(i).type;
str:= ovElements.item(i).name;
str:= ovElements.item(i).value;
count:= ovElements.item(i).count; //这句就报错了,count是自定义的,所以ovElements无法辨别count属性。
armsid:= ovElements.item(i).armsid; //同样这句也错了。
end;
end;

有谁能告诉我,有什么办法读取这种自定义的变量的值呢?
...全文
186 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
imho888 2009-12-11
  • 打赏
  • 举报
回复
顶,自己解决
luoyi829 2009-12-11
  • 打赏
  • 举报
回复
没人顶我自己来。

用ovElements.item(i).getElementByID('count').value;
内容概要:本文档详细介绍了使用VC++读取Web页面Input Text的方法。首先定义了必要的数据类型HHTMLWND和HHTMLSEL。接着重点描述了两个关键函数:GetActiveHtmlTextCtrlHandle和GetActiveHtmlText。前者用于获取CHtmlView中具有焦点的Input Text控件句柄,主要步骤包括加载OLEACC.DLL库、发送WM_HTML_GETOBJECT消息、获取IHTMLDocument2接口、遍历元素查找具有焦点的文本编辑元素(如Input或TextArea)。后者则利用获取到的句柄来提取具体的文本内容,通过QueryInterface方法判断是文本框还是文本区域,并根据不同情况调用相应的get_value方法获取值,最后根据编译环境(Unicode或多字节字符集)将BSTR类型转换为合适的字符串格式返回。; 适合人群:对VC++有一定了解,熟悉COM接口、WebBrowser控件以及Windows API编程的开发人员。; 使用场景及目标:①在开发基于MFC的浏览器应用时需要与网页交互,特别是读取用户输入的内容;②学习如何通过COM接口操作HTML DOM树,理解浏览器与本地应用程序之间的通信机制。; 阅读建议:由于涉及到较多的底层API调用和COM编程知识,在阅读时应先熟悉相关基础知识,可以结合MSDN文档加深理解,同时建议边看代码边进行实际测试以更好地掌握其中的技术细节。

1,184

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧