Selenium PhantomJS webdriver获得部分截图

问题描述 投票:0回答:1

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

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

更新:

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

enter image description here

python selenium phantomjs screenshot
1个回答
0
投票

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

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的详细讨论。

© www.soinside.com 2019 - 2024. All rights reserved.