老师下面代码经常会出现:内存不够或系统资源出错等等
需求:
1、下面代码是否有不合理地方。
2、0 To 100 改为 0 To 50 如何让代码等待5分钟,让电脑释放内存,再执行代码
Dim drs As List(Of DataRow) = DataTables("原始网址1").Select("开标网址 Is Not Null And 备注 Is Null")
For m As Integer = 0 To 100
Dim web As New System.Windows.Forms.WebBrowser()
web.ScriptErrorsSuppressed = True '解决网页页面的脚本错误提示
web.Navigate(drs(m)("开标网址"))
Do Until web.ReadyState = 4 AndAlso web.Document.GetElementById("zoom") IsNot Nothing
Application.DoEvents '绘制控件的代码即刻生效
Loop
Dim elems As object
Dim txt As String = ""
Dim bdtxt As String = "" ''表单
'''****-----------开标信息----------
elems = web.Document.GetElementById("zoom").GetElementsByTagName("p") '以P为大节点划分
If elems.Count > 0 Then
For n As Integer = 0 To elems.Count - 1
If elems(n) IsNot Nothing AndAlso elems(n).InnerText IsNot Nothing AndAlso elems(n).InnerText.Trim() > "" Then
txt &= elems(n).InnerText & vbCrlf
'Else
'msgbox("PDF")
End If
Next
End If
'elems = web.Document.GetElementById("zoom").GetElementsByTagName("tbody") '找出最大"tbody"的ne值
Dim ne As Integer = web.Document.GetElementById("zoom").GetElementsByTagName("tbody").Count -1 '找出最大"tbody"的ne值
If ne >= 0 Then
elems = web.Document.GetElementById("zoom").GetElementsByTagName("tbody")(ne).GetElementsByTagName("tr") '找出最大"tbody"的ne值,下面的tr或td
Dim th As Integer
For i As Integer = 0 To elems.Count -1
If elems(i).Innertext.Contains("序号") Then '查出包含有"序号"的行作分界线
th = i
'msgbox("序号 = " & i)
End If
Dim tds As object = elems(i).GetElementsByTagName("td")
For ii As Integer = 0 To tds.Count -1
If tds.Count >= 2 Then '开标记录表单,根据td列数量来区分开标记录与标段名称等
bdtxt &= tds(ii).InnerText & vbCrlf
Else
txt &= tds(ii).InnerText & vbCrlf '标段名称等
End If
Next
Next
End If
drs(m)("备注") = StrToNarrow(txt)
drs(m)("备注1") = bdtxt
Next