子线程中的WebBrowser,遍历标记出错

柳晛 2009-03-20 02:30:15

using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Threading;

namespace 测试I
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
Thread t = new Thread(new ThreadStart(Open));
t.Start();
}

private void Open()
{
wb.Navigate("http://baidu.com");
wb.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(wbe_Auto);
}

private void wbe_Auto(object sender, WebBrowserDocumentCompletedEventArgs e)
{
try
{
HtmlElement tmp = wb.Document.All["kw"];

wb.Document.All["subject"].SetAttribute("value", "aaaa");
}
catch (Exception ex)
{
txb.Text = ex.ToString();
}
}

}
}


System.InvalidCastException: 指定的转换无效。
在 System.Windows.Forms.UnsafeNativeMethods.IHTMLDocument2.GetLocation()
在 System.Windows.Forms.WebBrowser.get_Document()
在 测试I.Form1.wbe_Auto(Object sender, WebBrowserDocumentCompletedEventArgs e) 位置 d:\My Documents\Visual Studio 2005\Projects\测试I\测试I\Form1.cs:行号 36


请问如何在子线程中使用WebBrowser遍历HTML标记呢?
...全文
273 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
柳晛 2009-03-24
  • 打赏
  • 举报
回复
如果能解决的话,顶帖也给分的;如果没有有价值信息,只好无满意答案结帖了,为其他浏览者负责嘛。
大家帮我顶吧。
补充:给点建议也可以啊。
柳晛 2009-03-23
  • 打赏
  • 举报
回复
我只有谢谢大家帮我顶了。
rrrrt5678 2009-03-21
  • 打赏
  • 举报
回复
这个我只有帮顶了
悔说话的哑巴 2009-03-21
  • 打赏
  • 举报
回复
这个我只有帮顶了
sxmonsy 2009-03-21
  • 打赏
  • 举报
回复
我也帮你顶
柳晛 2009-03-21
  • 打赏
  • 举报
回复
自己顶。
suners 2009-03-21
  • 打赏
  • 举报
回复
顶起来 站起来
柳晛 2009-03-20
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 whoami333 的回复:]
有一点建议,你不要使用DocumentCompleted来判断页面是否加载完成。WebBrowser好像有个IsBusy的方法。
[/Quote]

我今天下午试了
while(wb.IsBusy){Thread.Sleep(1000);}

似乎不行。
Jack2013tong 2009-03-20
  • 打赏
  • 举报
回复
操作放在DocumentCompleted这个事件里做,不然页面的东西有可能没加载完
whoami333 2009-03-20
  • 打赏
  • 举报
回复
有一点建议,你不要使用DocumentCompleted来判断页面是否加载完成。WebBrowser好像有个IsBusy的方法。

110,571

社区成员

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

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

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