Delphi 可以像JavaScript 脚本语言一样使用GetElementByID方法访问网页中指定ID的元素,一般要配合TWebBrowser组件使用。首先使用TWebBrowser浏览网页,然后访问网页的元素,例如:
procedure TForm1.Button1Click(Sender: TObject); var aElement: OleVariant; begin aElement := WebBrowser1.OleObject.Document.GetElementByID('btnLogin'); aElement.value := '登录按钮'; aElement.click; end;
如
果网页中存在ID为“btnLogin”的按钮,则以上代码没有任何问题,如果不存在,则对aElement进行的设置值和点击操作都将引发异常,所以应
该对GetElementByID的返回值进行检查。但是对OleVariant类型变量的有效性进行检查却非常困难,通过使用VarType函数对
aElement进行类型检查可以知道该变量是varDispatch类型的,所以可以转换成接口进行检查返回值是否有效,完整代码如下:
procedure TForm1.Button1Click(Sender: TObject); var aElement: OleVariant; begin aElement := WebBrowser1.OleObject.Document.GetElementByID('btnLogin'); if IDispatch(aElement) <> nil then //对返回值进行有效性检查 begin aElement.value := '登录按钮'; aElement.click; end; end;
转自:http://www.learnew.com/archives/397.htm
|
请发表评论