我想做一个自动登陆的程序,现在有很多站都有校验码这种机制,我想把校验码直接提取出来让程序进行识别,然后自动提交到网站上,但是现在有些网站还有refer检验,不允许从外部提交数据,因此只能通过WebBrowser浏览页面后提交。
编写过程中存在2个问题:
1.如何把浏览的页面中的其它广告图片声音等进行屏蔽?(这个问题happy_sea说已经解决了,但我不是那个帖子的楼主,因此新开一个,还请麻烦解答一下)
2.如何把网页中的图片提取出来?(搜索了一下也有问这个问题的,在WebBrowser的document对象里获取的图片只能得到长宽等基本属性,不能直接得到Picture,怎样能直接得到已经显示出来的图片?我不想得到URL后重新下载,目前想到2个解决办法,一是屏幕截图--太不方便了,二是获取图片在IE缓存中的路径直接显示--缓存路径在拖放时能得到,但我如何实现自动拖放?)麻烦各位高手解答下下,一定给分!

解决方案 »

  1.   

    其实这个问题很简单 下面是我写的获取图片并在IMG中显示的代码 
    Public Sub getpic(sImgID As Integer, picname As String)
    'Dim vdoc As Object
    Dim doc1 As Object
    Set doc1 = WebBrowser1.document
    Dim ctrlRange As Object
    Set ctrlRange = doc1.body.createControlRange
    ctrlRange.Add doc1.images(sImgID)
    '//将该图片复制到内存中
    ctrlRange.execCommand "COPY"
    '//从剪贴扳中取出
    SavePicture Clipboard.GetData, App.Path & "\tmpbmp\" & picname
    '//Image1中显示
    Image1.Picture = LoadPicture(App.Path & "\tmpbmp\" & picname)
    End Sub
    不过屏蔽多媒体的功能还没有找出来 继续关注
      

  2.   

    我目前实现的只是inet和webbrowser结合使用,用inet获取html代码,过滤后写入webbrowser中,并用<base>标签给webbrowser设置一个“初始路径”,以达到和直接navigate相同的效果。但是这种方法并不能实现完全屏蔽声音图片等元素,因为很多网页中这些东西都是用脚本写的,想过滤干净基本上是不可能的。