from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys from selenium.webdriver.chrome.service import Service from selenium.webdriver.chrome.options import Options import time import csv import pandas as pd df = pd.read_csv('links.csv', delimiter=';') # Konfiguracja opcji dla przeglądarki Chrome (opcjonalnie) chrome_options = Options() chrome_options.add_argument("--headless") # Działa w tle, bez GUI chrome_options.add_argument("--disable-gpu") # Wymagane w trybie headless w systemie Windows chrome_options.add_argument("--no-sandbox") # Wymagane w systemie Linux chrome_options.add_argument("--disable-dev-shm-usage") # Zmniejsza zużycie zasobów # Ścieżka do chromedriver service = Service(executable_path='./chromedriver.exe') # Inicjalizacja przeglądarki driver = webdriver.Chrome(service=service, options=chrome_options) try: # Otwórz stronę logowania driver.get("https://edu.gotoit.pl/index.php/logowanie") # Znajdź pola logowania i wprowadź dane username_field = driver.find_element(By.ID, 'user_login') # Zaktualizuj selektor, jeśli to konieczne password_field = driver.find_element(By.ID, 'user_pass') # Zaktualizuj selektor, jeśli to konieczne # Wprowadź dane logowania (upewnij się, że używasz właściwych danych) username_field.send_keys('pawel.domanski@outlook.com') password_field.send_keys('sisuCeqExO') # Wyślij formularz password_field.send_keys(Keys.RETURN) # Poczekaj chwilę, aby upewnić się, że logowanie się powiodło time.sleep(3) # Możesz dostosować czas oczekiwania w zależności od szybkości działania strony for index, row in df.iterrows(): print(row['Link']) # Przejdź do konkretnej strony narzędzia driver.get(row['Link']) # Poczekaj chwilę, aby strona się w pełni załadowała time.sleep(2) # Możesz dostosować czas oczekiwania # Zczytaj wartość elementu wpi-page-title title_element = driver.find_element(By.CLASS_NAME, 'wpi-page-title') title_text = title_element.text # Wyświetl wynik print(f"wpi-page-title: {title_text}") prompts = driver.find_element(By.ID, 'prompts-container') elements = prompts.find_elements(By.TAG_NAME, 'code') # Wyświetl wynik with open('code_elements.csv', mode='a', newline='', encoding='utf-8') as file: writer = csv.writer(file, delimiter=';') #Dodaj nagłówki, jeśli potrzebne if file.tell() == 0: writer.writerow(['Code Content', 'Paragraph Content']) for element in elements[::1]: print("Zapis do pliku") writer.writerow([title_text,element.text]) finally: # Zamknij przeglądarkę driver.quit()