分页显示的情况下,如何在webbrowser中用程序虚拟点击以显示后续页面?

lingxudong2 2013-05-31 10:42:01
请教高手:

在内容较多时,多采用分页显示的方法,在页面的最下方显示为“①②③④。。。。⑩”(从网页源文件中复制得到的分页显示的html代码附后)
请问:在vb.net2008中 使用webbrowser怎样实现点击第n页?程序怎么写?另外,在webbrowser中,我手工点击上述超链接,为什么不跳转?
谢谢!

<div id="splitPageShowDiv" style="margin:8px 0px 0px 13px;padding:0px 0px 0px 0px;height:30px;"></div>

<span class='sabrosus2' style='float:left'>
<span class='current2'><span style='cursor:pointer;' onclick='goPage(1);'>1</span></span>
<span><a href='javascript:void(0)' style='cursor:pointer;' onclick='goPage(2);'>2</a></span>
<span><a href='javascript:void(0)' style='cursor:pointer;' onclick='goPage(3);'>3</a></span>
<span><a href='javascript:void(0)' style='cursor:pointer;' onclick='goPage(4);'>4</a></span>
....
<span><a href='javascript:void(0)' style='cursor:pointer;' onclick='goPage(35)'>35</a></span>
</span>

<span class="count" style="margin:0px 50px 0px 0px;padding-top:0px;">共  1040条</span>
...全文
107 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
红衣老大 2013-06-01
  • 打赏
  • 举报
回复
引用 3 楼 lingxudong2 的回复:
先谢谢啦。通过WebBrowser1.Document.Body.AppendChild(ele)的方法,从页面底部页码的颜色可以看到成功调用了goPage(n)。 但新的问题是goPage(n)之后,发现我提取到的页面数据只是第1页的n遍重复。第2页开始的页面内的数据根据没有被提取到。 我用了sleep(x秒)以及 While (WebBrowser1.ReadyState <> WebBrowserReadyState.Complete) Application.DoEvents() End While 还有WebBrowser1.DocumentCompleted事件,都不行。 当前网页文档 = WebBrowser1.Document命令中的当前网页文档始终指向第1个文档,也就是说WebBrowser1根本没加载新文档(不可能是由于不及加载,因为我用sleep(足够的时间)也没有获得新文档)。 请问有什么办法使得WebBrowser1实现文档更新。
建议 你先 分开步骤 用2个按钮 来确认 是不是 文档没有加载的问题
lingxudong2 2013-06-01
  • 打赏
  • 举报
回复
还是没搞明白。我看了一下帮助,webBrowser1.Document.InvokeScript的功能是执行在 HTML 页面中定义的动态脚本函数。但遇到的网页中没有定义goPage(4)。 我把这句命令写进了程序 WebBrowser1.Document.InvokeScript("goPage(4)"),但是WebBrowser1没有跳转到第4页。 我用vb.net,不是C#,如何让WebBrowser1实现跳转到page(n)?劳驾讲得再详细一些,本人的基本功比较差一些。 谢谢。
Jia_H 2013-06-01
  • 打赏
  • 举报
回复
你知道对应的url的话,设定webbrowser的Url不就可以了,或者用等价的Navigate方法。
lingxudong2 2013-06-01
  • 打赏
  • 举报
回复
先谢谢啦。通过WebBrowser1.Document.Body.AppendChild(ele)的方法,从页面底部页码的颜色可以看到成功调用了goPage(n)。 但新的问题是goPage(n)之后,发现我提取到的页面数据只是第1页的n遍重复。第2页开始的页面内的数据根据没有被提取到。 我用了sleep(x秒)以及 While (WebBrowser1.ReadyState <> WebBrowserReadyState.Complete) Application.DoEvents() End While 还有WebBrowser1.DocumentCompleted事件,都不行。 当前网页文档 = WebBrowser1.Document命令中的当前网页文档始终指向第1个文档,也就是说WebBrowser1根本没加载新文档(不可能是由于不及加载,因为我用sleep(足够的时间)也没有获得新文档)。 请问有什么办法使得WebBrowser1实现文档更新。
threenewbee 2013-05-31
  • 打赏
  • 举报
回复
google webbrowser 调用 js csharp 你需要调用的就是goPage(n)

16,553

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧