我想使用网络浏览器自动化来自动化页面。如何获取Iframe的元素?
在运行时只有一个iframe值来到iframe。
当我尝试的I帧它只返回的iframe不是整个页面的html中获得的价值,
我想点击I帧的A HREF。
请帮我解决这个问题我是代码。
HtmlDocument dd = (HtmlDocument)loginBrowser.Document.GetElementById("UIFrame");
我想使用网络浏览器自动化来自动化页面。如何获取Iframe的元素?
在运行时只有一个iframe值来到iframe。
当我尝试的I帧它只返回的iframe不是整个页面的html中获得的价值,
我想点击I帧的A HREF。
请帮我解决这个问题我是代码。
HtmlDocument dd = (HtmlDocument)loginBrowser.Document.GetElementById("UIFrame");
尝试
HtmlDocument.contentWindow.body
我不知道C#和你在做什么(我是一个PHP的人主要是这些天),但它看起来像你对我是铸造iframe元素一个HTMLDocument的类型?这可能是错误的,因为IFrame元素与body
不相同。这个演员是否真的有必要?也许投它到HTMLElement而不是?
你可能想
HtmlDocument.Body
http://msdn.microsoft.com/en-us/library/system.windows.forms.htmldocument_members.aspx
身体是 HtmlElement
,如果你想查找的IFrame文档中返回的数据,其具有的InnerHtml
和InnerText
性质, 。
有关详情,请上的HtmlElement http://msdn.microsoft.com/en-us/library/system.windows.forms.htmlelement.aspx
而且下面,你确定要被铸造HtmlDocument
?看着MSDN,它看起来像GetElementById()应该返回一个HtmlElement。
如果jQuery是可以在你的目标网站,那么试试这个:
browser.Document.InvokeScript("eval", new object[] { "$(\"#iframe_id\").contents().find('#element').html())" });
我试过,但它没有显示iframe的内容 – 2009-12-28 15:02:15