66 lines
2.8 KiB
Python
66 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
|
|
|
|
|
|
# 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
|
|
with open('links.csv', mode='a', newline='', encoding='utf-8') as file:
|
|
writer = csv.writer(file, delimiter=';')
|
|
|
|
if file.tell() == 0:
|
|
writer.writerow(['Link'])
|
|
# Przejdź do konkretnej strony narzędzia
|
|
driver.get("https://edu.gotoit.pl/index.php/narzedzia-i-kursy-marketingowe-z-ai-atlas-promptow-agenci/")
|
|
# 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
|
|
etapy = driver.find_elements(By.CLASS_NAME, 'etapy_kursu')
|
|
for etap in etapy:
|
|
wiersze = etap.find_elements(By.TAG_NAME, 'a')
|
|
for sub_element in wiersze:
|
|
writer.writerow([sub_element.get_attribute('href')])
|
|
print(sub_element.get_attribute('href'))
|
|
|
|
|
|
#wiersze = element.find_elements(By.TAG_NAME, 'li')
|
|
#for sub_element in wiersze:
|
|
# print(sub_element.text)
|
|
|
|
|
|
finally:
|
|
# Zamknij przeglądarkę
|
|
driver.quit()
|
|
#https://www.notion.so/netgonet/Polecane-narz-dzia-dla-Tw-rc-w-stron-www-a97cc65cad5045d3abb3f14550a74425 |