我用的方法是:
webBrowser1.Document.All["msgTxt"].InnerText = "终于成功了";//给网页输入框赋值
foreach (HtmlElement em in webBrowser1.Document.All)//遍历
{
if (em.GetAttribute("type") == "button")
{
em.InvokeMember("click");//模拟发表
}
}
截图:
但这样的方法在其它微博里都可以,就是QQ的微博不可以,请高手们看看,以下是网页源代码:
<div id="mainWrapper" class="clear">
<div class="main">
<div id="talkBox" class="talkBox">
<h2><a href="http://zhibo.qq.com/mbask/517/index.html"target="_blank" style="color:#889DB6;float:right;margin:1px 8px 0;text-decoration:underline;font-size:12px;font-family:tahoma" onClick="MI.Bos('btnGuideLink')">17:30《兵器知识》主编解读瓦良格号航母性能<span style="font-family:Simsun"> </span></a><em><label for="msgTxt">来,说说你在做什么,想什么</label></em></h2><div class="cntBox"><textarea id="msgTxt" accesskey="u" name="content" autocomplete="off" tabindex="1"></textarea></div>
<div class="funBox">
<div class="insertFun">
<div class="newTopic"><a href="#" class="creatNew" title="汇聚相同热点的广播" tabindex="3">话题</a></div>
<div class="atSome"><span class="ico_at"></span><a class="txt" href="#" title="@朋友帐号就可以提到他" tabindex="3">朋友</a></div>
<div class="insertFace"><span class="ico_face"></span><a class="txt" href="#" title="表情" tabindex="3">表情</a></div> <div class="newFeel" ><span class="ico_feel"></span><a class="txt" sign="" title="心情" href="#" >心情</a></div>
<div class="uploadPic"><form target="imageUpload" method="post" enctype="multipart/form-data" class="picForm"><input type="file" name="pic" title="支持jpg、jpeg、gif、png格式,文件小于5M" tabindex="3"/></form><span class="ico_pic"></span><a href="#" class="txt">照片</a></div><div class="uploadVideo"><span class="newVideo"></span><a href="#" class="txt" title="腾讯视频、优酷、土豆、凤凰视频、56可直接播放,也可自己上传" tabindex="3">视频</a></div>
<div class="uploadMusic"><span class="ico_audio"></span><a class="txt" href="#" title="可按歌名、歌手名搜索并添加音乐" tabindex="3">音乐</a></div>
<div class="newVote"><span class="ico_aVote">/span><a class="txt" href="#" title="发起一个投票" tabindex="3">投票</a></div>
<div class="atWen" topic="万能的微博" user="问问" title="有问题,@问问 数亿网友和专家团队为您答疑解惑"><span class="ico_atww"></span><a class="txt" href="#" tabindex="3">提问</a></div>
</div>
<div class="sendFun">
<input type="button" class="sendBtn btnHasStr" value="发送" title="快捷键 Ctrl+Enter" tabindex="2"/><span class="countTxt">还能输入<em>140</em>字</span>
</div>
</div>
</div>高手们请帮帮忙,按照我的方法显示错误,请问怎么模拟发表??
webBrowser1.Document.All["msgTxt"].InnerText = "终于成功了";//给网页输入框赋值
foreach (HtmlElement em in webBrowser1.Document.All)//遍历
{
if (em.GetAttribute("type") == "button")
{
em.InvokeMember("click");//模拟发表
}
}
截图:
但这样的方法在其它微博里都可以,就是QQ的微博不可以,请高手们看看,以下是网页源代码:
<div id="mainWrapper" class="clear">
<div class="main">
<div id="talkBox" class="talkBox">
<h2><a href="http://zhibo.qq.com/mbask/517/index.html"target="_blank" style="color:#889DB6;float:right;margin:1px 8px 0;text-decoration:underline;font-size:12px;font-family:tahoma" onClick="MI.Bos('btnGuideLink')">17:30《兵器知识》主编解读瓦良格号航母性能<span style="font-family:Simsun"> </span></a><em><label for="msgTxt">来,说说你在做什么,想什么</label></em></h2><div class="cntBox"><textarea id="msgTxt" accesskey="u" name="content" autocomplete="off" tabindex="1"></textarea></div>
<div class="funBox">
<div class="insertFun">
<div class="newTopic"><a href="#" class="creatNew" title="汇聚相同热点的广播" tabindex="3">话题</a></div>
<div class="atSome"><span class="ico_at"></span><a class="txt" href="#" title="@朋友帐号就可以提到他" tabindex="3">朋友</a></div>
<div class="insertFace"><span class="ico_face"></span><a class="txt" href="#" title="表情" tabindex="3">表情</a></div> <div class="newFeel" ><span class="ico_feel"></span><a class="txt" sign="" title="心情" href="#" >心情</a></div>
<div class="uploadPic"><form target="imageUpload" method="post" enctype="multipart/form-data" class="picForm"><input type="file" name="pic" title="支持jpg、jpeg、gif、png格式,文件小于5M" tabindex="3"/></form><span class="ico_pic"></span><a href="#" class="txt">照片</a></div><div class="uploadVideo"><span class="newVideo"></span><a href="#" class="txt" title="腾讯视频、优酷、土豆、凤凰视频、56可直接播放,也可自己上传" tabindex="3">视频</a></div>
<div class="uploadMusic"><span class="ico_audio"></span><a class="txt" href="#" title="可按歌名、歌手名搜索并添加音乐" tabindex="3">音乐</a></div>
<div class="newVote"><span class="ico_aVote">/span><a class="txt" href="#" title="发起一个投票" tabindex="3">投票</a></div>
<div class="atWen" topic="万能的微博" user="问问" title="有问题,@问问 数亿网友和专家团队为您答疑解惑"><span class="ico_atww"></span><a class="txt" href="#" tabindex="3">提问</a></div>
</div>
<div class="sendFun">
<input type="button" class="sendBtn btnHasStr" value="发送" title="快捷键 Ctrl+Enter" tabindex="2"/><span class="countTxt">还能输入<em>140</em>字</span>
</div>
</div>
</div>高手们请帮帮忙,按照我的方法显示错误,请问怎么模拟发表??
webBrowser1.Document.All["msgTxt"].InnerText = "测试" + DateTime.Now;
var inputs = webBrowser1.Document.GetElementsByTagName("input");
var btnSend = inputs.Cast<HtmlElement>().Where(input => input.GetAttribute("value") == "发送").First();
btnSend.InvokeMember("click");.net 2.0
webBrowser1.Document.All["msgTxt"].InnerText = "终于成功了" + DateTime.Now;
var inputs = webBrowser1.Document.GetElementsByTagName("input");
foreach (HtmlElement input in inputs)
{
if (input.GetAttribute("value") == "发送" &&
input.GetAttribute("type") == "button")
{
input.InvokeMember("click");
}
}
另外,正如vrhero说的,用open api 功能会更强大。
谢谢大哥,按照你的方法已经解决了,我这网速不太好,等回家就给分,另外,大哥,你会用C#调用QQ微博的api吗?