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

问题描述

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[]取出赋值

解决方案

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

解决方案二:

http://www.cnblogs.com/icyJ/p/webbrowser.html

解决方案三:

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

解决方案四:

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;

    为什么会取不到呢 空指针异常

解决方案五:

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

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

时间: 2024-10-31 18:11:31

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

c#-C# 用除了webbrowser的浏览器控件获取Html元素并转化成相应对象。

问题描述 C# 用除了webbrowser的浏览器控件获取Html元素并转化成相应对象. C# 用除了webbrowser的浏览器(如webkit,Cefsharp,cefglue)控件获取 img Html元素并转化成对应的Image对象 解决方案 最简单通用的做法是借助剪贴板.不管什么内核,只要你的浏览器支持选中和复制,也不管什么格式,C#那里都可以获得. "通过httpwebrequest对象发起请求获取到html",我猜测lz要得到验证码,如果是那样,再发请求会导致验证码刷新.

webbrowser-关于C#webBrowser 无法获取js元素的问题

问题描述 关于C#webBrowser 无法获取js元素的问题 生成一个百度HTML如下,并窗口创建的时候执行 <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <style type="text/css"> body, html,#all

关于c#中webBrowser 获取百度html元素

问题描述 我想用c#中的webBrowser获取百度搜索完成后,a标签的href地址,如下图:但是我一直获取不到,我的做法是在百度搜索完成后进入webBrowser1_DocumentCompleted方法,通过:HtmlElementCollectionlink=this.webBrowser1.Document.GetElementsByTagName("a");获取到所有a标签,然后遍历所有a标签,取到href属性值:stringgetUrl=link[xx].GetAttrib

webbrowser获取内容坐标

问题描述 webbrowser获取内容坐标 如图红框内容的坐标 解决方案 你可以遍历元素,找到你要的元素,然后调用getElementFromPoint,得到坐标. 解决方案二: 可以插入javascript,然后就方便获取坐标了

webkit.net打开https开头网站,并后台获取html元素

问题描述 请问有谁知道怎么处理用webk.net打开https开头的网站,比如去哪儿网https://user.qunar.com/passport/login.jsp等等,还有就是后台获取html元素,比如后台获取到验证码图片. 解决方案 解决方案二:找到解决方案了吗?楼主

利用webBrowser获取框架内Html页面内容

原文:利用webBrowser获取框架内Html页面内容 利用webBrowser获取页面比较简单,MSDN下有示例,在这里不必多说. 可是一些 HTML 文档由"框架"构成,或可以存放它们自己独特 HTML 文档的窗口.使用框架可以轻松地创建 HTML 页面,其中一页或多页在其他框架持续更改它们内容的同时保持静态,例如导航栏. HTML 作者可以采用以下两种方法之一创建框架: 使用 FRAMESET 和 FRAME 标记,创建固定窗口. - 或 - 使用 IFRAME 标记,创建可以

用递归获取XML元素

看到的一道题,用递归获取XML元素.... static void Main(string[] args) { string xmlContent = @"<FileSystem> <DriverC> <Dir DirName='MSDOS622'> <File FileName ='Command.com' ></File> </Dir> <File FileName ='MSDOS.SYS' ></Fi

tp路由器创建id时获取不到验证码怎么办

  tp路由器创建id时获取不到验证码的解决方法一.确认线路连接正确 创建TP-LINK ID时,需要确认手机或邮箱收到的验证码,如果填写信息后一直没有收到验证码,则无法创建.如下图. 当做普通路由器使用(WAN口连接宽带)或WDS桥接当做副路由器时,可以使用云服务. 路由器当做交换机(LAN-LAN级联)使用的时候,无法使用云服务.在创建TP-LINK ID时无法获取到验证码,会提示"发送请求失败". tp路由器创建id时获取不到验证码的解决方法二.确认填写信息正确 确保输入正确的手

jQuery获取页面元素绝对与相对位置的方法

 本文实例讲述了jQuery获取页面元素绝对与相对位置的方法.分享给大家供大家参考.具体如下: 获取页面某一元素的绝对X,Y坐标,可以用offset()方法: 1 2 var X = $('#DivID').offset().top; var Y = $('#DivID').offset().left; 获取相对(父元素)位置: 1 2 3 4 var X = $('#DivID').position().top; var Y = $('#DivID').position().left; var