diff --git a/.gitignore b/.gitignore index 0e5ac79..8f3fd26 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,4 @@ .venv -__pycache__ \ No newline at end of file +__pycache__ +*.png +images \ No newline at end of file diff --git a/main.py b/main.py index 2d6e202..5d0b7cd 100644 --- a/main.py +++ b/main.py @@ -1,45 +1,54 @@ import math import random +from io import BytesIO from time import sleep -from selenium import webdriver import selenium +from PIL import Image +from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.common.action_chains import ActionChains from random_pilot import RandomPilot options = webdriver.ChromeOptions() -options.add_experimental_option("detach", True) +# options.add_experimental_option("detach", True) driver = webdriver.Chrome(options) driver.get("https://yandex.ru/maps/43/kazan/?ll=49.103814%2C55.794258&z=14") -sleep(5) +sleep(2) html = driver.find_element(By.TAG_NAME, 'html') +canvas = driver.find_element(By.TAG_NAME, 'canvas') action = ActionChains(driver) # Закрытие левой панели action.click(driver.find_element(By.CLASS_NAME, 'sidebar-toggle-button')) -action.pause(0.2) action.move_to_element_with_offset(driver.find_element(By.XPATH, "//div[@class='rounded-controls']/div[@class='rounded-controls__child'][5]//button"), 5, 5) -action.pause(0.2) action.perform() # Режим спутника action.click(driver.find_element(By.CLASS_NAME, '_key_satellite')) -action.pause(0.2) action.perform() randomPilot = RandomPilot(100) -while True: +for i in range(100): # Сдвиг камеры action = ActionChains(driver) action.move_to_element_with_offset(html, 200, 200) action.click_and_hold() - action.move_by_offset(*randomPilot.step()) + dx, dy = randomPilot.step() + action.move_by_offset(-dx, dy) action.release() action.perform() - sleep(0.5) \ No newline at end of file + + # Загрузка скриншота + png = driver.get_screenshot_as_png() + im = Image.open(BytesIO(png)) + im = im.crop([0, 80, im.width-80, im.height-60]) + im.save(f"./images/{i}.png") + sleep(0.25) + +print("last position: ", driver.current_url)