Files
DBAdmin/inbox/Python/p.py
T
2026-05-18 06:40:19 +00:00

78 lines
2.8 KiB
Python

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()