背景
selenium webdriver提供了当前窗口截图的方法,以下为总结。
提供的方法概述:
# 参数filename为想要保存图片的路径,可以是相对路径和绝对路径。但是文件名需要以png扩展名结尾
# 截图窗口图像并保存为png格式的图片
save_screenshot(filename)
# 不要被方法名迷惑,这是以二进制数据格式保存当前窗口截图
get_screenshot_as_png()
# 以base64编码字符串的形式获取当前窗口的屏幕截图,这在HTML中的嵌入式图像中非常有用。
get_screenshot_as_base64()
示例:
from selenium import webdriver
chrome_driver = r'D:\Python3.7\Lib\site-packages\selenium\webdriver\chrome\chromedriver.exe'
driver = webdriver.Chrome(executable_path = chrome_driver)
driver.implicitly_wait(10)
driver.maximize_window()
ulr = r'http://www.baidu.com'
driver.get( ulr )
# 以相对路径保存截图
driver.save_screenshot('./png.png')
# 以绝对路径保存截图
driver.save_screenshot(r'D:\Temp\png.png')
# 保存截图为二进制数据
print(driver.get_screenshot_as_png())
print('\n\n**********************************************\n\n')
# 以base64编码字符串的形式获取当前窗口截图
print(driver.get_screenshot_as_base64())
driver.quit()
'''
===============================================================
b'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x08p\x00\x00\x04\xe1\x08\x06\x00\x00\x00^V\xf4\xfb\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00 \x00IDATx\x9c\xec\xdd[\x8c\\\xf7}\'\xf8\xef\xa9\xbe\xf1"\xcav\xda\xa6/\ndw&\xf6f\xc71#/Jk/[\xf0Z\x84`\xc2\xc2\x82\x14\x108\xb0\x83\x96\x1eZ\x84\xe1\x001\xd9\xc8\x8b^\xdc|`{\x17\xd0\xcb\xa0\xc9\x04p`H|\x90\x1b\x89\xb0\xc2\x00\xa2\x80Q@\x8f\x96\x12\xbc"\x11\xc3=k\x99\x1e\xeff\x93,({"\xdb\xa1\xdc\xb6e^\xfbRu\xf6\xa1\xaa\xba\xabo\xec\xa6\xd4\xe4\x91\x9c\xcf\x07 \xc8:u.\xffS\xe7T5\xd8\xffo\xfd~EY\x96e\x00\x00\x00\x00\x00\x00\x00\x00\xa8L\xad\xea\x01\x00\x00\x00\x00\x00\x00\x00\x00\xfc[\'\xc0\x01\x00\x00\x00\x00\x00\x00\x00P1\x01\x0e\x00\x00\x00\x00\x00\x00\x00\x80\x8a\tp\x00\x00\x00\x00\x00\x00\x00\x00TL\x80\x03\x00\x00\x00\x00\x00\x00\x00\xa0b\x02\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x15\x13\xe0\x00\x00\x00\x00\x00\x00\x00\x00\xa8\x98\x00\x07\x00\x00\x00\x00\x00\x00\x00@\xc5\x048\x00\x00\x00\x00\x00\x00\x00\x00*&\xc0\x01\x00\x00\x00\x00\x00\x00\x00P1\x01\x0e\x00\x00\x00\x00\x00\x00\x00\x80\x8a\tp\x00\x00\x00\x00\x00\x00\x00\x00TL\x80\x03\x00\x00\x00\x00\x00\x00\x00\xa0b\x02\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x15\x13\xe0\x00\x00\x00\x00\x00\x00\x00\x00\xa8\x98\x00\x07\x00\x00\x00\x00\x00\x00\x00@\xc5\x048\x00\x00\x00\x00\x00\x00\x00\x00*&\xc0\x01\x00\x00\x00\x00\x00\x00\x00P1\x01\x0e\x00\x00\x00\x00\x00\x00\x00\x80\x8a\tp\x00\x00\x00\x00\x00\x00\x00\x00TL\x80\x03\x00\x00\x00\x00\x00\x00\x00\xa0b\x02\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x15\x13\xe0\x00\x00\x00\x00\x00\x00\x00\x00\xa8Xo\xd5\x03\x00\x00
**********************************************
iVBORw0KGgoAAAANSUhEUgAACHAAAAThCAYAAABeVvT7AAAAAXNSR0IArs4c6QAAIABJREFUeJzs3VuMXOd5Lui3qk886uC26IMysnuQBHvgbUYGStsGW/BYhGDCwoAUkHFgGy1dtAjDAWKykRvduHnB9gygm4BkDDjwSLyQexJhhA2IwkABvTWUYIhEDPeMtekxdoAkQ1mxLIdyWwee+lhrLqqqu7q7+kCqySU5zwPYZq1a9a9/rVVVhPm/9X2VoiiKAAAAAAAAAABQmmrZEwAAAAAAAAAA+PdOgAMAAAAAAAAAoGQCHAAAAAAAAAAAJRPgAAAAAAAAAAAomQAHAAAAAAAAAEDJBDgAAAAAAAAAAEomwAEAAAAAAAAAUDIBDgAAAAAAAACAkglwAAAAAAAAAACUTIADAAAAAAAAAKBkAhwAAAAAAAAAACUT4AAAAAAAAAAAKJkABwAAAAAAAABAyQQ4AAAAAAAAAABKJsABAAAAAAAAAFAyAQ4AAAAAAAAAgJIJcAAAAAAAAAAAlEyAAwAAAAAAAACgZAIcAAAAAAAAAAAlE+AAAAAAAAAAACiZAAcAAAAAAAAAQMkEOAAAAAAAAAAASibAAQAAAAAAAABQsu6yJwAAAAAAAAAAfHDVnih7Bh8eE4/f+GtV4AAAAAAAAAAAKJkABwAAAAAAAABAyQQ4AAAAAAAAAABK1l32BAAAAAAAgA+HqWPHMvejH6W4ei1JUtm2Nd1f/nK2jIyUPDMAgA8/AQ4AAAAAAGBdU8eOZfa5U0u2FVevLWwT4gAAeH+0UAEAAAAAANY196Mf3dBzAABsjAAHAAAAAABs0Mzf/0UufemBXP77N6/ruTX9/HgufemBXPrS8Uxt0jxvhlbblOt97kZNPn84tVottUOnMrnGfudP1FbZbzKnDq3/ej7ELp7K4TXeI633xrFXb/nMNterxzblfdz6by+Xc53AcR9lsdsLnulCT1VJsbbHzHMeRaZpj9snXZ9u2bNu+5DoBAAAAAMDVhQ4cAAAAAABMU++8884XtrdhGAoGg1q8eLHC4bDbZWP9+vWybVuhUEipVErvvPOOPB6PysrKNHfuXMViMYVCITU0NGjNmjXKZDJj9vX5fGpvb1c6nZbP53PHjfj9fqVSKXV1dbldNEbLZDL69NNPlUqlitY7c+ZM3XzzzZo3b54kaXBwUH/4wx/k8Xg0MDCgZDJZNDwSjUZ1/fXXK5lM6U71CF1S2nEoe8bAAAAANgIcAAAAABonhOayE7P7Gs1e5pCZWlZORkaVEoxs9ZUG1IjRafQ5bBmTJ9XezizaAAAAwPOCAAcAAAAAAMBz4uHDh8pk/qTV1VXt7OyUvVeYKmVzc1Nra2vF1588eaJsNqtjx46pq6uLYi7wHMvn88o9fKjf/uuvNfvLn+nFD3+ps8t/1JnNXZ37d2e0+eSOFv/yij744HPafPhIf/03X9CZ7m66cQAAAADPCQIcAAAAAAAAz4l79+7p0aNHVeGN06dPq7+/X93d3VpbW9Pm5qY2NjaK7z958kRra2vK5XLq6up61sMGcCB29TiX053fzur//l//N712el5DT5b1ylJOT/
[Finished in 17.9s]
'''