| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4466 人关注过本帖
标题:VB获取网页验证码失败,请高手指点
取消只看楼主 加入收藏
wyf_andy
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2017-6-2
结帖率:0
收藏
已结贴  问题点数:5 回复次数:8 
VB获取网页验证码失败,请高手指点
Private Sub Command1_Click()
    Dim X
    Dim CtrlRange
    For Each X In webAuto.Document.All
        If X.tagName = "IMG" Then
             Set CtrlRange = webAuto.Document.body.createControlRange()
             CtrlRange.Add (X)    '此处提示出错  对象不支持该属性或方法
             CtrlRange.execCommand ("Copy")
             Set Image1.Picture = Clipboard.GetData
         End If
    Next
End Sub

Private Sub Form_Load()
    webAuto.Navigate "http://www.
End Sub

有的网页可以成功获取,可这个网页提示出错请高手指点,感谢!

[此贴子已经被作者于2017-6-3 00:43编辑过]

搜索更多相关主题的帖子: 验证码 网页 
2017-06-03 00:39
wyf_andy
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2017-6-2
收藏
得分:0 
webbrowser控件的Document.All并不能获取所有元素,因为有的元素是通过js代码产生的,下述代码可能可以得到全部源代码:
Dim XmlHttp,a
Set XmlHttp = CreateObject("Microsoft.XMLHTTP")
XmlHttp.Open "GET", "http://www., True
XmlHttp.send
While XmlHttp.readyState <> 4
DoEvents
Wend
a=XmlHttp.Text   '此处提示出错,提示此对对象不支持该属性或方法
还有一个问题就是,这个验证图片需要点一下输入验证码文本框才能显示出来
2017-06-07 13:31
wyf_andy
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2017-6-2
收藏
得分:0 
回复 2楼 xzlxzlxzl
webbrowser控件的Document.All并不能获取所有元素,因为有的元素是通过js代码产生的,下述代码可能可以得到全部源代码:
Dim XmlHttp,a
Set XmlHttp = CreateObject("Microsoft.XMLHTTP")
XmlHttp.Open "GET", "http://www., True
XmlHttp.send
While XmlHttp.readyState <> 4
DoEvents
Wend
a=XmlHttp.Text   '此处提示出错,提示此对对象不支持该属性或方法
还有一个问题就是,这个验证图片需要点一下输入验证码文本框才能显示出来
2017-06-07 13:32
wyf_andy
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2017-6-2
收藏
得分:0 
回复 6楼 xzlxzlxzl
多谢,这样是可以获取源码了,可是还有一个问题想请教您,这个验证图片需要点一下验证码文本框才能显示出来验证码,这样应该如何操作?
2017-06-09 14:28
wyf_andy
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2017-6-2
收藏
得分:0 
回复 5楼 风吹过b
这是什么函数没找到相关资料,不知道应该如何操作,还得请您帮我找点这方面的资料,多谢!
2017-06-09 14:30
wyf_andy
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2017-6-2
收藏
得分:0 
回复 10楼 xzlxzlxzl
好的,多谢,我自己先找找这方面的资料试试看,到时候如果有什么不懂的再向你请教了。
2017-06-10 08:49
wyf_andy
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2017-6-2
收藏
得分:0 
回复 9楼 风吹过b
好的,多谢,我自己先找找这方面的资料试试看,到时候如果有什么不懂的再向你请教了。
2017-06-10 08:51
wyf_andy
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2017-6-2
收藏
得分:0 
回复 2楼 xzlxzlxzl
<img ng-show="scope.checkCode.image" ng-src="data:image/png;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAASACgDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDt9d8S2lpLb2zGLFwf3Ucs6wpKB1Znb7sY9gS3YEUzV/E0NsLO3uBbrJcj5IWuRHG+MZJkYDEYPtluy4rK8R6JqOq6ve3lnaNc2V3pps1KyImxw2Qx3EfJk5yMn5emOtS/8M6nMT9nhe+tZNHXTvMEiJh0xhzuI/d554yeOmOuUYwSV9Lfhv8Aj/WnTpbld2/rb/gmxqviuVbh7ZLBJorSz+2XiJOVBQEAhDt+cdTghcgds8rr3iuW306DULbSJ7vRyqPLIJFjyrEAYB5bk9B17kDrmX/hW91P7HBZGaAJp6WNxqRkQRzRDGRs5Y9DjhQc/e9b2uaXJrVgNGh0V306CAJZ3wljG2QDAY5IZVGASVB3enq7U4teX4f8F9BJyf8AXp/wTqFP9pIGwUsgM4PBl/8Asf5/TqVHaRSXNnBDLKZLaKNVeQ8G4IGCf93+f06lYOXK+VNryX67a/15Gi1WpLq3FkqjhWljUjsQWGR9KNW4slUcK0sakdiCwyPpRRSpfY/xf5DDVuLJVHCtLGpHYgsMj6UatxZKo4VpY1I7EFhkfSiiil9j/F/kAatxZKo4VpY1I7EFhkfSiiiu3A/w36ks/9k=" class="" src="data:image/png;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAASACgDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDt9d8S2lpLb2zGLFwf3Ucs6wpKB1Znb7sY9gS3YEUzV/E0NsLO3uBbrJcj5IWuRHG+MZJkYDEYPtluy4rK8R6JqOq6ve3lnaNc2V3pps1KyImxw2Qx3EfJk5yMn5emOtS/8M6nMT9nhe+tZNHXTvMEiJh0xhzuI/d554yeOmOuUYwSV9Lfhv8Aj/WnTpbld2/rb/gmxqviuVbh7ZLBJorSz+2XiJOVBQEAhDt+cdTghcgds8rr3iuW306DULbSJ7vRyqPLIJFjyrEAYB5bk9B17kDrmX/hW91P7HBZGaAJp6WNxqRkQRzRDGRs5Y9DjhQc/e9b2uaXJrVgNGh0V306CAJZ3wljG2QDAY5IZVGASVB3enq7U4teX4f8F9BJyf8AXp/wTqFP9pIGwUsgM4PBl/8Asf5/TqVHaRSXNnBDLKZLaKNVeQ8G4IGCf93+f06lYOXK+VNryX67a/15Gi1WpLq3FkqjhWljUjsQWGR9KNW4slUcK0sakdiCwyPpRRSpfY/xf5DDVuLJVHCtLGpHYgsMj6UatxZKo4VpY1I7EFhkfSiiil9j/F/kAatxZKo4VpY1I7EFhkfSiiiu3A/w36ks/9k=">
现在验证码的地址已经获取到了,可是这样的地址不知道怎么显示到image里。
2017-06-10 10:40
wyf_andy
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2017-6-2
收藏
得分:0 
以下是引用风吹过b在2017-6-10 12:41:57的发言:

data:image/png;base64,
看到数据头吗?

data   表示直接是数据
image  表示数据是图片
png   表示图片格式是 png
base64  表示数据编码格式上 base64

你要做的,把后面的数据 解码,然后写一个临时文件,然后再显示

如果 vb 不支持png ,那直接不解码,写 html 文件,另一个 webbrows 打开html 文件来自动显示这个图像
仿这个图像的标志来写

已经通过你说的写 html 文件,另一个 webbrows 打开html 文件来自动显示这个图像解决了,这些天非常感谢你的热心帮助!
2017-06-11 09:22
快速回复:VB获取网页验证码失败,请高手指点
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.029335 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved