[VBA]Excel操作IE(開啟網頁、等待網頁載入、填寫網頁控制項資料、點擊網頁按鈕、抓取網頁資料)

來源:互聯網
上載者:User

[VBA]Excel操作IE(開啟網頁、等待網頁載入、填寫網頁控制項資料、點擊網頁按鈕、抓取網頁資料)

 

      該貼的附件提供了一個利用SHDocVw.InternetExplorer對象、進行開啟網頁、等待網頁載入、填寫網頁控制項中資料(檢索條件)、點擊網頁按鈕(檢索按鈕)、等待網頁載入(檢索中)、抓取網頁資料(檢索結果)的一個完整的例子。

該技術對與開發人員可以用於Web頁面的批量測試、類似於JUnit方式的測試、也可以用於批量也網頁重複操作、比如網頁考勤系統的登入、出勤、退勤等等。

 

該貼摘自:http://www.officefans.net/cdb/viewthread.php?tid=68888

附件:http://access911.net/csdn/FileDescription.asp?mdb=2009-9-11&id=8

原帖內容如下:

用VBA抓取網頁資料,通常可以用Excel VBA的workbooks.open "http://....."語句來實現開啟網頁,之後用find和offset等方法定位元據的位置,再複製到指定的地方。
或者用QueryTableActiveSheet.QueryTables.Add(Connection:="URL;http://.....", Destination:=Range("A1"))
但是,在有些場合可能這兩種方法不容易實現,比如:
1.匯入查詢結果頁面。(每次要先提交表單才能得到資料頁,資料是分頁的,但各分頁URL一樣,沒有?page=2之類的)
2.要先提交表單或點選連結才能得到資料頁,網頁在IE中顯示正常,但直接將URL用Workbooks.open或QueryTables.add開啟則顯示逾時等錯誤)
3.大量匯入網址不規則的頁面。(所有要匯入的頁面都在某個網頁上有連結,但網址沒有規律)

如果對html和網頁script指令碼熟悉的話,可以用IExplorer對象開啟網頁,然後用VB指令碼控制網頁內各個元素的行為來填寫、提交表單或開啟超級連結,然後取得網頁內各個元素的innerText來實現擷取資料。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.