【发布时间】:2019-06-17 10:56:06
【问题描述】:
我使用的是 Delphi 10。
我尝试获取该网站的内容:leforem.be。我尝试使用 WebBrowser 控件,但无法获得由页面上的脚本生成的完整源代码。有人有想法吗?
PLink := 'https://www.leforem.be/recherche-offres-emploi/jsp/index.jsp#searchurl-results/1?query=&lieu_trav='
MyBrowser.Navigate(PLink, 4);
{Wait for Browser Ready Status}
while MyBrowser.ReadyState <> 4 do Application.ProcessMessages;
StartTime := Now;
{Wait for anoyther 60 seconds}
while SecondsBetween(Now, StartTime) < 60 do Application.ProcessMessages;
{Get the content of the Browser}
document := MyBrowser.Document as IHTMLDocument2;
PBrut := document.body.innerHTML;
【问题讨论】:
-
你没有使用XE10,没有这样的东西。版本在这里可能并不重要,但如果你引用它,你可能还是准确的。
-
Indy 在检索网页时不会执行客户端脚本,您必须自己执行此操作,这并非易事。对于 WebBrowser,没有办法检测它何时执行脚本,更不用说何时完成执行脚本了。如果客户端脚本需要一段时间才能运行,您只需在代码中添加一些延迟,以便在访问浏览器内容之前等待一段时间。或者在浏览器准备就绪时提示用户通知您的应用。
-
你可能有一个永远运行的脚本,或者一个脚本调用另一个脚本,因此永远不会完成。如果我们知道您实际上想对这些内容做什么,我们或许可以为您提供更好的帮助。
标签: javascript delphi indy twebbrowser