vb.net向webbrowser执行javascript代码进行翻页,如何读翻页后的数据

使用webbrowser控件显示了网页,打算从网页中读取一些数据,这些数据在网页中是分页的,现在已经实现了读取当前页的数据,读取当前页面的代码和翻页的代码分别运行是没有问... 使用webbrowser控件显示了网页,打算从网页中读取一些数据,这些数据在网页中是分页的,现在已经实现了读取当前页的数据,读取当前页面的代码和翻页的代码分别运行是没有问题的。
但是调用网页中的javascript进行翻页,再读取下一页数据的时候出现问题。
For i As Integer = 0 To 2
ChangePage()
GetDataFromWeb()
WriteDataToExcel()
Next
读到的数据都是第一页的,当程序运行完后,会直接跳转到要读取的最后一个页面
请问应该怎么处理?

Private Sub ChangePage()'翻页的代码
Dim cmd As String = "javascript:Instance('mz_" + queryNum.ToString + "').toPage(" + pageNum.ToString + ")"
wbroMap.Navigate(cmd)
pageNum += 1
End Sub
Private Sub GetDataFromWeb()'读取数据的代码
For j As Integer = 0 To 9
Dim divid As String = "no_" + j.ToString
Dim strdata As String = wbroMap.Document.GetElementById(divid).InnerText
Dim arrGetdata = Split(strdata, Chr(13))
arrData(j, 0) = arrGetdata(0)
arrData(j, 1) = Split(arrGetdata(1), ":")(1)
If arrGetdata.Length = 4 Then
arrData(j, 2) = Split(arrGetdata(2), ":")(1)
arrData(j, 3) = Split(Mid(arrGetdata(3), 5), ",")(0)
arrData(j, 4) = Split(Mid(arrGetdata(3), 4), ",")(1)
ElseIf arrGetdata.Length = 3 Then
arrData(j, 2) = "无数据"
arrData(j, 3) = Split(Mid(arrGetdata(2), 5), ",")(0)
arrData(j, 4) = Split(Mid(arrGetdata(2), 4), ",")(1)
End If
Next
End Sub
Private Sub WriteDataToExcel()'把数据写入Excel
For i As Integer = 0 To arrData.GetLength(0) - 1
For j As Integer = 0 To arrData.GetLength(1) - 1
xapp.Cells(writingPage * 10 + i + 2, j + 1).value = arrData(i, j)
Next
Next
writingPage += 1
End Sub
展开
 我来答
料事如神心雨随
2016-06-07 · TA获得超过1399个赞
知道小有建树答主
回答量:662
采纳率:0%
帮助的人:238万
展开全部
不想用点击,直接执行,那么你肯定就不能用onclick事件了。
在网页中JS函数自动执行常用三种方法

  在HTML中的Head区域中,有如下函数:

<SCRIPT
LANGUAGE="JavaScript">
  functionn
MyAutoRun()
  {
   //以下是您的函数的代码,请自行修改先!
   alert("函数自动执行哦!");
  }
</SCRIPT>

  下面,我们就针对上面的函数,让其在网页载入的时候自动运行!

  ①第一种方法

  将如上代码改为:

<SCRIPT
LANGUAGE="JavaScript">
  functionn
MyAutoRun()
  {
   //以下是您的函数的代码,请自行修改先!
   alert("函数自动执行哦!");
  }
  window.onload=MyAutoRun();
//仅需要加这一句
</SCRIPT>

  ②第二种方法

  修改网页的Body为:

  <body onLoad="MyAutoRun();">

  或者改为:

  <body onLoad="javascript:MyAutoRun();">

  ③第三种方法

  使用JS定时器来间断性的执行函数:

  setTimeout("MyAutoRun()",1000); //隔1000毫秒就执行一次MyAutoRun()函数

  实现方法,将最上面的那JS函数,改为:

<SCRIPT
LANGUAGE="JavaScript">
  functionn
MyAutoRun()
  {
   //以下是您的函数的代码,请自行修改先!
   alert("函数自动执行哦!");
  }
  setTimeout("MyAutoRun()",1000);
//这样就行拉
</SCRIPT>
追问
感谢解答,但是好像不是我想问的内容,我的问题重点不在javascript上,而是想知道怎么用VB.NET连续翻页同时读取数据。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式