May 17, 2026, 11:40 PM
This commit is contained in:
@@ -0,0 +1,77 @@
|
||||
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()
|
||||
Reference in New Issue
Block a user