加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – Windows窗体WebBrowser控件和iframe

发布时间:2020-12-15 08:34:36 所属栏目:百科 来源:网络整理
导读:我正在尝试创建一个软件来或多或少地自动化网页上的表单填充 – 我决定在System. Windows.Forms中使用WebBrowser控件.这很好用,我可以通过webbrowser.Document轻松操作 DOM等等.然而不幸的是,我正在进行自动化的网站有一个在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开始:

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;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读