我有下面这个语句
WebBrowser1.OleObject.Document.documentelement.document.frames.item(3).document.all.item('trefresh').click;'trefresh'是按钮的value
当我网页中有这个按钮的时候,他能正常运行.
但如果没有的时候就出错了,如何做个错误检测,没有这个按钮的时候跳过此句

解决方案 »

  1.   

    use try/catch or check if the return value of every step, namely
    OleObject
    Document
    documentelement
    document
    frames
    item(3)
    document
    all
    item('trefresh')
      

  2.   

    一般情况下我会先用循环把这个按钮的INDEX找出来
    当网页中的元素数>INDEX时,再判断第INDEX个元素是否'trefresh'
      

  3.   

    我用下面这段语句,但这样每次都要循环检测很慢,有没有更好的办法?
    t := WebBrowser2.OleObject.Document.documentelement.document.frames.item(3).document;
    for k := 0 to t.all.length - 1 do
    begin
    if (vartostr(t.all.item(k).id)='trefresh')  then t.all.item(k).click;
    end;
      

  4.   

    msdn.microsoft.com/workshop/author/dhtml/reference/methods/getelementbyid.asp