Selenium PhantomJS webdriver获得部分截图

时间:2017-12-13 08:20:33

标签: python selenium phantomjs screenshot

此代码保存完整的网页,但我需要保存用户看到的第一个视图(不向下滚动)。有可能吗?

browser = webdriver.PhantomJS()
browser.set_window_size(1920, 1080)
browser.set_page_load_timeout(60)
browser.get(url)
browser.save_screenshot(png_path)

更新

以下是save_screenshot https://github.com/keras-team/keras/issues/3223的示例,但我正在寻找用户在加载页面时可以看到的第一个视图。

enter image description here

1 个答案:

答案 0 :(得分:0)

要保存用户看到的第一个view,您必须通过 pageLoadStrategy 调整 DesiredCapabilities 的配置,这是默认情况下将 normal 设置为,如下所示:

from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

caps = DesiredCapabilities().PHANTOMJS.copy()
caps["pageLoadStrategy"] = "none"
browser = webdriver.PhantomJS(desired_capabilities=caps, executable_path=r'C:\path\to\bin\phantomjs.exe')
browser.set_window_size(1920, 1080)
browser.set_page_load_timeout(60)
browser.get("https://accounts.google.com/signin")
browser.save_screenshot('./Screenshots/filename.png')

您可以在此处找到有关pageLoadStrategy的详细讨论。