def execSearch(browser: webdriver, URL): """ Googleで検索を実行する :param browser: webdriver """ # スクリーンショットのファイル名用に日付を取得 dt = datetime.datetime.today() dtstr = dt.strftime("%Y%m%d%H%M%S") # Googleにアクセス # スクショしたい画面を表示 browser.get(URL) sleep(1) # # キーワードの入力 # search_box = browser.find_element_by_name("q") # search_box.send_keys('docker selenium') # # 検索実行 # search_box.submit() sleep(1) # 画面全体をスクショするための調整 w = browser.execute_script('return document.body.scrollWidth') h = browser.execute_script('return document.body.scrollHeight') browser.set_window_size(w, h) # スクリーンショット browser.save_screenshot('images/' + dtstr + '.png')
def get_screenshot(self, name: str, driver: webdriver, dictionary_path: str) -> None: original_size = driver.get_window_size() required_width = driver.execute_script('return document.body.parentNode.scrollWidth') required_height = driver.execute_script('return document.body.parentNode.scrollHeight') driver.set_window_size(required_width, required_height) if not os.path.exists(dictionary_path): os.makedirs(dictionary_path) t = time.localtime() current_time = time.strftime("%H-%M-%S", t) path = f"{dictionary_path}/screenshot_{name}_{current_time}.png" time.sleep(1) driver.get_screenshot_as_file(path) time.sleep(1) driver.set_window_size(original_size['width'], original_size['height'])
def get_statistics_screenshot(driver: webdriver) -> Image.Image: # Ресайз окна, чтобы поместилась вся статистика driver.set_window_size(1920, 600) # Область со статистикой summary = driver.find_element_by_class_name('summary--emotion') statistics_location = summary.location_once_scrolled_into_view statistics_size = summary.size # Скриншот всего окна statistics = Image.open(BytesIO(driver.get_screenshot_as_png())) # Получаем ROI left = int(statistics_location['x']) top = int(statistics_location['y']) right = left + int(statistics_size['width']) bottom = top + int(statistics_size['height']) roi = (left, top, right, bottom) return statistics.crop(roi)
def setWindowSize(driver: webdriver, value: tuple): driver.set_window_size(*value)
def fullScreen(driver: webdriver): page_width = driver.execute_script('return document.body.scrollWidth') page_height = driver.execute_script('return document.body.scrollHeight') driver.set_window_size(page_width, page_height)