2009-12-28 90 views
0

我想使用网络浏览器自动化来自动化页面。如何获取Iframe的元素?

在运行时只有一个iframe值来到iframe。

当我尝试的I帧它只返回的iframe不是整个页面的html中获得的价值,

我想点击I帧的A HREF。

请帮我解决这个问题我是代码。

HtmlDocument dd = (HtmlDocument)loginBrowser.Document.GetElementById("UIFrame"); 

回答

0

尝试

HtmlDocument.contentWindow.body 

我不知道C#和你在做什么(我是一个PHP的人主要是这些天),但它看起来像你对我是铸造iframe元素一个HTMLDocument的类型?这可能是错误的,因为IFrame元素与body不相同。这个演员是否真的有必要?也许投它到HTMLElement而不是?

0

你可能想

HtmlDocument.Body 

http://msdn.microsoft.com/en-us/library/system.windows.forms.htmldocument_members.aspx

身体是 HtmlElement,如果你想查找的IFrame文档中返回的数据,其具有的InnerHtmlInnerText性质, 。

有关详情,请上的HtmlElement http://msdn.microsoft.com/en-us/library/system.windows.forms.htmlelement.aspx

而且下面,你确定要被铸造HtmlDocument?看着MSDN,它看起来像GetElementById()应该返回一个HtmlElement。

+0

我试过,但它没有显示iframe的内容 – 2009-12-28 15:02:15

0

如果jQuery是可以在你的目标网站,那么试试这个:

browser.Document.InvokeScript("eval", new object[] { "$(\"#iframe_id\").contents().find('#element').html())" });