Ich möchte den Bildschirm eines externen Dienstes anzeigen, für den eine Anmeldung erforderlich ist, sowie die Beschilderung, mit der die Bilddatei als Diashow angezeigt wird. Es ist ein wenig schwer zu verstehen, aber es sieht wie folgt aus.
Es wäre hilfreich, wenn Sie den Dateinamen lesen, das Ziel, die Anmeldeinformationen usw. entsprechend speichern könnten.
import os
import sys
import time
import datetime
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import chromedriver_binary
# File Name
now = datetime.datetime.now()
filename = "image/screen_" + now.strftime('%Y%m%d_%H%M%S') + ".png "
FILENAME = os.path.join(os.path.dirname(os.path.abspath(__file__)), filename)
# set driver and url
options = Options()
options.add_argument('--headless')
driver = webdriver.Chrome(options=options)
url = 'https://xxxx/xxxx/'
driver.get(url)
# ID/Geben Sie PASS ein (Anpassung für jeden Standort erforderlich)
id = driver.find_element_by_name("xxxx-xxxx")
id.send_keys("xxxx")
password = driver.find_element_by_name("xxxx-xxxx")
password.send_keys("xxxx")
time.sleep(1)
#Klicken Sie auf die Anmeldeschaltfläche (dies erfordert eine Anpassung für jede Site).
login_button = driver.find_element_by_name("xxxx")
login_button.click()
# get width and height of the page
w = driver.execute_script("return document.body.scrollWidth;")
h = driver.execute_script("return document.body.scrollHeight;")
# set window size
driver.set_window_size(1920,1080)
time.sleep(1)
# Get Screen Shot
print ("Get Screen Shot")
driver.save_screenshot(FILENAME)
# Close Web Browser
driver.quit()
Vorläufig konnte ich mit dem oben genannten Ablauf das tun, was ich wollte. Danach mache ich es derzeit in einer lokalen Umgebung, daher möchte ich dies in eine Serverumgebung verschieben. Jetzt, da ich den allgemeinen Ablauf verstehe, habe ich das Gefühl, dass ich ihn verwalten kann, indem ich den Rest untersuche.
In meiner Umgebung habe ich den Signage Publishing-Ordner dem Netzwerklaufwerk zugewiesen. Als ich Python jedoch direkt mit dem Taskplaner startete, funktionierte der Zugriff auf das Netzwerklaufwerk nicht, sodass ich eine separate Batchdatei erstellte. Ich habe dem Batch ein Netzwerklaufwerk zugewiesen und dann Python gestartet und es hat funktioniert. Derzeit ist der Mechanismus so, dass Batch-Dateien regelmäßig ausgeführt werden.
Recommended Posts