Foxtable(狐表)用户栏目专家坐堂 → 如何异步获取网页代码


  共有5794人关注过本帖树形打印复制链接

主题:如何异步获取网页代码

帅哥哟,离线,有人找我吗?
lxhmax
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:637 积分:5704 威望:0 精华:0 注册:2012/8/2 19:04:00
如何异步获取网页代码  发帖心情 Post By:2022/11/16 16:12:00 [只看该作者]

下面的内容设置为自定义函数"获取网页数据"
Dim hd As New Hap.HtmlDocument
Dim w As New System.Windows.Forms.WebBrowser
w.ScriptErrorsSuppressed = True  '禁止js错误提示
w.Navigate("https://www.baidu.com/")
Do Until w.ReadyState = 4
    Application.DoEvents
Loop
Dim wydm As String = w.DocumentText
Output.Show(wydm)

然后用同步函数就没问题,用异步函数就报下面这个错误,请问下老师,如何才能异步获取网页代码?因为同步的耗时太久了,每一个页面要2秒左右,10个页面就要20多秒
.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2020.4.10.8
错误所在事件:自定义函数判断房源状态
详细错误信息:
调用的目标发生了异常。
当前线程不在单线程单元中,因此无法实例化 ActiveX 控件“8856f961-340a-11d0-a96b-00c04fd705a2”。

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111414 积分:567140 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/11/16 16:17:00 [只看该作者]

无法在异步里使用的。可以考虑到网页加载事件里处理,http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=32808,看里面的全局代码

 回到顶部
帅哥哟,离线,有人找我吗?
nsdata
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:162 积分:1505 威望:0 精华:0 注册:2022/11/10 9:07:00
  发帖心情 Post By:2022/11/17 2:02:00 [只看该作者]

建议 最好能加强一点 异步处理方法,能让foxtable分开处理数据、UI。。。。像获取WebBrowser内容不进行UI操作的话可以开线程获取 防止卡顿,一般语言都支持

 回到顶部