C# 如何获取Iframe的元素?

C# 如何获取Iframe的元素?,c#,C#,我想使用web浏览器自动化来自动化页面 在中,运行时只有一个iframe值到达该iframe 当我尝试获取i frame的值时,它只返回iframe而不是整个页面html 我想单击I框架的a href 请帮我解决这个问题,我是代码 HtmlDocument dd = (HtmlDocument)loginBrowser.Document.GetElementById("UIFrame"); 你可能想要 HtmlDocument.Body 身体是一个 HtmlElement,如果要查找IF

我想使用web浏览器自动化来自动化页面

在中,运行时只有一个iframe值到达该iframe

当我尝试获取i frame的值时,它只返回iframe而不是整个页面html

我想单击I框架的a href

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

 HtmlDocument dd = (HtmlDocument)loginBrowser.Document.GetElementById("UIFrame");
你可能想要

HtmlDocument.Body

身体是一个
HtmlElement
,如果要查找IFrame文档中返回的数据,它具有
InnerHtml
InnerText
的属性

有关HtmleElement的更多信息,请参见以下内容

另外,您确定要强制转换到
HtmlDocument
?查看MSDN,GetElementById()似乎应该返回一个HtmleElement

试试看

HtmlDocument.contentWindow.body

我不知道c#和你在做什么(我现在主要是一个PHP人),但在我看来,你是在将IFrame元素强制转换为HTMLDocument类型?这可能是错误的,因为IFrame元素与
主体不相同。那真的有必要吗?也许可以将其转换为一个?

如果jQuery在您的目标网站上可用,请尝试以下操作:

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