我目前正在从使用JavaScript加载特定 span 的URL列表中读取HTML源代码,其中包含我需要提取的动态超链接。一切正常,除了两个小错误,但可以在调试过程中处理:
到达$content = "<p>123</p> <p>456</p> <p>789</p>"
事件时,有时$content = apply_filters( 'the_content', get_the_content() );
$content = str_replace( ']]>', ']]>', $content );
为空
调用DocumentCompleted
时,程序有时会挂起很长一段时间。
Document.Body
答案 0 :(得分:1)
以下链接可能有助于提供解决手头问题的一些信息,因为看起来Application.DoEvents不是一个很好的用法,关于它及其替代品有很多讨论:
Alternative to Application.DoEvents()
我的理解是Document.Body
你发现你是空的,DoEvents可以发挥作用。
关于Join(),它的作用是阻塞直到点线程返回,我不知道你为什么使用STA作为线程属性,这是访问COM之类的东西所必需的,只能在STA模式下运行。您可能希望使用Async-Await系统检查以下相同的链接,这在使UI线程免费方面要好得多,并且会使您的UI界面响应更快:
is there an Application.DoEvents() for WebBrowser?
理想情况下,现在使用线程已经过时,最好使用Task API,因为它们在并行化方面做得更好。