首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

怎么使用c++builder操作网页

2012-02-08 
如何使用c++builder操作网页c++builder能像vb这样操作页面吗VB code Dim Doc As HTMLDocumentSet Doc We

如何使用c++builder操作网页
c++builder能像vb这样操作页面吗

VB code
 Dim Doc As HTMLDocument    Set Doc = Web1(i).Document    If Doc Is Nothing Then Exit Sub    Dim txtID As HTMLInputElement    Set txtID = Doc.getElementById("loginID")    txtID.Value = Text1.Text    Dim txtPSW As HTMLInputElement    Set txtPSW = Doc.getElementById("password")    txtPSW.Value = Text2.Text    Dim btnLog As HTMLButtonElement    Dim btns As IHTMLElementCollection    Set btns = Doc.getElementsByTagName("button")    Dim j As Long    For j = 0 To btns.length - 1        If btns.Item(j).Value = "登录" Then            Set btnLog = btns.Item(j)            Exit For        End If    Next j


如果不行,用ole怎么操作的,我把vb代码翻译成c++ ole
C/C++ code
    Variant   document;    document=CppWebBrowser1-> Document;    Variant vAllTag = document.OlePropertyGet("All");    // 填充页面中的用户名框    document.OlePropertyGet("loginID").OlePropertySet("InnerText",usrname.c_str());    // 填充页面中的密码框,    document.OlePropertyGet("password").OlePropertySet("InnerText",password.c_str());    // 执行页面中Form的提交方法    Variant Btns=vAllTag.OlePropertyGet("btn_login");    long btncount = Btns.OlePropertyGet("length");    Variant  eachbtn;    for (int i=0;i<btncount;i++)    {        eachbtn = Btns.OleFunction("item",i); //依序取得每一個链接        if (eachbtn.OlePropertyGet("innerText")==(Variant)"登录") //判断中的文字          {               eachbtn.OleFunction("click"); //按下链接               break;          }    }

但是取的时候老是报错,未知名称

[解决办法]
探讨

谢谢妖哥,如何遍历所有的按钮取得匹配名称 为 "登录"呢

热点排行