返回列表 上一主題 發帖

網頁查詢問題

本帖最後由 n7822123 於 2020-7-4 21:55 編輯

回復 2# sillykin


目前只能抓到第一個值,但第二、三個值抓不到,不知那位大大能幫忙,感恩

你好像抓錯選單序號了,應該是抓第7、8、9 個選單,才符合你Excel內的貼圖

你可以用Google瀏覽器 的"檢查",來確認ID(下圖),

再用以下程式碼 確認 第N個下拉選單的ID,避免抓錯!




Sub 確認各選單的序號與ID對應()
With CreateObject("InternetExplorer.Application")
    '.Visible = True '可不顯示IE
    .Navigate "http://lisp.land.moi.gov.tw/MMS/MMSpage.aspx#gobox03"
    Do While .Busy Or .readyState <> 4: DoEvents: Loop
    With .Document.all.tags("SELECT")
        For i = 0 To .Length - 1
            Debug.Print i & ": " & .Item(i).ID
        Next
    End With
    .Quit
End With
End Sub


此下拉選單原件有用 javaScript 寫"change"事件的腳本

此腳本是用來塞下一個下拉選單的"選項"

也就是說,你必須用IE填寫第一個元件的值,並觸發第一個元件腳本

第二個元件才會有下拉選單的值給你抓到表單~~~~~~




程式是依需求寫的,需求表達不清楚
或者沒有上傳附件,愛莫能助

TOP

本帖最後由 n7822123 於 2020-7-6 00:00 編輯

回復 4# sillykin


寫程式讓它觸發原本網頁的腳本事件就好了.............

不是要你研究 javascript.......

你原本寫的 ComboBox_list 程序 有點複雜,看不太懂你要幹嘛

我自己寫了2個程序GetCB_OP、WbKeyin_OP 取代他,ComboBox 我改編號 為789 對應網頁的編號

這樣我寫程式比較順手,你再試看看~~


抓地網頁地段.rar (966.46 KB)
程式是依需求寫的,需求表達不清楚
或者沒有上傳附件,愛莫能助

TOP

回復 5# n7822123


剛剛發現表單操作過快會取不到資料,

請自行新增一行程式



Private Sub ComboBox7_Change()      '縣市
     'If xMsg = False Then ComboBox_list 0
     xRng.Cells(1, 2) = ComboBox7.Value
     WbKeyin_OP 7          '輸入資料到WB第7個選單、並觸發事件
     Application.Wait (Now + TimeValue("00:00:01"))   '等待,過快會取不到資料
     GetCB_OP 8               '取得WB第8個選單資料
End Sub
Private Sub ComboBox8_Change()      '事務所名稱
    'If xMsg = False Then ComboBox_list 1
    xRng.Cells(1, 3) = ComboBox8.Value
    WbKeyin_OP 8          '輸入資料到WB第8個選單、並觸發事件
    Application.Wait (Now + TimeValue("00:00:01"))   '等待,過快會取不到資料
    GetCB_OP 9               '取得WB第9個選單資料
End Sub
Private Sub ComboBox9_Change()      '鄉鎮市區
    'If xMsg = False Then ComboBox_list 2
    xRng.Cells(1, 4) = ComboBox9.Value
    WbKeyin_OP 9          '輸入資料到WB第9個選單、並觸發事件    =>這個漏寫了
End Sub
程式是依需求寫的,需求表達不清楚
或者沒有上傳附件,愛莫能助

TOP

本帖最後由 n7822123 於 2020-7-6 22:15 編輯

回復 9# sillykin


其實我比較推薦 "段代碼" 因為是"唯一"的,搜出來只會有1筆

用關鍵字可能搜出來有很多筆~如你的竹圍就有5筆,如果你要全部列出來

可能要先判斷搜出來有幾頁,因這個網站超過10筆會進下一頁

你需要寫程式控制IE,去點選頁數,讓它觸發更新,再下載10筆,再控制IE點第2頁,在下載下10筆.......

想想就覺得很麻煩~~~我完全不會想這樣寫
程式是依需求寫的,需求表達不清楚
或者沒有上傳附件,愛莫能助

TOP

本帖最後由 n7822123 於 2020-7-7 00:46 編輯

回復 11# sillykin


那個網頁有那麼多按鈕,先說明你到底要什麼資料吧.......

你只是要它的 "地段代碼編號" 嗎?

程式是依需求寫的,需求表達不清楚
或者沒有上傳附件,愛莫能助

TOP

本帖最後由 n7822123 於 2020-7-7 01:56 編輯

回復 11# sillykin


先依你的"關鍵字"查找資料,

把文字資料都放上去了,你在自己擷取你要的部分

目前只秀出"第一筆資料",在看你自己看要怎麼修改~~

如果要用"段代碼",你可能要做個對照表(去那個網站下載),不然操作者也不知道要Key什麼吧!.......






抓地網頁地段-1090707.rar (361.52 KB)
程式是依需求寫的,需求表達不清楚
或者沒有上傳附件,愛莫能助

TOP

回復 13# n7822123

最新版~~ 關鍵字你隨意輸入 (可輸入也可不輸入)

表單一樣只會秀"第一筆"資料,其他資料也全部抓下來(不管幾頁)

把資料全部放到 "結果區" 工作表~

累了!  搞了一個半夜,看的懂就看吧!


抓地網頁地段-1090707-new.rar (478.77 KB)
程式是依需求寫的,需求表達不清楚
或者沒有上傳附件,愛莫能助

TOP

        靜思自在 : 脾氣嘴巴不好,心地再好也不能算是好人。
返回列表 上一主題