我正在嘗試創建一個軟件來或多或少地自動化網頁上的窗體填充 - 我決定使用System.Windows.Forms
中的WebBrowser控件。這很好,我可以很容易地操縱DOM到webbrowser.Document
等等。然而不幸的是,我正在做自動化的網站有一個文件上傳,它在iframe中運行 - 這是我卡住的地方,我根本無法弄清楚如何能夠操作iframe中的DOM元素。Windows窗體WebBrowser控件和內聯框架
我想要做什麼理想是一樣的東西:
HtmlElement iframe = browser.Document.GetElementById("iframe_id");
iframe.InnerDocument.GetElementById("file_upload_input").SetAttribute("value", "myfile.txt");
,然後提交過程中的iframe中的形式 - 但沒有對HtmlElement
沒有InnerDocument
屬性,只要我能看到,也沒有沒有類型,我發現我可以投HtmlElement
,以便我可以訪問內部的DOM。
這是怎麼完成的?
啊哈 - 那是我忘記的東西。這裏需要注意的一點是,您在這裏發佈的代碼是javascript - WebBrowser控件所需的相應代碼是browser.Document.Window.Frames [「frame」]以獲取iframe元素。 – kastermester 2009-09-16 20:25:41
@kastermester browser.document中沒有.Window(僅在活動對象下面檢查),並且上面的代碼不起作用(無論如何,在VB6中)。 .frames [...]和.frames(...)之間有區別嗎?所以(或者[有所作爲的嘗試都無濟於事。 – 2012-12-28 07:11:02