webBrowser 获取页面元素问题

倒霉熊 2010-05-27 04:05:44
我想做个WinForm 程序,模拟登录新浪博客,然后写博客,提交博客。 登录我已经完成了, 但是博客提交的时候由于我获得不了编辑博客的那个元素的ID 所以博客的正文我没法添加。 大家可以打开新浪,看看新浪的博客编辑页面的那个编辑窗口,我都让他给搞晕了 是一个 iframe 里面包含一个 body 不知道怎么获取它们,也不知道该如何赋值。

下面是代码,大家帮忙参考参考哦
...全文
616 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenlunmy004 2011-07-20
  • 打赏
  • 举报
回复
11111111111111111
fantasywinner 2011-03-21
  • 打赏
  • 举报
回复
是这个对象吗SinaEditorTextarea
fantasywinner 2011-03-21
  • 打赏
  • 举报
回复
Vampire_ycq
正解,学习了
xiaozhi170 2010-07-19
  • 打赏
  • 举报
回复
学习一下
fisheep_works 2010-07-14
  • 打赏
  • 举报
回复
Document.frames.Document.body.InnerHTML="测试"

以上是vb代码,c#应该差不多。。。多试试吧
fisheep_works 2010-07-14
  • 打赏
  • 举报
回复
编写那个框架页面的body.InnerHTML
z812183667 2010-05-27
  • 打赏
  • 举报
回复
不会,帮顶,等待高手!
倒霉熊 2010-05-27
  • 打赏
  • 举报
回复
这里是新浪博客编辑页面的 源码


<div id="SinaEditor_Iframe">
<iframe class="iframe"></iframe>
</div>


如果大家用IE8里面自带的 F12工具会发现 iframe 里面有个 BODY
倒霉熊 2010-05-27
  • 打赏
  • 举报
回复


#region 新浪
private void button12_Click(object sender, EventArgs e)
{
this.webBrowser1.Url = new System.Uri("http://blog.sina.com.cn/", System.UriKind.RelativeOrAbsolute);
}

/// <summary>
/// 登录新浪
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button13_Click(object sender, EventArgs e)
{
//获得用户名
HtmlElement tbUserid = webBrowser1.Document.GetElementById("loginName");
//获得密码
HtmlElement tbUserpwd = webBrowser1.Document.GetElementById("loginPass");
//获得登录按钮
HtmlElement button = webBrowser1.Document.GetElementById("loginButton");

if (tbUserid != null && tbUserpwd != null && button != null)
{
//给用户名赋值
tbUserid.SetAttribute("value", "vampire_ycq@sina.com");
//设置密码
tbUserpwd.SetAttribute("value", "88.YCQ.88");
//登录
button.InvokeMember("click");
}
}

/// <summary>
/// 写博客
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button14_Click(object sender, EventArgs e)
{
//跳转到写博文的页面
this.webBrowser1.Url = new System.Uri("http://control.blog.sina.com.cn/admin/article/article_add.php?index", System.UriKind.RelativeOrAbsolute);
}

/// <summary>
/// 发博文
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button15_Click(object sender, EventArgs e)
{
//博客标题
HtmlElement title = webBrowser1.Document.GetElementById("articleTitle");
//博客提交按钮
HtmlElement button = webBrowser1.Document.GetElementById("articlePostBtn");


////////////我找不到的博客正文////////////////
HtmlElement body = webBrowser1.Document.GetElementById(" ");

//是否取到元素
if (title != null && body != null && button != null)
{
MessageBox.Show("存在");
title.SetAttribute("value", this.textBox1.Text);
body.SetAttribute("value", this.richTextBox1.Text);

button.InvokeMember("click");
}
}
#endregion

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧