- 帖子
- 354
- 主題
- 5
- 精華
- 0
- 積分
- 387
- 點名
- 0
- 作業系統
- windows7
- 軟體版本
- vba,vb,excel2007
- 閱讀權限
- 20
- 性別
- 男
- 註冊時間
- 2017-1-8
- 最後登錄
- 2024-8-2
 
|
20#
發表於 2022-10-15 03:06
| 只看該作者
本帖最後由 singo1232001 於 2022-10-15 03:16 編輯
回復 18# t8899
1
判斷網頁 可以用if 判斷式
試著用裡面的 物件存在狀態 or 物件數量 or 物件名稱 or 物件文字 or 網頁Title名稱(可能重複要看個案) 來判斷跳過
可以先下on error resume next 忽略錯誤
以下可供挑選判斷方式
啟用可以用isobject() =true
數量用.count>0
名稱用.attribute
文字用.text
網頁title名稱 用.title
上述文字可以搭配vba的instr like find 這列文字搜索的功能做判斷
2
xpath我不太常用 所以練的不熟 我習慣用tag抓位置 通常很高的高手會用xpath 或者運氣不錯剛好能用(該元素沒有後續才慢慢出現)
主要原因是 有時候 網頁不會一次性跳出來 他會慢慢跳 當然也可以用wait來等
也就是之前說到的狀況 用tag逐步找的方式,這種分解步驟可以慢慢判斷是否元素有出現了 再繼續下一步的判斷
3
印象可以 但不建議 怕多個視窗title重複 看個案使用
下面是我查到的資料
語法好像是 driver.SwitchToWindowByTitle "Title名稱" 不過我沒實測過
https://stackoverflow.com/questions/52397268/how-do-i-switch-focus-to-a-new-window-using-selenium-vba
(可以下google關鍵字 vba selenium SwitchToNextWindow )找相關資料
通常我還是建議用driver.SwitchToNextWindow跳轉
跳過去如果不要了,也還是要還要用driver.SwitchToPreviousWindow跳回來 |
|