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).
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.
Ülesanne | Koodilõik |
---|---|
Navigeerige YouTube'i | driver.get('https://www.youtube.com') |
Otsi nupp | sign_in_button = driver.find_element_by_xpath('//*[@id="buttons"]/ytd-button-renderer/a') |
Klõpsake nuppu Nupp | sign_in_button.click() |
Täitke vorm | username_field.send_keys('your_username') |
Ekstrakti tekst | video_title.text |
Ekstrakti atribuut | video_title.get_attribute('href') |
Kerige lehte | html.send_keys(Keys.PAGE_DOWN) |
Mitu elementi | video_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!