如何使用Delphi Chromium Embedded Component执行此操作我知道如何使用TWebBrowser执行此操作。但由于没有文件存在,我相信其他人也有同样的问题。
由于
答案 0 :(得分:8)
这是你如何做的..
procedure TCustomLoad.OnLoadEnd(const browser: ICefBrowser;
const frame: ICefFrame; httpStatusCode: Integer);
var
data:tstringlist;
begin
data:=tstringlist.create;
if frame.IsMain then
data.text:=frame.Source; // HTML Source
end;
data.free;
end;
答案 1 :(得分:6)
在dcef 3中
procedure StringVisitor(const str: ustring);
begin
//str is the SourceHtml
showmessage(str);
end;
function GetSourceHTML: string;
var
CefStringVisitor:ICefStringVisitor;
begin
CefStringVisitor := TCefFastStringVisitor.Create(StringVisitor);
Chromium1.Browser.MainFrame.GetSource(CefStringVisitor);
end;
答案 2 :(得分:0)
我真的很想将此添加为评论,但是我没有足够的声誉。 :/无论如何-因为我很不喜欢html源代码,所以我声明
using (WebClient client = new WebClient()) {
// Add the user agent header, otherwise we will get access denied.
client.Headers.Add("User-Agent: Other");
// Full asset streamed into a single string. I.E: https://github.com/soopercool101/BrawlCrate/releases/download/BrawlCrate_v0.14_Hotfix2/BrawlCrate.v0.14.6873.39137.exe
string html = client.DownloadString(Asset.Url);
client.DownloadFile(URL, AppPath + "/Update.exe"); // AppPath is defined as whereever the program is installed
}
在程序开始时一次,然后仅使用
CefStringVisitor := TCefFastStringVisitor.Create(StringVisitor);
我想问一下我是否应该对此有所了解-也许这是一个坏主意?