kas*_*ter 6 .net c# browser windows iframe
我正在尝试创建一个软件来或多或少地自动化网页上的表单填充 - 我决定使用WebBrowser控件System.Windows.Forms.这个伟大的工程,我可以很容易地操纵DOM通过webbrowser.Document等等.然而不幸的是,我正在进行自动化的网站有一个在iframe内运行的文件上传 - 这就是我被卡住的地方,我根本无法弄清楚如何能够操纵iframe的DOM内部的元素.
理想情况下,我想做的是:
HtmlElement iframe = browser.Document.GetElementById("iframe_id");
iframe.InnerDocument.GetElementById("file_upload_input").SetAttribute("value", "myfile.txt");
Run Code Online (Sandbox Code Playgroud)
然后在iframe中提交表单当然 - 但是就我所见,没有任何InnerDocument属性HtmlElement,也没有找到我可以强制HtmlElement转换的类型,以便我可以访问内部DOM.
怎么做的?
请尝试使用"frames"集合.来自MSDN:
iframe元素用作文档中的文档,或者像浮动框架.frames集合提供对iframe内容的访问.使用frames集合来读取或写入iframe中包含的元素.例如,访问iframe中body对象的backgroundColor样式的语法是:
sColor = document.frames("sFrameName").document.body.style.backgroundColor;