想要创建网页的图像,但必须等待使其完全加载(包括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()
基于一些documentation:
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秒