webbrowser控件获取网页内容

Lilikwok 2011-07-07 02:45:15
使用webbrowser打开一个网站,网站的结构是使用iframe框架的。我怎么才能获取到当前内容页的iframe里面的元素
我写的代码:
string iframVal=WebBrowser1.Document.GetElementById("contentFrame").Document.Body.InnerHtml
得到的结果是.
<FRAME id=contentFrame tabIndex=-1 frameSpacing=0 src="https://www.aciaagent.com/sas/app/ctrl/quote/initComparativeRates/sd;" frameBorder=0 name=contentFrame scrolling=yes>

我想要得到contentFrame这个框架里面的那些<input>之类的html元素,请大家帮帮忙,thx
...全文
1273 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
_小黑_ 2012-11-21
  • 打赏
  • 举报
回复
学校了,
Lilikwok 2011-07-07
  • 打赏
  • 举报
回复
这样取可以取到
webBrowser1.Window.Frames["contentFrame"].Document.Body.InnerHtml

谢谢两位的热心解答
Lilikwok 2011-07-07
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 greatverve 的回复:]
我估计,webBrowser打开的网页中如果有iframe
就取不到了。必须用另外一个webBrowser去打开iframe的内容。
直接打开iframe试试。
[/Quote]webBrowser1打开的是大框架的url,里面iframe引用的url是另一个页面,直接打开不了
greatverve 2011-07-07
  • 打赏
  • 举报
回复
我估计,webBrowser打开的网页中如果有iframe
就取不到了。必须用另外一个webBrowser去打开iframe的内容。
直接打开iframe试试。
greatverve 2011-07-07
  • 打赏
  • 举报
回复
你为什么不
webBrowser1.Navigate("https://www.aciaagent.com/sas/app/ctrl/quote/initComparativeRates");
直接打开你那个网页不就行了。
Lilikwok 2011-07-07
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 xs8577 的回复:]
C# code

Document.Window.Frames["contentFrame "].Document.Forms["title"].InnerHtml


试试这个,不知道name能不能这样用
[/Quote]出现异常了
InvalidCastExcetion
Specified cast is not valid.
xs8577 2011-07-07
  • 打赏
  • 举报
回复
Document.Window.Frames["contentFrame "].Document.Forms["title"].InnerHtml


试试这个,不知道name能不能这样用
Lilikwok 2011-07-07
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 greatverve 的回复:]
webBrowser1.Document.Body.InnerHtml
这样也行吧,估计楼主没有做过web开发吧。
不知道浏览器中是什么玩意。
[/Quote]呵呵 是没做过
这样得到的值和我写的那样得到的值是一样的
只得到这个
<FRAME id=contentFrame tabIndex=-1 frameSpacing=0 src="https://www.aciaagent.com/sas/app/ctrl/quote/initComparativeRates/sd;" frameBorder=0 name=contentFrame scrolling=yes>
Lilikwok 2011-07-07
  • 打赏
  • 举报
回复
我直接查看源码,结构是这样的
<html>
<head>
<script language="JavaScript">
<title> 。AAA。</title>
</head>
<frameset rows="100%">
<frame id="contentFrame" scrolling="yes" framespacing="0" frameborder="0" tabindex="-1" name="contentFrame" src="https://www.aciaagent.com/sas/app/ctrl/quote/initComparativeRates">
<html>
<head>
<body>
<input name="title" value="">
<body>
</html>
</iframe>
...
我就想找到<input name="title"> 这个元素
greatverve 2011-07-07
  • 打赏
  • 举报
回复
webBrowser1.Document.Body.InnerHtml
这样也行吧,估计楼主没有做过web开发吧。
不知道浏览器中是什么玩意。
greatverve 2011-07-07
  • 打赏
  • 举报
回复
为什么不用
WebBrowser1.Document.GetElementById("contentFrame").InnerHtml

111,097

社区成员

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

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

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