Foxtable(狐表)用户栏目专家坐堂 → 应要求.自动操作网页以及获取网页数据.详细例子放出来了!(更新使用事件实现以及详细中文注译讲解)


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

主题:应要求.自动操作网页以及获取网页数据.详细例子放出来了!(更新使用事件实现以及详细中文注译讲解)

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


加好友 发短信
等级:八尾狐 帖子:1812 积分:12951 威望:0 精华:14 注册:2008/10/11 18:07:00
  发帖心情 Post By:2013/5/14 18:17:00 [只看该作者]

Bin老师辛苦了!图片点击可在新窗口打开查看  再次多谢!!

我明白了:

老师说的[登录]是 ===> 在点击窗口1[开始]按钮后 ===> 再点击窗口2按钮 ===> 下载文件 OK!!!

我的操作是: 直接打开[窗口2] ===>填写Name及 Password登录 ====> 再点击窗口2按钮 ===> 下载文件 出错!

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


加好友 发短信
等级:婴狐 帖子:33 积分:289 威望:0 精华:0 注册:2012/9/5 10:06:00
  发帖心情 Post By:2013/5/15 15:54:00 [只看该作者]

Bin老师:

            Case "刷新"

                Dim hec As System.Windows.Forms.HtmlElementCollection = web.Document.GetElementsByTagName("a")

                For i As Integer = 0 To hec.Count-1

                    If hec(i).OuterHtml.Contains("刷新") Then

                        hec(i).InvokeMember("click")

                        'lb=""

                        Exit For

                    End If

                Next


想用这段代码 自动去点击 网页上每个列表后的"刷新"链接,页面显示如下:


列表名称1               刷新 修改

列表名称1               刷新 修改

列表名称1               刷新 修改

列表名称1               刷新 修改

列表名称1               刷新 修改



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


加好友 发短信
等级:贵宾 帖子:35437 积分:178494 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/5/15 15:58:00 [只看该作者]

以下是引用飞狐在2013-5-15 15:54:00的发言:
Bin老师:

            Case "刷新"

                Dim hec As System.Windows.Forms.HtmlElementCollection = web.Document.GetElementsByTagName("a")

                For i As Integer = 0 To hec.Count-1

                    If hec(i).OuterHtml.Contains("刷新") Then

                        hec(i).InvokeMember("click")

                        'lb=""

                        Exit For

                    End If

                Next


想用这段代码 自动去点击 网页上每个列表后的"刷新"链接,页面显示如下:


列表名称1               刷新 修改

列表名称1               刷新 修改

列表名称1               刷新 修改

列表名称1               刷新 修改

列表名称1               刷新 修改


不要单独使用 "刷新" 2个字有可能会连其他链接带有刷新两个字的都点击了. 看下这个A标签的其他字符一起也放进来确保独一无二

你要把所有刷新都点一遍  那么Exit for这个代码去掉.

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


加好友 发短信
等级:婴狐 帖子:33 积分:289 威望:0 精华:0 注册:2012/9/5 10:06:00
  发帖心情 Post By:2013/5/15 16:00:00 [只看该作者]

还没写完就怎么就发出去了,接上>>

列表名称1               刷新 修改
列表名称2               刷新 修改
列表名称3               刷新 修改
列表名称4               刷新 修改
列表名称5               刷新 修改
列表名称6               刷新 修改
列表名称7               刷新 修改

1 2 3 4 5 6 下一页

想通过修改楼上代码,设定间隔时间,去点击"刷新",当点击一个"刷新"后,还会出现只带一个确定按钮的刷新成功信息,每页有20条列表,翻页又怎么处理呢?




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


加好友 发短信
等级:婴狐 帖子:33 积分:289 威望:0 精华:0 注册:2012/9/5 10:06:00
  发帖心情 Post By:2013/5/15 16:13:00 [只看该作者]

现在用这个代码,只能刷新第一页第一个"刷新",而且一直都只"刷新"第一个

Dim hec As System.Windows.Forms.HtmlElementCollection = web.Document.Window.Frames(3).Document.GetElementsByTagName("a")

                For i As Integer = 0 To hec.Count-1
                   ' If hec(i).OuterHtml.Contains("刷新") Then
                        for j as integer = 0 to 想得到网页上"a" 的"刷新"集合数(不知道如何写,如果翻页是不是还得嵌套for呢?)
                        hec(j).InvokeMember("click")
                                System.Threading.Thread.Sleep(300000)
                        next

                        Exit For
                    'End If
                Next
点击"刷新"后,会弹出提示刷新成功信息,如何得到这个弹出窗口,并点击上面的的确定按钮.




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


加好友 发短信
等级:贵宾 帖子:35437 积分:178494 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/5/15 16:16:00 [只看该作者]

 System.Threading.Thread.Sleep(300000) 这段代码毫无用处,就是这个帖子之前我已经回复过DON解释过原因.

Exit For这个你不去掉的话那么他永远只会点击第一个,因为当他找到第一个并且点击之后就退出FOR循环了.

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


加好友 发短信
等级:贵宾 帖子:35437 积分:178494 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/5/15 16:17:00 [只看该作者]

可以去掉确定按钮的, 翻页也可以点击翻页的.  你自己研究一下吧.  也可以百度一下相关Webbrowser知识.

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


加好友 发短信
等级:婴狐 帖子:33 积分:289 威望:0 精华:0 注册:2012/9/5 10:06:00
  发帖心情 Post By:2013/5/15 16:44:00 [只看该作者]

exit for 去掉还是只能点击第一条,msgbox看了hec.count 为9,没有往下走了

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


加好友 发短信
等级:贵宾 帖子:35437 积分:178494 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/5/15 16:46:00 [只看该作者]

这个有可能是因为你点击了第一个页面它就跳转了,所以后面的就无法执行了(猜测他跳转了的原因是你说有提示框出现)

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


加好友 发短信
等级:婴狐 帖子:33 积分:289 威望:0 精华:0 注册:2012/9/5 10:06:00
  发帖心情 Post By:2013/5/15 16:51:00 [只看该作者]

是的,点击了确定后回到原来的页面自动刷新还是跳转了,有这个动作,现在就不知道怎么办了?

 回到顶部
总数 973 上一页 1 2 3 4 5 6 7 8 9 10 下一页 ..98