首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

操作浏览器的有关问题(续)

2012-05-08 
操作浏览器的问题(续)http://topic.csdn.net/u/20120501/12/5c1754f9-72fd-4b93-8542-7247e3516b78.html?s

操作浏览器的问题(续)
http://topic.csdn.net/u/20120501/12/5c1754f9-72fd-4b93-8542-7247e3516b78.html?seed=407444625&r=78423855#r_78423855

无法连续发帖,只能另起新帖接着问了,各位见谅。
程序使用webbrowser控制登陆邮箱后一些表单操作。
需要填充inputField,然后点击“按钮“提交。代码如下:

HTML code
。。。。<div id="AddFldrInput">    <div hmid="errorDiv" class="errorDiv" style="display: none;"></div>    <input hmid="inputField" style="display: none;" maxlength="30" type="text"></div></li><li class="lnav_item" id="NewFldrBox"><a id="NewFldrLnk" class="lnav_newLnk" href="#"><span class="Caption">按钮</span></a></li>


C# code
 HtmlElement tbAddFldrInput = webBrowser1.Document.All["AddFldrInput"]; HtmlElement btnAddFldr = webBrowser1.Document.All["NewFldrLnk"];if (tbAddFldrInput  && btnAddFldr != null){       tbAddFldrInput.SetAttribute("value", "123456");       btnAddFldr.InvokeMember("click"); }


但是发现input表单没有id,也无法获取按钮的HtmlElement ,这是怎么回事?
请各位指点下,小弟太菜了。谢谢。

[解决办法]
遍历标签
[解决办法]
webbrowser1.Document.GetElementsByTagName("INPUT")
这样得到所有的<input >的HtmlElement的集合
对于每个HtmlElement elm, if (elm.GetAttribute("type") == "text" && !String.IsNullOrEmpty(elm.GetAttribute("hmid"))),就是你要的input

按钮类似,先GetElementsByTagName("SPAN"),再用GetAttribute("class")看是不是等于Caption,如果页面里符合条件的span只有这么一个,那就是你要的按钮,否则用InnerHtml检查是否等于“按钮”
[解决办法]
GetElementsByID函数试试

热点排行