在我的脚本执行并完成后,Chrome窗口关闭。我希望Chrome窗口在脚本结束时保持打开状态。
下面是我的代码:
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.chrome.options import Options
import time
import keyboard
# Datei mit Anmeldedaten (pro Zeile: Benutzername:Passwort)
credentials_file = "anmeldedaten.txt"
# URL für die Anmeldung
login_url = "https://spotify.com/en/login"
# URL der Webseite, auf der der Song abgespielt werden soll
webpage_url = "https://open.spotify.com/intl-de/track/2QyxM5FQLfIApmfeNikEli?si=4fee9599f1da45cd"
# Lade die Anmeldedaten aus der Datei
with open(credentials_file, "r") as file:
username, password = file.readline().strip().split(":")
time.sleep(2)
# Funktion zur Anmeldung auf der Webseite
def login(driver):
driver.get(login_url)
# Füllen Sie hier die Anmeldedaten aus und klicken Sie auf den Anmelde-Button
time.sleep(4)
username_input = driver.find_element(By.CSS_SELECTOR, "input#login-username")
password_input = driver.find_element(By.CSS_SELECTOR, "input#login-password")
username_input.send_keys(username)
password_input.send_keys(password)
driver.find_element(By.CSS_SELECTOR, "button[data-testid='login-button']").click()
driver.maximize_window()
time.sleep(3)
# Funktion zum Öffnen des Songs und Abspielen
def open_and_play_song(driver):
driver.get(webpage_url)
wait = WebDriverWait(driver, 10) # Wartezeit von 10 Sekunden
keyboard.press_and_release('esc')
time.sleep(5)
try:
cookie = driver.find_element(By.XPATH, "//button[text()='Cookies akzeptieren']")
cookie.click()
except NoSuchElementException:
try:
button = driver.find_element(By.XPATH, "//button[contains(@class,'onetrust-close-btn-handler onetrust-close-btn-ui')]")
button.click()
except NoSuchElementException:
time.sleep(delay2)
time.sleep(4)
# Hier könnten Sie den Abspiel-Button lokalisieren und klicken
playmusic_xpath = "(//button[@data-testid='play-button']//span)[3]"
playmusic = driver.find_element(By.XPATH, playmusic_xpath)
playmusic.click()
# Chrome-Optionen für den Headless-Modus
chrome_options = Options()
chrome_options.add_argument("--disable-gpu") # Notwendig, um GPU-Beschleunigung im Headless-Modus zu deaktivieren
# Sitzung erstellen und anmelden
driver = webdriver.Chrome(options=chrome_options)
login(driver)
time.sleep(2) # Warten Sie, bis die Anmeldung abgeschlossen ist
open_and_play_song(driver)
time.sleep(2) # Warten Sie, bis die Seite geladen ist`
我希望Chrome窗口在我的脚本执行后保持打开状态。
2条答案
按热度按时间rmbxnbpk1#
以下是两种在脚本到达结尾后保持浏览器打开的方法。
1.通过以下选项将浏览器从chromedriver中分离:
1.添加断点:
或者是简化版的
要从断点继续,请在控制台中键入
c
并按Enter键。xtupzzrd2#
包括此Chrome_option,您工作就完成了。