Ниже я упоминаю 3 подхода, первый из которых ваш, у меня работает нормально.
Пожалуйста, внесите изменения в соответствии с вашими требованиями.
from selenium import webdriver
import datetime
opt=webdriver.ChromeOptions()
opt.add_argument("--start-maximized")
driver= webdriver.Chrome(executable_path="C:\\chrome driver\\chromedriver.exe",options=opt)
driver.get("http://xfas.in/")
# put below lines in loop
timestamp = datetime.datetime.now().strftime('%d_%m_%Y_%H_%M_%S')
driver.get_screenshot_as_file(timestamp+'.png')
print('ok')
# Approch 2
# if your screen is visible you can use pyautogui
import pyautogui
import datetime
timestamp = datetime.datetime.now().strftime('%d_%m_%Y_%H_%M_%S')
pyautogui.screenshot(r"c:anypath\timestamp .png")
# Approach 3 long but better
# Even if screen is not visible save the visible page as pdf, best approch as save entire page.
from selenium import webdriver
import shutil
import time
import glob
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
import json
import datetime
import os
appState = {
"recentDestinations": [
{
"id": "Save as PDF",
"origin": "local",
"account": ""
}
],
"selectedDestinationId": "Save as PDF",
"version": 2
}
profile = {'printing.print_preview_sticky_settings.appState': json.dumps(appState)}
opt=webdriver.ChromeOptions()
opt.add_experimental_option('prefs', profile)
opt.add_argument('--kiosk-printing')
opt.add_argument("--start-maximized")
driver= webdriver.Chrome(executable_path="C:\\chrome driver\\chromedriver.exe",options=opt)
driver.get("http://xfas.in/")
WebDriverWait(driver,30).until(EC.element_to_be_clickable,((By.XPATH,'//*[@id="txtTracking"]')))
# place these line post the code when you want to save the page.
time.sleep(1)
driver.execute_script('window.print();')
time.sleep(3)
# file will be saved in chrome download folder , in the end partial name of the file and extension
list_of_files = glob.glob(r'C:\Users\path\Downloads\Xfas*.pdf')
latest_file = max(list_of_files, key=os.path.getctime)
# copy the path to desired folder
timestamp = datetime.datetime.now().strftime('%d_%m_%Y_%H_%M_%S')
shutil.copy(latest_file,'C:\\YourFolder\\Folder2\\'+timestamp+'.pdf')
# one file is copied delete the file from download the folder , choice
os.remove(latest_file)