[英]How to wait before screenshot of webpage using selenium and phantomjs in python3?
想創建網頁圖像,但必須等待它完全加載(包括AJAX)。
等待時間應由硬編碼值設置,而不要等待元素。
以下是無需等待的截圖:
from selenium import webdriver
driver=webdriver.PhantomJS()
driver.set_window_size(w,h)
driver.get('webpage_address')
driver.save_screenshot('/path/to/dir/foo.png')
driver.quit()
根據一些文檔 :
from selenium import webdriver
driver=webdriver.PhantomJS()
driver.set_window_size(w,h)
driver.implicitly_wait(t)
driver.get('webpage_address')
driver.save_screenshot('/path/to/dir/foo.png')
driver.quit()
但是,這不會輸出圖像,也不會等待圖像。
任何幫助深表感謝!
嘗試以下代碼:
driver.manage().timeouts().implicitlyWait(10,TimeUnit.SECONDS) ;
or
wait = WebDriverWait(browser, 10)
在這里,我們隱式地要求代碼等待10秒
也許等到某個元素出現在給定頁面上,這意味着它已完全加載(並非在所有情況下),然后可以繼續截圖:)
WebDriverWait(driver, 20).until(
EC.presence_of_element_located((By.ID, "myElement"))
driver.save_screenshot('/path/to/dir/foo.png')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.