Disclosure Statement: This site contains affiliate links, which means that I may receive a commission if you make a purchase using these links. As an eBay Partner, I earn from qualifying purchases.
If you find these projects useful please consider becoming a sponsor with Patreon, GitHub or Liberapay.
I only get what is displayed on the page. However, there are web pages that display data in a table and currently only display a portion of the records (e.g. 1-10 out of 1000).
By calling
please complete the answer:
in my program my code is not passing at all the procedure ** WVBrowser1WebResourceResponseViewGetContentCompleted ** i can't figure out why?
Use the TWVBrowser.OnWebResourceResponseReceived event, create a TCoreWebView2WebResourceResponseView instance and call TCoreWebView2WebResourceResponseView.GetContent
Then you will receive the TWVBrowser.OnWebResourceResponseViewGetContentCompleted event.
See the code in TMiniBrowserFrm.WVBrowser1WebResourceResponseReceived.
please complete the answer:
in my program my code is not passing at all the procedure ** WVBrowser1WebResourceResponseViewGetContentCompleted ** i can't figure out why?
salvadordf wrote: Tue Jun 28, 2022 9:45 am
Use the TWVBrowser.OnWebResourceResponseReceived event, create a TCoreWebView2WebResourceResponseView instance and call TCoreWebView2WebResourceResponseView.GetContent
Then you will receive the TWVBrowser.OnWebResourceResponseViewGetContentCompleted event.
See the code in TMiniBrowserFrm.WVBrowser1WebResourceResponseReceived.
what am I doing wrong? I don't get the step program into procedure **OnWebResourceResponseReceived ** at all (I have here a test "memo" entry and a stopwatch, nothing)
procedure TfrmBrowser.wbBrowserWebResourceResponseReceived(Sender: TObject;
const aWebView: ICoreWebView2; const aArgs:
ICoreWebView2WebResourceResponseReceivedEventArgs);
var
TempArgs : TCoreWebView2WebResourceResponseReceivedEventArgs;
TempResponse : TCoreWebView2WebResourceResponseView;
TempHeaders : TCoreWebView2HttpResponseHeaders;
TempIterator : TCoreWebView2HttpHeadersCollectionIterator;
TempName : wvstring;
TempValue : wvstring;
TempHandler : ICoreWebView2WebResourceResponseViewGetContentCompletedHandler;
begin
debug_memo('Resource start');
if FGetHeaders then
try
debug_memo('Resource work');
FHeaders.Clear;
FGetHeaders := False;
TempArgs := TCoreWebView2WebResourceResponseReceivedEventArgs.Create(aArgs);
TempResponse := TCoreWebView2WebResourceResponseView.Create(TempArgs.Response);
TempHandler := TCoreWebView2WebResourceResponseViewGetContentCompletedHandler.Create(wbBrowser);
TempHeaders := TCoreWebView2HttpResponseHeaders.Create(TempResponse.Headers);
TempIterator := TCoreWebView2HttpHeadersCollectionIterator.Create(TempHeaders.Iterator);
// GetContent will trigger the TWVBrowserBase.OnWebResourceResponseViewGetContentCompleted
// event with the contents of this resource, which in this case corresponds to the HTML contents.
TempResponse.GetContent(TempHandler);
while TempIterator.HasCurrentHeader do
begin
if TempIterator.GetCurrentHeader(TempName, TempValue) then
FHeaders.Add(TempName + ': ' + TempValue);
TempIterator.MoveNext;
end;
finally
FreeAndNil(TempIterator);
FreeAndNil(TempHeaders);
FreeAndNil(TempResponse);
FreeAndNil(TempArgs);
TempHandler := nil;
end;
end;
I am very sorry, my mistake .... for some reason the procedure ** wbBrowserWebResourceResponseReceived ** was not assigned to the browser ...
Thanks again !
You do not have the required permissions to view the files attached to this post.