vs2010 C#里面的webBrowser的问题.谢谢了.

「已注销」 2011-06-09 05:40:19
就是我能模拟点击里面的某个<a></a>么?模拟填里面的<input>等...
谢谢了.
...全文
195 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
「已注销」 2011-06-10
  • 打赏
  • 举报
回复
额,现在又遇到个麻烦的问题..
就是一路都很顺利的...
但是最后一个提交的他本来是<input type="submit">这个的.
但是倒霉的网站又用js将这个标签改为了<a href="***">发表</a>
所以我就不能直接获取到这个标签了,这个是我通过chrome的审核元素发现的.
还有单独打开href里面的网址不行的..他提示不要刷新页面.
现在怎么办呀?谢谢了.
「已注销」 2011-06-09
  • 打赏
  • 举报
回复
我自己解决了..
但是

       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.呢.

[Quote=引用 4 楼 qcbf1 的回复:]

如何模拟点击<a></a>或者按钮的呢?
谢谢.


引用 2 楼 isjoe 的回复:

取得元素控制
另外在winform中可以调用webBrowser控件中写好的js
C# code


if (this.m_axHtmlEditor.AxBorwse.ObjectForScripting == null || !this.m_axHtmlEditor.AxBorws……
[/Quote]
「已注销」 2011-06-09
  • 打赏
  • 举报
回复
如何模拟点击<a></a>或者按钮的呢?
谢谢.


[Quote=引用 2 楼 isjoe 的回复:]

取得元素控制
另外在winform中可以调用webBrowser控件中写好的js
C# code


if (this.m_axHtmlEditor.AxBorwse.ObjectForScripting == null || !this.m_axHtmlEditor.AxBorwse.ObjectForScripting.Equals(this))
……
[/Quote]
weike021996 2011-06-09
  • 打赏
  • 举报
回复
mark
isjoe 2011-06-09
  • 打赏
  • 举报
回复
取得元素控制
另外在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)
{
// 屏蔽任何错误
}
}

PISANAN 2011-06-09
  • 打赏
  • 举报
回复
可以通过document获取元素。设置里面的各种属性和值,至于点击,应该也可以从里面找到

110,533

社区成员

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

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

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