TC官方合作论坛

 找回密码
 立即注册
查看: 2475|回复: 13

[已解决] 问个世界级难题!请高手指点,菜鸟小鸟进来学习

[复制链接]
发表于 2012-5-18 22:44:44 | 显示全部楼层 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
正在做新浪微博自动注册的工具,要获取网页上的验证码,然后用TC的图片控件显示在窗体上。

基本思路是,1.首先获得验证码图片--2.保存到本地指定文件夹--3.设置到图片控件
第一步就难住了,因为验证码是不缓存到缓存文件夹里面的,所以无法用拷贝这种传统手段来实现。请大神指教,TC能不能够实现我想要的效果,指点下思路就行了,其它的我来研究。
新浪微博注册地址:http://weibo.com/signup/signup.php?lang=zh-cn

======================================
突然想到 很多浏览器的“保存网页为图片”的功能,特别是基于IE内核开发的浏览器,比如360安全浏览器的截图功能,应该就是调用WebBrowser的截图方法。有点思路了。。
回复

使用道具 举报

发表于 2012-5-19 08:48:47 | 显示全部楼层
webbrowser
是VB的一个控件..相当于TC的浏览器控件.
但是相对来说方法会多一点.
.

For Each X In Web1.Document.All

       If X.tagName = "IMG" Then

这2句的意思大概就是遍历当前网页所有元素,找到 tagName为"IMG",一般也就是图片的元素.

         Set CtrlRange = Web1.Document.body.createControlRange()

            CtrlRange.Add (X)

            CtrlRange.execCommand ("Copy")

这几句不懂,不过百度了一下,大概就是 将图片复制到剪切板...

Set Image1.Picture = Clipboard.GetData

这句很明显,把剪切板的图片显示到图片控件中...


当然,这些函数要看TC是否封装了.如果没有的话...也无法使用
回复 支持 反对

使用道具 举报

发表于 2012-5-18 23:28:49 | 显示全部楼层
学习下
回复 支持 反对

使用道具 举报

发表于 2012-5-18 23:44:00 | 显示全部楼层
用浏览器控件,直接跳转到验证码的连接
http://weibo.com/signup/pincode/ ... cf14f87e9547afe983a
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-5-19 00:37:40 | 显示全部楼层
回复 3楼cylhb的帖子

验证码是一次有效的,如果先获得网页内容,然后跳转到验证码链接,这时候这个链接是无效的,返回的内容是空的。
回复 支持 反对

使用道具 举报

发表于 2012-5-19 00:53:19 | 显示全部楼层
这是一个问题-.-就算下载下来了,也是跳转了1次了...

-.-控制浏览器的显示范围?只显示验证码部分?

或者是将验证码区域截图..再放到图片控件
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-5-19 01:18:26 | 显示全部楼层
回复 5楼cylhb的帖子

呵呵,控制浏览器的显示范围,这个是下策,截图在放到图片控件这是下下策。这两个我都想过了,因为我设置的浏览器大小是1,1,等于是在窗体上隐藏浏览器,所以放弃了上面两种方法。
回复 支持 反对

使用道具 举报

发表于 2012-5-19 01:23:03 | 显示全部楼层
-.-确实是难题..
分析下源代码吧,找到验证图片真实连接,下载吧..
回复 支持 反对

使用道具 举报

发表于 2012-5-19 01:32:17 | 显示全部楼层
看了下   目前的办法就是找到元素 然后大漠前台截图了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-5-19 01:46:41 | 显示全部楼层
回复 7楼cylhb的帖子

百度GOOGLE了一晚上,发现有人在做VB开发的时候是调用webbrowser,但是我不懂这个,不知道webbrowser是什么东西,不知道TC支不支持这种原理。

这一篇文章讲的是截取验证码的问题,但是里面的代码我看不懂。
http://tech.ddvip.com/2009-12/1260406038140728.html


问题的链接是 http://zhidao.baidu.com/question/122912233.html


  1. VB怎么截取网页中验证码图片?
  2. 2009-10-25 18:36 提问者: zoand | 浏览次数:1271次
  3. VB中怎么实现将网页上的图片保存到本地?
  4. 还有,怎么截取一些网页登陆界面中的验证码图片?
  5. 或者说用WEBBrowser 打开指定URL后,怎么将其中的
  6. 验证码图片保存到本地(还有显示在窗体的IMAGE控件中,这两种都说下吧~)问题补充:

  7. 叨,说了效果啊!!
  8. 有效果我还跑来问么?
  9. 我来帮他解答
  10. 输入内容已经达到长度限制还能输入 9999 字插入图片删除图片插入地图删除地图插入视频视频地图不登录也可以回答参考资料:提交回答取消
  11.       
  12. 2009-10-26 12:06 满意回答 小左,我真的郁闷哈

  13. 我不是给你说了嘛?

  14. Dim X
  15. Dim CtrlRange
  16. For Each X In Web1.Document.All
  17.        If X.tagName = "IMG" Then
  18.             Web1.Stop
  19.             Set CtrlRange = Web1.Document.body.createControlRange()
  20.             CtrlRange.Add (X)
  21.             CtrlRange.execCommand ("Copy")
  22.             Set Image1.Picture = Clipboard.GetData
  23.         End If
  24. Next

  25. Web1就是WebBrowser控件,Image1就是IMAGE控件啊?

  26. 等WebBrowser控件网页加载完毕就用上面的代码获得验证码图片了

  27. 保存本地更简单

  28. SavePicture Image1.Picture, "c:\hxheiyao.bmp"

复制代码
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18045623号)

GMT+8, 2024-6-1 22:52 , Processed in 0.039487 second(s), 23 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

快速回复 返回顶部 返回列表