我自己解决了.. 但是 private int now = 0; private HtmlDocument web; public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { web = this.webBrowser.Document; } private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) {
switch (now) { case 0: web.GetElementsByTagName("input")[0].SetAttribute("value", "http://wap.qq.com/"); web.GetElementsByTagName("input")[2].InvokeMember("click"); break; case 1: openQQ(); break; } now = now + 1; } 提示Object reference not set to an instance of an object.呢.
另外在winform中可以调用webBrowser控件中写好的js
if (this.m_axHtmlEditor.AxBorwse.ObjectForScripting == null || !this.m_axHtmlEditor.AxBorwse.ObjectForScripting.Equals(this))
{
// 将当前类设置为可由脚本访问
this.m_axHtmlEditor.AxBorwse.ObjectForScripting = this;
}
/// <summary>
/// 调用当前Html中的Js脚本
/// </summary>
/// <param name="strJsName">Js函数名称</param>
/// <param name="Obj">Js函数参数,参数个数等于数组个数</param>
public void InvokeScript(string strJsName,object[] Obj)
{
try
{
// 当执行Js时候,必须保证Html不为null且含有执行的Js脚本名称
if (this.m_axHtmlEditor.DocumentText != null && this.m_axHtmlEditor.DocumentText.IndexOf(strJsName) != -1)
{
// 调用Html的Js方法,并传入参数
// 例如:
// object[] objects = new object[1];
// objects[0] = "C#访问Js";
this.m_axHtmlEditor.AxBorwse.Document.InvokeScript(strJsName, Obj);
}
}
catch (Exception)
{
// 屏蔽任何错误
}
}
谢谢.
但是 private int now = 0;
private HtmlDocument web;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
web = this.webBrowser.Document;
} private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
switch (now)
{
case 0:
web.GetElementsByTagName("input")[0].SetAttribute("value", "http://wap.qq.com/");
web.GetElementsByTagName("input")[2].InvokeMember("click");
break;
case 1:
openQQ();
break; }
now = now + 1;
}
提示Object reference not set to an instance of an object.呢.
就是一路都很顺利的...
但是最后一个提交的他本来是<input type="submit">这个的.
但是倒霉的网站又用js将这个标签改为了<a href="***">发表</a>
所以我就不能直接获取到这个标签了,这个是我通过chrome的审核元素发现的.
还有单独打开href里面的网址不行的..他提示不要刷新页面.
现在怎么办呀?谢谢了.