Selenium, geliştiricilerin web sayfalarıyla etkileşime girmesine ve düğmelere tıklama, metin girme ve hatta kaydırma gibi çeşitli eylemleri gerçekleştirmesine olanak tanıyan güçlü bir web otomasyonu aracıdır. Bu makalede Python'da Selenium kullanarak bir web sayfasındaki nesnelerle nasıl çalışılacağını ve formların nasıl doldurulacağını keşfedeceğiz. Web etkileşimlerini etkili bir şekilde otomatikleştirmek için pratik örnekleri, araçları ve teknikleri inceleyeceğiz.
Python ile Selenyum Kurulumu
Nesneler ve formlarla çalışmaya başlamadan önce Python'da Selenium'u kurmaya başlayalım. Başlamak için temel adımlar şunlardır:
Selenyum'u yükleyin:
pip install selenium
WebDriver'ı indirin: Tarayıcınız için doğru WebDriver'a sahip olduğunuzdan emin olun (örneğin, Google Chrome için ChromeDriver).
Başlamak için bir web sayfasına gitmemiz gerekiyor. Bu örnek için YouTube'u kullanacağız.
from selenium import webdriver
# Initialize WebDriver
driver = webdriver.Chrome(executable_path='/path/to/chromedriver')
# Navigate to YouTube
driver.get('https://www.youtube.com')
Sayfadaki Nesnelerle Etkileşim Kurma
Bir Düğmeyi Bulma ve Tıklama
Web otomasyonundaki yaygın görevlerden biri bir düğmeye tıklamaktır. Bir düğmeyi şu şekilde bulabilir ve tıklayabilirsiniz:
# 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()
Formları doldurmak
Daha sonra, giriş formuna kullanıcı adı girmek gibi bir form dolduralım:
# 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()
Metin ve Niteliklerin Çıkarılması
Selenyum, web öğelerinden metin ve öznitelikler çıkarmanıza olanak tanır. Bu, verileri kazımak gibi çeşitli görevler için yararlı olabilir.
# 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'))
Sayfayı Kaydırma
Bazen hemen görünmeyen öğelere erişmek için sayfayı kaydırmanız gerekir.
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)
Çoklu Öğelerle Çalışmak
Video listesi gibi birden fazla öğeyle etkileşime girmeniz gerekiyorsa bir döngü kullanabilirsiniz:
# 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)
Daha İyi Anlaşılması İçin Tablolar
Veri çıkarma işlemini daha iyi görselleştirmek için bir tablo formatı kullanalım.
Görev | Kod Parçacığı |
---|---|
YouTube'a gidin | driver.get('https://www.youtube.com') |
Bul Düğmesi | sign_in_button = driver.find_element_by_xpath('//*[@id="buttons"]/ytd-button-renderer/a') |
Düğmeye tıklayın | sign_in_button.click() |
Formu Doldur | username_field.send_keys('your_username') |
Metni Çıkart | video_title.text |
Özniteliği Çıkar | video_title.get_attribute('href') |
Sayfayı Kaydır | html.send_keys(Keys.PAGE_DOWN) |
Çoklu Öğeler | video_titles = driver.find_elements_by_xpath('//*[@id="video-title"]') |
Sonuç
Selenium'u Python ile web otomasyonu için kullanmak, form doldurma ve web öğeleriyle etkileşim kurma gibi görevleri önemli ölçüde kolaylaştırabilir. Bu kılavuz Selenium'u kurmanın, web sayfalarında gezinmenin, düğmelere tıklamanın, form doldurmanın, veri çıkarmanın ve sayfaları kaydırmanın temellerini kapsıyordu. Bu tekniklere hakim olarak, çok çeşitli web etkileşimlerini otomatikleştirerek üretkenliği ve verimliliği artırabilirsiniz.
Yorumlar (0)
Burada henüz yorum yok, ilk siz olabilirsiniz!