2011-11-03 114 views
1

我的內置瀏覽器下載了一個頁面。
在此頁面的「body」下,有一個「iframe」標籤。
在這個iframe中,有另一個代碼(div標籤,表格等)。
但我不知道如何訪問它們。點擊iFrame裏面的元素

webBrowser1.Document.GetElementById("myiFrame").innerHTML // gives out empty result as if there is nothing there. 
webBrowser1.Document.GetElementById("myiFrame").FirstChild.innerHTML // gives an error as if there is no first child. 
webBrowser1.Document.GetElementById("mylink") // error as if it doesn't exist 
webBrowser1.Document.GetElementsByTagName("a")[2] // error as if it doesn't eist 

我用完了選項。

我需要點擊一個東西是深本框架內:

body -> div -> div -> div -> form -> div -> div -> div -> div -> div -> div -> div -> div -> table -> tbody -> tr -> td -> a 
+0

當你說「GetElementsByTagName」不起作用 - 你的意思是document.GetElementsByTagName不起作用?因爲如果你做了整個文件,它應該找到它。 – Haedrian

回答

0

是否 Document.InvokeScript([whatever it is you want to click]

工作?

你確定它的所有下載? Webbrowser.ReadyState觸發器準備好每幀。

+0

我確定元素被下載,因爲1)我在屏幕上看到它; 2)Firefox中的Firebug確實看到了它(實際上,這是查看html的唯一方法,例如View Source沒有看到它)。 –

0

而不是加載父頁面並通過它,你應該加載出現在iframe中的頁面。您可以獲取iframe的src屬性並導航到該頁面。通過這種方式,您可以輕鬆訪問需要訪問的節點。