註冊
登錄
首頁
論壇版規
禁止列表
說明
地圖
數位書香
私人消息 (0)
公共消息 (0)
論壇任務 (0)
系統消息 (0)
好友消息 (0)
帖子消息 (0)
麻辣家族討論版版
»
Excel程式區
» VBA 上網的回應問題以及VBA 操控網頁的初學方式
返回列表
下一主題
上一主題
發帖
[發問]
VBA 上網的回應問題以及VBA 操控網頁的初學方式
PKKO
發短消息
加為好友
PKKO
(PKKO)
當前離線
UID
14751
帖子
549
主題
152
精華
0
積分
691
金錢
691
點名
0
作業系統
WIN7
軟體版本
OFFICE 2010
閱讀權限
50
性別
男
在線時間
506 小時
註冊時間
2013-8-10
最後登錄
2022-9-7
暱稱:
PKKO
高中生
帖子
549
主題
152
精華
0
積分
691
點名
0
作業系統
WIN7
軟體版本
OFFICE 2010
閱讀權限
50
性別
男
註冊時間
2013-8-10
最後登錄
2022-9-7
1
#
跳轉到
»
倒序看帖
打印
字體大小:
t
T
發表於 2016-2-18 12:27
|
顯示全部帖子
[發問]
VBA 上網的回應問題以及VBA 操控網頁的初學方式
網頁元素
本帖最後由 GBKEE 於 2016-2-19 08:46 編輯
上網有查詢到網頁的相關資訊,同時也看了本版的資訊得知以下訊息可以偵測出是否還在運作中
While .busy Or .readyState <> 4
Application.Wait (Now + TimeValue("0:00:01"))'DoEvents有時會還沒轉完就繼續執行了(可能差0.0幾秒)
Wend
複製代碼
現在遇到的問題是:程式開啟網頁後,並非用網頁元素進行操作,而是用滑鼠點擊的方式來控制
在這種情況下,上述的程式碼無法偵測該網頁是否在運作中,
請問用滑鼠點擊的方式來控制網頁,有辦法偵測出是否還在運作中呢?
我目前只有想到一個方式是,滑鼠點擊之後,再利用.Refresh,讓網頁重新更新,此時上述的程式碼就能發揮功用得知是否還在運作中
為何要得知網頁是否還在運作?因為網頁運作完畢之後還有後續的動作,若不能得知是否運作完畢,只能固定用秒數(但有連線速度的問題)可能會導致錯誤
以及各位大大是否可以推薦一下,學習利用VBA上網操控網頁的初學方式
例如下方程式碼:(可以自動上網GOOGLE並輸入關鍵字,然後自動查詢)
With CreateObject("InternetExplorer.application")
.Visible = True
.navigate ("http://www.google.com/")
While .busy Or .readyState <> 4
Application.Wait (Now + TimeValue("0:00:01"))
Wend
.document.all.q.Value = "keyword"
While .busy Or .readyState <> 4
Application.Wait (Now + TimeValue("0:00:01"))
Wend
.document.all.btnG.Click
While .busy Or .readyState <> 4
Application.Wait (Now + TimeValue("0:00:01"))
Wend
複製代碼
以上的功能都是上網查詢來的,可是在其他的網站要如何找到以下這兩個元素,該如何開始學習呢?
.document.all.q.Value =>輸入查詢的關鍵字(不曉得該如何找到這個元素)
.document.all.btnG.Click=>查詢的按鈕(不曉得該如何找到這個元素)
還是有大大推薦如何開始學習網頁元素呢?
樓主熱帖
如何用vba知道作用儲存格&欄&列的位置
Excel檔案有辦法防止別人複製將檔案帶走嗎?
Userform最大化(且內容比例自動放大?)
如何移除陣列內重複的部分(STRING)
有人知道立柱碰該怎樣計算嗎?(排列組合問題
20個相同功能ComboBox如何可以省工撰寫?
最快速的比對資料方式?
vba可否不打開excel表即可知道a1的值?
如何透過VBA隨機"萬中取一"(但不能重複),抽
你開啟檔案時會問你是否要更新嗎?分享取消連
收藏
分享
PKKO
PKKO
發短消息
加為好友
PKKO
(PKKO)
當前離線
UID
14751
帖子
549
主題
152
精華
0
積分
691
金錢
691
點名
0
作業系統
WIN7
軟體版本
OFFICE 2010
閱讀權限
50
性別
男
在線時間
506 小時
註冊時間
2013-8-10
最後登錄
2022-9-7
暱稱:
PKKO
高中生
帖子
549
主題
152
精華
0
積分
691
點名
0
作業系統
WIN7
軟體版本
OFFICE 2010
閱讀權限
50
性別
男
註冊時間
2013-8-10
最後登錄
2022-9-7
2
#
發表於 2016-2-18 17:20
|
顯示全部帖子
回復
2#
GBKEE
感謝超版大大,已經實際應用了您的網頁元素的程式碼
有以下收穫
一、原來不需要看網頁原始碼就可以得到網頁元素,之前看了好久,都只能瞎猜到一些
二、使用該程式碼之後即可了解網頁元素的基本架構,原來如此省事,真的太感謝超版大大
但仍有一些問題想詢問超版大大
一、我目前只知道可以查詢.GetElementsByTagName("INPUT")、.GetElementsByTagName("SELECT")、.GetElementsByTagName("BUTTON")
我要如何得知所有、.GetElementsByTagName 的元素有哪些可以查詢?
二、我目前查詢到有些元素並沒有提供NAME的部分,那要如何控制該網頁呢(還有其他方法嗎)?
三、有些網頁有不同分頁(類似USERFORM的PAGE1,PAGE2這樣),這種切換分頁的元素要如何找到呢?
PKKO
TOP
PKKO
發短消息
加為好友
PKKO
(PKKO)
當前離線
UID
14751
帖子
549
主題
152
精華
0
積分
691
金錢
691
點名
0
作業系統
WIN7
軟體版本
OFFICE 2010
閱讀權限
50
性別
男
在線時間
506 小時
註冊時間
2013-8-10
最後登錄
2022-9-7
暱稱:
PKKO
高中生
帖子
549
主題
152
精華
0
積分
691
點名
0
作業系統
WIN7
軟體版本
OFFICE 2010
閱讀權限
50
性別
男
註冊時間
2013-8-10
最後登錄
2022-9-7
3
#
發表於 2016-2-19 13:10
|
顯示全部帖子
回復
4#
GBKEE
感謝超版大大,已經會使用,當沒有NAME的時候要如何操作該元素
For Each E In .GetElementsByTagName("BUTTON")
If E.Type = "submit" And E.innertext = "登錄" Then
E.Click
Exit For
End If
Next
複製代碼
可以使用上述的程式碼,判定TYPE或是任意的屬性為指定名稱時
則E.CLICK 或是 E.VALUE=xx
已經實驗過上述兩種都可行
感謝超版大大,繼續實驗其他分頁或是表單的部分
非常感謝!
PKKO
TOP
PKKO
發短消息
加為好友
PKKO
(PKKO)
當前離線
UID
14751
帖子
549
主題
152
精華
0
積分
691
金錢
691
點名
0
作業系統
WIN7
軟體版本
OFFICE 2010
閱讀權限
50
性別
男
在線時間
506 小時
註冊時間
2013-8-10
最後登錄
2022-9-7
暱稱:
PKKO
高中生
帖子
549
主題
152
精華
0
積分
691
點名
0
作業系統
WIN7
軟體版本
OFFICE 2010
閱讀權限
50
性別
男
註冊時間
2013-8-10
最後登錄
2022-9-7
4
#
發表於 2016-2-19 15:30
|
顯示全部帖子
[版主管理留言]
GBKEE(2016/2/23 10:49):
http://tw.dictionary.search.yahoo.com/search?p=true&tab=definition&fr2=dict 討論版上有搜索的功能,請找找看
回復
4#
GBKEE
抱歉,還想請問一下
除了控制網頁元素之外
例如:http://tw.dictionary.search.yahoo.com/search?p=true&tab=definition&fr2=dict
這個yahoo奇摩的翻譯
要如何將下方的翻譯資料下載回來至excel分頁內呢?
PKKO
TOP
靜思自在 :
口說一句好話,如口出蓮花;口說一句壞話如口吐毒蛇。
返回列表
下一主題
上一主題
Excelㄧ般區
生活與感動
電腦各種硬體討論
EXCEL專屬討論區
Excelㄧ般區
Excel程式區
進階應用專區
OFFICE 系列
Word
PowerPoint
Access
Office不分區
程式語言
VB 與 VB.Net
C 與 C#
Java 與 J#
程式設計不分區
資料庫
ORACLE
My SQL
MS SQL
網頁設計
ASP 與 ASP.NET
PHP
PHP+MySQL 入門實作
JavaScript
FLASH / ActionScript
HTM/ HTML/ CSS
網頁設計不分區
電腦與作業系統
電腦各種硬體討論
一般電腦軟體討論
論壇事務
管理公告
投訴反映
新手測試
愛 • 生活
公益佈告欄
生活與感動
[收藏此主題]
[關注此主題的新回復]
[通過 QQ、MSN 分享給朋友]
申請友情鏈接
Facebook粉絲