1
示例:要等待Selenium Python如何等待select中的選項被填充?
<select id="myselect"></select>
與
<option value="123">One-two-three</option>
我怎麼能做到這一點在Python來填充?
示例:要等待Selenium Python如何等待select中的選項被填充?
<select id="myselect"></select>
與
<option value="123">One-two-three</option>
我怎麼能做到這一點在Python來填充?
您可以使用presence_of_element_located
和explicit waiting用CSS選擇器來定位元素:
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.common.exceptions import TimeoutException
try:
element = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.CSS_SELECTOR, "option[value='123']"))
)
print("Option loaded")
except TimeoutException:
print("Time exceeded!")
# Do Your Stuff
感謝這麼多的解決方案。在「最後」中,我打印出page_source,並且該頁面是我想要的。但是,在打印出頁面後,有一條錯誤消息: raise TimeoutException(message,screen,stacktrace) selenium.common.exceptions.TimeoutException:消息: –
@jhhPhi嘿,對不起,看起來像我誤用'finally'語句,現在應該這樣做。我很高興它有幫助,而且,如果它有幫助並解決了您的問題,您應該[接受答案](https://meta.stackexchange.com/a/5235),點擊upvotes旁邊的綠色標記。 –
「超出時間」打印出來。這是不是意味着在特定時間內,該聲明永遠不會回覆真實?因爲它沒有返回true,所以它捕獲TimeoutException,然後繼續執行代碼。當代碼循環10秒時,我的頁面已經完全加載,所以我得到了我想要的頁面。沒有? –