Selenium PhantomJS webdriver获得部分截图

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Selenium PhantomJS webdriver获得部分截图相关的知识,希望对你有一定的参考价值。

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

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

答案

要保存用户看到的第一个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	oinphantomjs.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的详细讨论。

以上是关于Selenium PhantomJS webdriver获得部分截图的主要内容,如果未能解决你的问题,请参考以下文章

模块“selenium.webdriver”没有属性“PhantomJS”

Selenium java + PhantomJS - phantomjs://platform/console++.js:263错误

Selenium + Firefox到Selenium + PhantomJS [关闭]

selenium启动PhantomJS错误

Selenium+PhantomJS

Casperjs / PhantomJs vs Selenium