难题,如何取出webbrowes控件中的一个网页中的一段文字
比如说
“很抱歉,目前暂时不支持移动手机用户和联通手机用户之间的短信互发服务。”
我要取出“很抱歉”,然后来判断短信是否发送成功

解决方案 »

  1.   

    <td class=l15>很抱歉,目前暂时不支持移动手机用户和联通手机用户之间的短信互发服务。</td>
    内容在td中
      

  2.   

    两段代码一段是直接从WebBorwser中读出HTML源码,是一个是不通过文件装入HTML页面。
    procedure SetHtml(const WebBrowser: 
    TWebBrowser; const Html: string);
    var
    Stream: IStream;
    hHTMLText: HGLOBAL;
    psi: IPersistStreamInit;
    begin
    if not Assigned(WebBrowser.Document) then Exit;hHTMLText := GlobalAlloc(GPTR, Length(Html) + 1);
    if 0 = hHTMLText then RaiseLastWin32Error;CopyMemory(Pointer(hHTMLText), 
    PChar(Html), Length(Html));OleCheck(CreateStreamOnHGlobal
    (hHTMLText, True, Stream));
    try
    OleCheck(WebBrowser.Document.
    QueryInterface(IPersistStreamInit, psi));
    try
    OleCheck(psi.InitNew);
    OleCheck(psi.Load(Stream));
    finally
    psi := nil;
    end;
    finally
    Stream := nil;
    end;
    end;function GetHtml(const WebBrowser:
    TWebBrowser): string;
    const
    BufSize = $10000;
    var
    Size: Int64;
    Stream: IStream;
    hHTMLText: HGLOBAL;
    psi: IPersistStreamInit;
    begin
    if not Assigned(WebBrowser.Document) then Exit;OleCheck(WebBrowser.Document.QueryInterface
    (IPersistStreamInit, psi));
    try
    //OleCheck(psi.GetSizeMax(Size));
    hHTMLText := GlobalAlloc(GPTR, BufSize);
    if 0 = hHTMLText then RaiseLastWin32Error;OleCheck(CreateStreamOnHGlobal(hHTMLText,
    True, Stream));
    try
    OleCheck(psi.Save(Stream, False));Size := StrLen(PChar(hHTMLText));
    SetLength(Result, Size);
    CopyMemory(PChar(Result), Pointer(hHTMLText), 
    Size);
    finally
    Stream := nil;
    end;
    finally
    psi := nil;
    end;
    end; 
      

  3.   

    我找到了答案,分还是照样发!!!!uses 
      ActiveX; function WB_SaveHTMLCode(WebBrowser: TWebBrowser; const FileName: TFileName): Boolean; 
    var 
      ps: IPersistStreamInit; 
      fs: TFileStream; 
      sa: IStream; 
    begin 
      ps := WebBrowser.Document as IPersistStreamInit; 
      fs := TFileStream.Create(FileName, fmCreate); 
      try 
        sa := TStreamAdapter.Create(fs, soReference) as IStream; 
        Result := Succeeded(ps.Save(sa, True)); 
      finally 
        fs.Free; 
      end; 
    end; function WB_GetHTMLCode(WebBrowser: TWebBrowser; ACode: TStrings): Boolean; 
    var 
      ps: IPersistStreamInit; 
      ss: TStringStream; 
      sa: IStream; 
      s: string; 
    begin 
      ps := WebBrowser.Document as IPersistStreamInit; 
      s := ''; 
      ss := TStringStream.Create(s); 
      try 
        sa := TStreamAdapter.Create(ss, soReference) as IStream; 
        Result := Succeeded(ps.Save(sa, True)); 
        if Result then ACode.Add(ss.Datastring); 
      finally 
        ss.Free; 
      end; 
    end; procedure TForm1.Button1Click(Sender: TObject); 
    begin 
      WB_SaveHTMLCode(Webbrowser1, 'c:\test.txt'); 
    end; procedure TForm1.Button2Click(Sender: TObject); 
    begin 
      WB_GetHTMLCode(Webbrowser1, Memo1.Lines); 
    end;
      

  4.   

    不晚不晚,问题还是有
    这个网页有一个自动转向功能,一但发现问题就会转到问题页上
    现在的问题是我怎么得到当前页的html??
      

  5.   

    TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTttt
      

  6.   

    html
    webbrowser.OleObject.document.documentelement.innerhtml;
    Text
    webbrowser.OleObject.document.documentelement.innerText;
      

  7.   

    我是说要得到当前,注意是当前页面的html这个网页有一个自动转向功能,一但发现问题就会转到问题页上
    现在的问题是我怎么得到当前页的html??