截图
- from selenium import webdriver
- driver = webdriver.Chrome()
- # 以 PNG 格式, 保存浏览器截图, filename 为截图文件绝对路径
- driver.get_screenshot_as_file()
- # 以 PNG 格式, 保存浏览器截图, filename 为截图文件绝对路径
- driver.save_screenshot()
- # 上述两个方法等价
- /site-packages/selenium/webdriver/remote/webdriver.py
- class WebDriver(object):
- def get_screenshot_as_file(self, filename):
- """
- Saves a screenshot of the current window to a PNG image file. Returns
- False if there is any IOError, else returns True. Use full paths in
- your filename.
- :Args:
- - filename: The full path you wish to save your screenshot to. This
- should end with a `.png` extension.
- :Usage:
- driver.get_screenshot_as_file('/Screenshots/foo.png')
- """if not filename.lower().endswith('.png'):
- warnings.warn("name used for saved screenshot does not match file"
- "type. It should end with a `.png` extension", UserWarning)
- PNG = self.get_screenshot_as_png()
- try:
- with open(filename, 'wb') as f:
- f.write(PNG)
- except IOError:
- return False
- finally:
- del PNG
- return True
- def save_screenshot(self, filename):
- """
- Saves a screenshot of the current window to a PNG image file. Returns
- False if there is any IOError, else returns True. Use full paths in
- your filename.
- :Args:
- - filename: The full path you wish to save your screenshot to. This
- should end with a `.png` extension.
- :Usage:
- driver.save_screenshot('/Screenshots/foo.png')
- """
- return self.get_screenshot_as_file(filename)
- def get_screenshot_as_png(self):
- """
- Gets the screenshot of the current window as a binary data.
- :Usage:
- driver.get_screenshot_as_png()
- """return base64.b64decode(self.get_screenshot_as_base64().encode('ascii'))
- def get_screenshot_as_base64(self):
- """
- Gets the screenshot of the current window as a base64 encoded string
- which is useful in embedded images in html.
- :Usage:
- driver.get_screenshot_as_base64()
- """return self.execute(Command.SCREENSHOT)['value']
来源: http://www.bubuko.com/infodetail-3382680.html