簡體   English   中英

如何在python3中使用Selenium和phantomjs等待網頁截圖之前?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM