c# – Windows窗体WebBrowser控件和iframe

前端之家收集整理的这篇文章主要介绍了c# – Windows窗体WebBrowser控件和iframe前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试创建一个软件来或多或少地自动化网页上的表单填充 – 我决定在System. Windows.Forms中使用WebBrowser控件.这很好用,我可以通过webbrowser.Document轻松操作 DOM等等.然而不幸的是,我正在进行自动化的网站有一个在iframe内运行的文件上传 – 这就是我被卡住的地方,我根本无法弄清楚如何能够操纵iframe的DOM内部的元素.

理想情况下,我想做的是:

HtmlElement iframe = browser.Document.GetElementById("iframe_id");
iframe.InnerDocument.GetElementById("file_upload_input").SetAttribute("value","myfile.txt");

然后在iframe中提交表单 – 当然,就我所见,HtmlElement上没有InnerDocument属性,也没有找到我可以将HtmlElement转换为可以访问内部DOM的类型.

怎么做的?

解决方法

请尝试使用“frames”集合.从 MSDN开始: @H_403_14@

The iframe element functions as a
document within a document,or like a
floating frame. The frames collection
provides access to the contents of an
iframe. Use the frames collection to
read or write to elements contained in
an iframe.
For example,the Syntax for
accessing the backgroundColor style of
the body object in an iframe is:

sColor = document.frames(“sFrameName”).document.body.style.backgroundColor;

猜你在找的C#相关文章