import time
from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
caps = DesiredCapabilities.FIREFOX
caps["marionette"] = True
browser = webdriver.Firefox(capabilities=caps)
browser.get(html_file)
time.sleep(15)
browser.save_screenshot(image_name)
browser.quit()
这就是我用的,只要缝合一下:
#!/usr/bin/python
from selenium import webdriver
from PIL import Image
from cStringIO import StringIO
verbose = 1
browser = webdriver.Firefox()
browser.get('http://stackoverflow.com/questions/37906704/taking-a-whole-page-screenshot-with-selenium-marionette-in-python')
# from here http://stackoverflow.com/questions/1145850/how-to-get-height-of-entire-document-with-javascript
js = 'return Math.max( document.body.scrollHeight, document.body.offsetHeight, document.documentElement.clientHeight, document.documentElement.scrollHeight, document.documentElement.offsetHeight);'
scrollheight = browser.execute_script(js)
if verbose > 0:
print scrollheight
slices = []
offset = 0
while offset < scrollheight:
if verbose > 0:
print offset
browser.execute_script("window.scrollTo(0, %s);" % offset)
img = Image.open(StringIO(browser.get_screenshot_as_png()))
offset += img.size[1]
slices.append(img)
if verbose > 0:
browser.get_screenshot_as_file('%s/screen_%s.png' % ('/tmp', offset))
print scrollheight
screenshot = Image.new('RGB', (slices[0].size[0], scrollheight))
offset = 0
for img in slices:
screenshot.paste(img, (0, offset))
offset += img.size[1]
screenshot.save('/tmp/test.png')
代码也在这里:https://gist.github.com/fabtho/13e4a2e7cfbfde671b8fa81bbe9359fb
滚动/拼接的问题是,设置为“display:fixed”的html节点在每次拍摄时都重复。
问题内容: 我正在尝试使用WebdriverIO截取整个页面的屏幕截图。 我读过,最好的方法是使用WebdriverCSS增强我的WebdriverIO流。WebdriverCSS自动截图整个页面? 问题是WebdriverCSS对我不起作用。我认为是因为它尚未与兼容。 有什么办法可以使它起作用,或者可以使用其他解决方案? 我的代码: ( 这是生产什么,但在回调中未定义的值 ) !EDIT: 这是
或者使用TrustallSSLCertifices代替acceptSslCerts,但仍然给我证书错误,问题是什么?
问题内容: 我知道以前是不可能的,但是现在有了以下更新: https://developers.google.com/web/updates/2017/04/devtools-release- notes#screenshots 使用Chrome开发工具似乎可以做到这一点。 现在可以在Java中使用Selenium吗? 问题答案: 要使用Java中的Selenium Webdriver进行此工作需
我正试图使用selenium和chromedriver进行全页截图,但我得到的是这一半截图。我尝试过其他方法,但到目前为止,只有这一个工作,它只需要半页截图。 任何人都可以用另一个技巧来修复这个问题,也可以附加输出结果。
我想把我的混合应用程序的一些截图itunes自动连接。我正在运行Ubuntu 14.04. chromeDrive2.15.322448 使用Selenium和Xvfb自动截图很容易。但是要得到视网膜截图并不容易。 我用更高的dpi启动了我的Xvfb: 当我检查显示信息时,一切似乎都是正确的: 然后我像这样启动我的chromedriver 在完成了一些其他无聊的代码后,我截图: 这不工作。屏幕截图
我知道这在以前是不可能的,但现在有了以下更新: 现在有可能在Java中使用Selenium吗?