none
请教一下webbrowser中如果取得iframe中的验证码图片,并保存到本地? RRS feed

答案

  • 你好,

    只针对你的存图片来说,得看你想用什么代码来获取,如果C#和WinForm的话:

    mshtml.IHTMLWindow2 可以获取frame和里面图片的可能source,类似这里,但是我不确定它的图片会不会是在他自己服务器上的,说不定你获取到的只是一个没用的路径。硬要存的话可能你只能截全屏之类的。MVP说的挺有道理的,你要不试试去查询下淘宝的API有没有相关的东西?



    Barry
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    2015年6月30日 8:43
  • 引入

    using mshtml;

    使用com组件来获取

    HtmlElement imgeHtmlElement = webBrowser1.Document.GetElementById("code"); //通过id查找该验证码所在元素位置
                HTMLDocument doc = (HTMLDocument)this.webBrowser1.Document.DomDocument;
                HTMLBody body = (HTMLBody)doc.body;
                IHTMLControlRange range = (IHTMLControlRange)body.createControlRange();
                IHTMLControlElement imgICE = (IHTMLControlElement)imgeHtmlElement.DomElement; //图片地址  
                range.add(imgICE);
                range.execCommand("Copy", false, null); //复制到剪贴板
                Image vcCodeImage = Clipboard.GetImage(); //得到image图像

    //剩下的就是写入文件的代码了,你自己写


    2015年7月4日 1:14

全部回复

  • 让用户自己输不就完了。

    要自动查询淘宝网站的话怎么不用淘宝的API?



    Visual C++ MVP

    2015年6月28日 19:26
    版主
  • 你好,

    只针对你的存图片来说,得看你想用什么代码来获取,如果C#和WinForm的话:

    mshtml.IHTMLWindow2 可以获取frame和里面图片的可能source,类似这里,但是我不确定它的图片会不会是在他自己服务器上的,说不定你获取到的只是一个没用的路径。硬要存的话可能你只能截全屏之类的。MVP说的挺有道理的,你要不试试去查询下淘宝的API有没有相关的东西?



    Barry
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    2015年6月30日 8:43
  • 引入

    using mshtml;

    使用com组件来获取

    HtmlElement imgeHtmlElement = webBrowser1.Document.GetElementById("code"); //通过id查找该验证码所在元素位置
                HTMLDocument doc = (HTMLDocument)this.webBrowser1.Document.DomDocument;
                HTMLBody body = (HTMLBody)doc.body;
                IHTMLControlRange range = (IHTMLControlRange)body.createControlRange();
                IHTMLControlElement imgICE = (IHTMLControlElement)imgeHtmlElement.DomElement; //图片地址  
                range.add(imgICE);
                range.execCommand("Copy", false, null); //复制到剪贴板
                Image vcCodeImage = Clipboard.GetImage(); //得到image图像

    //剩下的就是写入文件的代码了,你自己写


    2015年7月4日 1:14
  • 对于一般的网页 用 mshtml.IHTMLWindow2  可以,但是对于这个上面的URL 来说不行。

    淘宝对买家来说没有开放API.

    我已经用变通的方式来实现了,谢谢1


    相信自己,坚持下去。

    2015年7月9日 5:19
  • 这个方法对于我上面写的URL 来说不行,会报错。

    我用变通的方法实现了,谢谢!


    相信自己,坚持下去。

    2015年7月9日 5:19
  • 淘宝API 没有对买家开放,所以只能模拟网页操作,谢谢!

    相信自己,坚持下去。

    2015年7月9日 5:21