2 s13068111 s13068111 于 2016.01.20 12:17 提问

c# webbrowser 获取IMG元素验证码的时候空指针异常

页面地址是https://login.m.taobao.com/login.htm

验证码元素有ID 如下

使用
IHTMLControlElement img = (IHTMLControlElement)webBrowser1.Document.Images["J_StandardCode"].DomElement;

webBrowser1.Document.ALL["J_StandardCode"];

都不能取出验证码保存到剪切板

请问是什么原因

没有发现有框架呀。。。。账号和密码框都能用ALL[]取出赋值

5个回答

devmiao
devmiao   Ds   Rxr 2016.01.20 12:21
已采纳

用IE F12调试下,看看"J_StandardCode"是否存在,还是在框架里

devmiao
devmiao   Ds   Rxr 2016.01.20 12:17
s13068111
s13068111   2016.01.20 12:20

感谢你的回答,这个页面我看过,我的情况是从来没取到过这个图片,用你提供的办法 会报错 空指针

s13068111
s13068111   2016.01.20 12:22
img class="check-code-img"  data-url="//pin.aliyun.com/get_img?sessionid=14e79d4a25091fa291225947f8c190b7&&type=150_40&identity=mlogin_login.m.taobao.com" src="//pin.aliyun.com/get_img?sessionid=14e79d4a25091fa291225947f8c190b7&&type=150_40&identity=mlogin_login.m.taobao.com" id="J_StandardCode"/


    应该很简单的

    IHTMLControlElement img = (IHTMLControlElement)webBrowser1.Document.Images["J_StandardCode"].DomElement;


    为什么会取不到呢 空指针异常
s13068111
s13068111   2016.01.20 12:47

它上面的账号和密码都能直接取到

F12里面也没发现有FRAME的痕迹啊

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
delphi webbrowser 获取验证码
use clipbrd , mshtml procedure TForm1.DomImg2Image(src:string;wb:TWebBrowser;img:TImage); var   i:Integer;   rang:IHTMLControlRange; begin   for i:=0 to IHTMLDocument2(wb.Document).images
webBrowser获取验证码内存图片到picturebox中
在COM 页上, 选择 Microsoft HTML Object Library ,添加mshtml 的引用。 使用命名空间 using mshtml。 核心代码: [c-sharp] view plaincopy //页面有框架   HTMLDocument html = (HTMLDocument)this.webBrowser1.D
C# webbrowser遍历网页元素
//不引用其他单元  foreach(HtmlElement ele in WB1.Document.All)                 {                   if(ele.InnerText=="下一页>")                   {                     bl_exist=true;                     e
C# webBrowser 截取验证码截图的两种方式
本来是想把网页加载出来验证码的图片的
C#利用WebBrowser截取验证码图片
PS:转过来的,经测试在VS2005下有一点点问题,不过很容易改,自己调吧这个读验证码的思路不错 最近和一位朋友探讨获取WebBrowser访问的网页中验证图片的方法,起先想到的就是通过WebClient直接去下载当前页面中引用的验证码图片,但继而想到这会涉及一些问题:一是
webbrowser获取动态网页元素
写第一个博客前先啰嗦介绍下我本人:我其实是个硬件工程师,只是喜欢编程,觉得程序可以大大释放劳动力,所以偶尔会写些小程序,解决日常工作中的小问题,而我写的小程序,都是自动化方向的多(例如本次要实现的自动填表),而且对编程中遇到的问题,会不懈地寻找答案,也因为不是专业程序员,所以一些在大家看来很简单的问题,对我来说就变得不简单。 通过webbrowser获取静态网页元素比较容易,而要获取动态网页元素就...
C# webbrowser根据id、src或者alt属性轻松读取验证码
<br />右边是使用Webbrowser控件装载的某网站的注册页面,其中包括了验证码.左边是获取到的验证码,装载在PictureBox中.也许有人会问,通过Webbrowser也能够看到注册页面的验证码为什么还要,在获得这个验证码.原因如下:当你不想让别人知道在做什么的时候需要使用,别人只能看到注册码而不知道在干什么事情;另外愿意是为了方便,当做这个一个注册程序的时候,注册信息一般都是自动生成的,但是验证码需要输入,不停的拖动滚动条找注册码的位置不方便.<br />下面看看如何实现.<br />首先需要添
c# webBrowser 获取Ajax信息 .
c#中 webbrowser控件对Ajax的执行,没有任何的响应,难于判断Ajax是否已经执行完毕,我GG了一下午,找到一个方法,介绍一下:   假如在页面中有个是通过Ajax来改变值,当webBrowser1.StatusText == "完成"后,获取一下这个div HtmlElement target = webBrowser1.Document.GetElementById("resu
WebBrowser获取内部图片
/// /// 返回指定WebBrowser中图片中的图内容 /// /// WebBrowser控件 /// IMG元素 /// IMG对象 private Image GetWebImage(WebBrowser WebCtl, HtmlElement ImgeTag) { HTMLDocument doc = (HTMLDocument)WebCtl.Document.DomDo
c# webbrowser获取cookies
//取出Cookie,当登录后才能取 [DllImport("wininet.dll", CharSet = CharSet.Auto, SetLastError = true)] static extern bool InternetGetCookieEx(string pchURL, string pchCookieName, StringBuilder