我目前正在使用此代码以字符串检索内容>>它是由TWebBrowser呈现的,您可以看到它显示通过AJAX动态加载的内容:
function TMyViewerIE.GetDocumentAsStr: string;
begin
if Assigned(FWebBrowser.Document) then
begin
iall := (FWebBrowser.Document AS IHTMLDocument2).body;
while iall.parentElement <> nil do
begin
iall := iall.parentElement;
end;
Result := iall.outerHTML;
end
;
end;
但是,此代码似乎不包含AJAX执行的更改。
注意:对于那些认为上述代码“脱离上下文”的人,请参阅此SO,其中建议将此代码的变体作为解决方案:
Delphi TWebBrowser get HTML source after AJAX load
问题是它对我不起作用。我以为上面会工作,因为(再次我认为)AJAX改变了内部文档结构,这就是保存的内容。
也许我错过了一些东西 - 如果有人知道答案,我会很感激。我还将继续自己的研究并发布结果。
注意:我可以尝试构建一个AJAX页面(或公共/政府页面),这样我就可以更轻松地共享我的测试用例。我相信这将满足有关工作实例的建议。