想請問 webdriver 的使用時機?
因為如果呼叫 driver.get 後,會等到網頁讀取完才會繼續執行下一行
那 WebDriverWait 是否等同使用 while 迴圈加上最大等待時間去 find_element
# 尋找元素
def check_element(element_name):
try:
return browser.find_element_by_class_name(element_name)
except: # except NoSuchElementException:
print("找不到 element:"+element_name)
return False
wait_load_time = 180 # 網頁讀取等待最大秒數(秒)
starttime = datetime.datetime.now()
while (datetime.datetime.now() - starttime < wait_load_time):
if check_element("xxxx"):
# do something
break
雖然有看過網路上有人把 set_page_load_timeout 設定的極短,來跳過網頁讀取時間搭配 WebDriverWait 使用達到效果,但因為不知道後續如何判斷網頁是讀取錯誤(轉調 error page)還是塞車導致需要繼續等待,所以也沒嘗試過這種方法