如果源代碼沒有「id =''」,但只有「name =''」,我該如何獲取HtmlElement。的document.getElementById()不工作,和的document.all( 「」)不工作(顯然,因爲沒有ID。關於WebBrowser控件的兩個問題
我如何可以模擬表單POST?
問題1是更重要的。第二個問題我想我可以有更多的搜索得到。
如果源代碼沒有「id =''」,但只有「name =''」,我該如何獲取HtmlElement。的document.getElementById()不工作,和的document.all( 「」)不工作(顯然,因爲沒有ID。關於WebBrowser控件的兩個問題
我如何可以模擬表單POST?
問題1是更重要的。第二個問題我想我可以有更多的搜索得到。
1. 可以使用document.getElementsByName
。它返回一個數組所有具有指定名稱的元素(因爲名稱不必像id:s那樣是唯一的)。
2. 您可以使用form
元素的submit
方法來發布它。該表單既可以是頁面中的現有表單,也可以是在需要時即時創建的。
如果您想親自處理響應,而不是將其作爲文檔加載,也可以使用XmlHttpRequest
對象進行發佈。
GetElementsByTagName可以得到你所有的標籤,然後你可以通過返回的集合來查看你之後的元素(如果有多個)。
This後顯示如何提交表單元素。
似乎這裏有些混亂,所以我會總結:
在document
對象,有多種方法可以用來定位元素:
document.getElementById('myid');
將返回一個DOM元素(如果存在的話)的id
屬性等於myid
。document.getElementsByName('myname');
將返回一個name
屬性等於myname
的DOM元素數組。document.getElementsByTagName('div');
將返回具有匹配標記的DOM元素數組 - 在本例中,文檔中的所有div
。此案很重要。
這是否明確了事情?
這應該適用於所有瀏覽器,前提是您並不試圖獲取iframe內的元素或類似內容,但如果您在不同瀏覽器中遇到問題,我建議使用類似jQuery的東西。它抽象出與您不同的瀏覽器差異,因此無論使用何種瀏覽器,您都可以使用相同的語法。
請問您能詳細說明這與網頁瀏覽器控制有什麼關係嗎?另外,_which_網頁瀏覽器控制?的WinForms?這與asp.net有什麼關係? – 2010-04-28 01:32:30
我想到,也許是因爲你在服務器端做的第一項解決方案沒有工作。那是對的嗎?如果是這樣,我強烈建議給控制一個ID。它會爲你節省很多心痛。 – Damovisa 2010-04-28 01:33:25