获取网页内容时报错,为什么(200分)

  • 主题发起人 john_sheep_wong
  • 开始时间
J

john_sheep_wong

Unregistered / Unconfirmed
GUEST, unregistred user!
使用memo1.text:=WebBrowser1.OleObject.document.documentelement.innerhtml;
获取网页内容时报错,内容是:“Access violation at address 0044F6E2 in module 'XXXX.exe'.Read of address FFFFFFFF.不知道是为什么,望手相助。
 
网页还没有加载完毕时调用WebBrowser1.OleObject.document.documentelement.innerhtml
是会出错的,你可以在WebBrowser1NavigateComplete2中设置一个bool变量,判断是否加载完毕,
如加载完毕,再获取网页内容。

或者用
try
memo1.text:=WebBrowser1.OleObject.document.documentelement.innerhtml;
except
end;
这个方法在Delphi IDE中仍然会报错,单在独立运行时不会有问题。
 
试过了,用MEMO还是会报错,用richedit就没事了。好在不影响下面的工作,顺便问一句怎么
让webbrowser不读取cache内容。每次都从网上下载新的网页内容?
 
先navigate,然后refresh,不知有没有更好的方法。
 
让webbrowser不读取cache内容。每次都从网上下载新的网页内容:
var
Flags: OleVariant; //浏览选项
begin
Flags:=navNoHistory or navNoReadFromCache or navNoWriteToCache;
//浏览时不加到历史列表、不从Cache读,不写入Cache
WebBrowser1.Navigate(Page.Url,Flags);
end;
 
顶部