Visual_Basic 板


LINE

各位程式高手好, 之前问的Webbrowser_Complete重复触发的问题,简化後的程式码贴在下面 再请各位有空帮忙看看,感谢! 这个简化的程式码是想先让浏览器搜寻"林书豪"这个关键字, 当网页下载完成时,开始寻找"下一页"这个连结, 找到了就点击他,然後搜寻结果就会翻页, 於是Webbrowser就又被触发,再继续重复翻页。 他在xp作业系统没问题,但在win7编译执行会乱跳页,无法1 2 3 4 5..一直翻页下去 (看看Textbox1的"目前翻页次数=N") 可以把code copy到VB贴上执行就知道了 ========================================================= Public Class Form1 Dim k = 0 ' 算第几页=翻页次数-1 ' 一开始Load表单时要做的事:Web1浏览以下网址 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim URL As String = "https://www.google.com/?hl=zh-tw&gws_rd=ssl#hl=zh-tw&q=林书豪&start=0" WebBrowser1.Navigate(URL) End Sub ' 当Web1下载网页完成时,触发执行此Sub副程式内容 Private Sub WebBrowser1_DocumentCompleted(ByVal sender As System.Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted TextBox1.Text = "浏览器下载网页完成 目前翻页次数=" + k.ToString Dim a As HtmlElement For Each a In WebBrowser1.Document.All If (InStr(1, a.OuterHtml.Trim, "下一页") > 0) And (UCase(a.TagName) = "A") Then TextBox2.Text = a.OuterHtml ''''''''''''''''''''''''''''''''[delay start] Dim TimeLast11 = 2000 ' 要延迟 t 秒,就设为 t *1000 Dim Start11 As Integer = Environment.TickCount() ' 现在时间start = Environment.TickCount() (vb.net语法) Do If Environment.TickCount() - Start11 > TimeLast11 Then Exit Do Application.DoEvents() ' 要记得写这行,不然都在跑回圈,画面可能会不见 Loop ''''''''''''''''''''''''''''''''[delay end] a.InvokeMember("click") ' 点击 k = k + 1 ' 翻页次数+1 Exit Sub End If Next End Sub ================================================================== ※ 引述《cf1064 (蚵仔)》之铭言: : ※ 引述《mapleport (枫港的秋天)》之铭言: : : 请输入专案类型(网站专案或者应用程式专案): : : Visual Basic 2010 Express : : 各位高手好, : : 小弟是初学者,在xp作业系统上有写一个程式, : : 在网页下载完成後,会点击我要的一些link进到其他页以撷取资讯 : : 在xp上可以顺利执行 (需要安装.NET4.0等等) : : 後来在WIN7上面安装VB2010 Express将原本程式码做编译, : : 发现网页尚未完全载入时就进入Sub WebBrowser1_DocumentCompleted副程式里面, : : 由上而下开始寻找link, : : 因此找不到我要的link(载入的那一页一定有我要的link,通常在网页下方) : : 请问有高手知道如何解决吗,感激不尽>< : : 我也试过以下的方式 但不知为何无效 : : 1. If (WebBrowser1.ReadyState = WebBrowserReadyState.Complete) Then...或 : : 2. If (WebBrowser1.ReadyState = WebBrowserReadyState.Loading Or WebBrowser1.ReadyState = : : WebBrowserReadyState.Loaded)...... : : 3. 等找到我要的link才视为载入完成,但是不知道怎麽写 : 在complete里加上 : While (web.ReadyState <> WebBrowserReadyState.Complete) : Application.DoEvents() : End While : 来确保他是真的载入完成这样呢? --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.140.1.251
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/Visual_Basic/M.1414996648.A.B7D.html







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:WOW站内搜寻

TOP