Seleen on võimas veebiautomaatika tööriist, mis võimaldab arendajatel veebilehtedega suhelda ja teha erinevaid toiminguid, nagu nuppude klõpsamine, teksti sisestamine ja isegi kerimine. Selles artiklis uurime, kuidas töötada veebilehel olevate objektidega ja täita vorme Pythonis Seleniumi abil. Tutvume praktiliste näidete, tööriistade ja tehnikatega, et tõhusalt automatiseerida veebisuhtlust.

Seleeni seadistamine Pythoniga

Enne kui sukeldume objektide ja vormidega töötamisse, alustame seleeni seadistamisega Pythonis. Siin on peamised sammud alustamiseks.

Installige Selenium:

pip install selenium

Laadige alla WebDriver: Veenduge, et teil oleks oma brauseri jaoks õige WebDriver (nt ChromeDriver Google Chrome'i jaoks).

Veebilehele navigeerimine

Alustuseks peame navigeerima veebilehele. Selle näite jaoks kasutame YouTube'i.

from selenium import webdriver

# Initialize WebDriver
driver = webdriver.Chrome(executable_path='/path/to/chromedriver')

# Navigate to YouTube
driver.get('https://www.youtube.com')

Lehel olevate objektidega suhtlemine

Nupu leidmine ja klõpsamine

Üks levinud ülesanne veebiautomaatikas on nupule klõpsamine. Nupu leidmiseks ja sellel klõpsamiseks tehke järgmist.

# Find the sign-in button by its XPath
sign_in_button = driver.find_element_by_xpath('//*[@id="buttons"]/ytd-button-renderer/a')

# Click the button
sign_in_button.click()

Vormide täitmine

Järgmisena täidame vormi, näiteks sisestame sisselogimisvormi kasutajanime:

# Find the username input field
username_field = driver.find_element_by_xpath('//*[@id="identifierId"]')

# Enter text into the username field
username_field.send_keys('your_username')

# Find and click the next button
next_button = driver.find_element_by_xpath('//*[@id="identifierNext"]/div/button')
next_button.click()

Teksti ja atribuutide eraldamine

Seleen võimaldab ekstraheerida veebielementidest teksti ja atribuute. See võib olla kasulik mitmesuguste toimingute jaoks, näiteks andmete kraapimiseks.

# Find a video title
video_title = driver.find_element_by_xpath('//*[@id="video-title"]')

# Extract and print the text
print(video_title.text)

# Extract and print an attribute
print(video_title.get_attribute('href'))

Lehekülje kerimine

Mõnikord peate lehte kerima, et pääseda juurde elementidele, mis pole kohe nähtavad.

from selenium.webdriver.common.keys import Keys

# Scroll down the page
html = driver.find_element_by_tag_name('html')
html.send_keys(Keys.PAGE_DOWN)

Mitme elemendiga töötamine

Kui teil on vaja suhelda mitme elemendiga, näiteks videote loendiga, saate kasutada silmust.

# Find all video titles on the page
video_titles = driver.find_elements_by_xpath('//*[@id="video-title"]')

# Print the titles of all videos
for title in video_titles:
    print(title.text)

Tabelid paremaks mõistmiseks

Andmete ekstraheerimise paremaks visualiseerimiseks kasutame tabelivormingut.

ÜlesanneKoodilõik
Navigeerige YouTube'idriver.get('https://www.youtube.com')
Otsi nuppsign_in_button = driver.find_element_by_xpath('//*[@id="buttons"]/ytd-button-renderer/a')
Klõpsake nuppu Nuppsign_in_button.click()
Täitke vormusername_field.send_keys('your_username')
Ekstrakti tekstvideo_title.text
Ekstrakti atribuutvideo_title.get_attribute('href')
Kerige lehtehtml.send_keys(Keys.PAGE_DOWN)
Mitu elementivideo_titles = driver.find_elements_by_xpath('//*[@id="video-title"]')

Kokkuvõte

Seleniumi kasutamine Pythoniga veebi automatiseerimiseks võib oluliselt lihtsustada selliseid toiminguid nagu vormide täitmine ja veebielementidega suhtlemine. See juhend käsitles Seleeni seadistamise, veebilehtedel navigeerimise, nuppude klõpsamise, vormide täitmise, andmete ekstraktimise ja lehtede kerimise põhitõdesid. Neid tehnikaid valdades saate automatiseerida mitmesuguseid veebipõhiseid suhtlusi, suurendades tootlikkust ja tõhusust.

Kommentaarid (0)

Siin pole veel kommentaare, võite olla esimene!

Lisa kommentaar

Sinu e-postiaadressi ei avaldata. Nõutavad väljad on tähistatud *-ga


Vali ja osta proxy

Andmekeskuse proksid

Pöörlevad proksid

UDP Proxy'd

Usaldab üle 10 000 kliendi kogu maailmas

Puhverklient
Puhverklient
Puhverklient flowch.ai
Puhverklient
Puhverklient
Puhverklient