高手进c# webBrowser获得网页上看到的超链接文本

代码行如下:

string s=webbrowser1.DocumentText;

    这个就是获取当前所显示的网页的HTML了

    但是注意一个问题,如果说网页没有加载完毕的话,这么获取是获取不到的。

    所以应该在加载完毕事件触发之后再去获取。

温馨提示:内容为网友见解,仅供参考
第1个回答  2009-07-24
在 webBrowser的 DocumentCompleted 事件里,写入如下的代码

private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
MessageBox.Show(this.webBrowser1.Document.Links[4].InnerText);
}
第2个回答  推荐于2016-05-06
添加COM reference, SHDocVw 及 mshtml
将webBrower1.ActiveXInstance属性 传给 SHDocvw.WebBrowser接口
使用SHDocvw.WebBrowser接口下的ProgressChange事件
在Progress.Equals(ProgressMax)时,

((webBrowser1.ActiveXInstance as SHDocVw.WebBrowser).Document as mshtml.HTMLDocumentClass).body.innerText即可

代码类似如此:
private void button1_Click(object sender, EventArgs e)
{
SHDocVw.WebBrowser wb = webBrowser1.ActiveXInstance as SHDocVw.WebBrowser;
wb.ProgressChange += new DWebBrowserEvents2_ProgressChangeEventHandler(wb_ProgressChange);
object flags = new object(), header = new object(), postdata = new object(), framename = new object();
webBrowser1.Navigate(@"http://image.baidu.com/i?ct=503316480&z=0&tn=baiduimagedetail&word=%C1%D6%D0%C4%C8%E7&in=31076&cl=2&cm=1&sc=0&lm=-1&pn=0&rn=1&di=503232564&ln=2000&fr=");
}

void wb_ProgressChange(int Progress, int ProgressMax)
{
if (Progress.Equals(ProgressMax))
MessageBox.Show(((webBrowser1.ActiveXInstance as SHDocVw.WebBrowser).Document as mshtml.HTMLDocumentClass).body.innerText);
}
触发事件你可以再看一下,可能还有更合适的。 但是Progress.Equals(ProgressMax)是最基本的 保证全部加载完毕。

还有个方法你可以自己尝试下,我觉得可以用BHO,但是不知道winform里的webbrowser对象会不会自动加载BHO,用BHO跟上边过程差不多,只是要编成COM本回答被提问者采纳
第3个回答  2016-01-01
第一步:电脑登陆百度搜索“PP越狱助手”软件下载,安装完毕后打开。
第二步:用数据线把iPad air与电脑连接。
第三步:点击界面的“开始越狱”。

第四步:点击【开始越狱】后PP越狱助手将自动匹配IOS固件版本并弹出越狱【evasi0n】工具。
第五步:点击【Jaibreak】— 并等待【evasi0n】工具运行。

第六步:【evasi0n】工具运行过程中请勿断开连接。
第七步:唤醒iPad air屏幕并解锁。

第八步:此时的iOS设备将进行自动重启。
(提示:此时还没有完成越狱,请勿断开数据线连接!请点击IOS设备桌面【Jaibreak】图标,这时会出现闪退现象,请不要触动设备,耐心等待【evasi0n】工具运行最后一步)

第九步:这时越狱工具【evasi0n】将重新导入数据,越狱成功提示”完成“;点击“Exit”退出。

第十步:iOS设备将自动重启,并显示cydia图标;越狱完成。
第4个回答  2009-07-24
引用microsoft html object library

mshtml.HTMLDocument doc = (mshtml.HTMLDocument)webBrowser1.Document.DomDocument;
mshtml.HTMLDivElement div = (mshtml.HTMLDivElement)doc.getElementById("imgFrom");

mshtml.IHTMLDOMChildrenCollection nodes = (mshtml.IHTMLDOMChildrenCollection)div.childNodes;
mshtml.HTMLAnchorElement node = (mshtml.HTMLAnchorElement)nodes.item(nodes.length - 1);
Console.WriteLine(node.innerText);

高手进c# webBrowser获得网页上看到的超链接文本
string s=webbrowser1.DocumentText;这个就是获取当前所显示的网页的HTML了 但是注意一个问题,如果说网页没有加载完毕的话,这么获取是获取不到的。所以应该在加载完毕事件触发之后再去获取。

C#中WebBrowser的超链接怎么在当前窗体显示
设置navigateurl方法中target属性值:_blank -- 在新窗口中打开链接 ,_parent -- 在父窗体中打开链接 ,_self -- 在当前窗体打开链接,此为默认值 ,_top -- 在当前窗体打开链接,并替换当前的整个窗体(框架页)这个是HTML超链接的写法,给你作参照。webBrowser1.Navigate("about:blank");\/\/blank...

C# 使用webBrowser控件获取网页中的账号密码登录网页元素并自动填写模拟...
1、API方式:然后输入对应的参数,你就可以登录成功,这时你就可以做自己的想做的事了 2、模拟点击(selenium)方式:即使利用seleium模拟鼠标点击网页,实现登录,这个方式属于笨拙的方式 注意:有时候可能出现需要输入验证码,这时你就需要识别验证码,给你推荐 tesseract-ocr 这个插件,源码地址tesseract-or...

c# webBrowser通过id获取网页中的元素(文本框)取值或赋值,但获取不到...
有可能是获取的时机不对,网页没加载你这段代码就执行了。间隔一段时间再检查元素。

C#中webbrowser为什么不能识别文本中的换行符号
webbrowser中显示的是“超文本”,不是传统意义的“文本”,它对回车换行符号是不感冒的,你可以事先把所有回车换行符号替换为超文本的换行符号“”再放到webbrowser中显示即可。比如:dasfdsfds rtretret hgghfhfghgfh 改为 dasfdsfdsrtretrethgghfhfghgfh 也可以这样: dasfdsfds rtretret hgghfhfghgf...

c#中winform的webbrowser控件在窗体中如何获取按钮或者的事件?
1、在打开的ie浏览器窗口右上方点击齿轮图标,选择“Internet选项”,如下图所示:2、在打开的Internet选项窗口中,切换到安全栏,在安全选卡中点击“自定义级别”,如下图所示:3、在“安全设置-Internet 区域”界面找到“Java 小程序脚本”、“活动脚本”,并将这两个选项都选择为“禁用”,然后点击...

C# webbrowser怎么获取JS加载的数据?
打开电脑。打开VS。打开你的工程项目。在代码里添加一个SendDataToWin(string json)方法:js自己获取数据完成完就调用window.external.SendDataToWin(string json);把数据推给webbrowser,其中SendDataToWin(string json)是定义在窗体里的方法。按F5运行调试。

C# WebBrowser 有些网站有部分链接的url获取不到,该怎么办啊,求大神帮...
href那是超链接才有的属性,有些实际是通过click事件来控制跳转的,当然还有其它的方式,具体要看页面的html代码了

【高手进】vb.net webbrowser赋值问题
那是内网或本地地址,别人访问不了的。你起码应该把代码写出来。通过webbrower的HtmlDocument获取到元素后,不能用.value赋值,而是SetAttribute方法

c# httpwebrequest循环请求网页
两种方法都可以~~利于 HttpWebRquest 返回的是字符串~~ 里面是该网页的源码~~ 要想到的它里面的超级链接不难~ 可以利于正则表达式分析并读取~~ 当然,你也可以自己判断~~而使用 WebBrowser 可能更直观一些~~ 这时候需要进行 DOM 操作了~~究竟使用哪种方法,就看你更熟悉哪个了。。而至于...

相似回答