zoukankan      html  css  js  c++  java
  • Delphi检查GetElementByID返回值的有效性

    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;

  • 相关阅读:
    centos7的变化(转)
    配置邮件报警功能(脚本方式)
    临时和永久关闭Selinux
    centos7.2安装apache比较简单,直接上代码
    zabbix--------配置邮件报警功能---服务器上配置---------
    初来驾到学java修饰符的使用
    面向对象小小理解
    出来驾到学java3
    出来驾到学java2
    初来驾到学JAVA
  • 原文地址:https://www.cnblogs.com/delphi7456/p/5321965.html
Copyright © 2011-2022 走看看