Python: Selenium Webdriver делает несколько скриншотов
Я пишу код, который должен делать снимки экрана с 3 разных точек останова [1280 px, 768px и 320px]. Но код, который у меня есть, делает 3 снимка экрана одного и того же экрана.
from datetime import datetime
from selenium import webdriver
from pyvirtualdisplay import Display
import time
import argparse
from selenium.webdriver.chrome.options import Options
now = datetime.now().strftime('%d-%m-%Y_%H-%M-%S')
class ScreenshotMaker(object):
def __init__(self, url):
self.url = url
self.display = Display()
self.display.start()
self.driver = webdriver.Chrome('/usr/local/bin/chromedriver')
self.driver.set_page_load_timeout(30)
self.driver.get(url)
self.driver.maximize_window()
def make_screenshots(self):
# Make Screenshot for 1280
self.display = Display(visible=0, size=(1280, 800)).start()
self.driver.get_screenshot_as_file('Breakpoint_1280_Screenshot_%s.png' %(now))
print("Taking Screenshot for Breakpoint 1280")
# Make Screenshot for 768
self.display = Display(visible=0, size=(768, 800)).start()
self.driver.get_screenshot_as_file('Breakpoint_768_Screenshot_%s.png' %(now))
print("Taking Screenshot for Breakpoint 768")
# Make Screenshot for 320
self.display = Display(visible=0, size=(320, 800)).start()
self.driver.get_screenshot_as_file('Breakpoint_320_Screenshot_%s.png' %(now))
print("Taking Screenshot for Breakpoint 320")
def main():
# url = ''
sm = ScreenshotMaker('https://example.com')
sm.make_screenshots()
if __name__ == "__main__":
main()
Что мне нужно изменить, чтобы код делал 3 разных снимка экрана?
Спасибо за вашу помощь:)