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

Bir Web Sayfasına Gitme

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örevKod Parçacığı
YouTube'a gidindriver.get('https://www.youtube.com')
Bul Düğmesisign_in_button = driver.find_element_by_xpath('//*[@id="buttons"]/ytd-button-renderer/a')
Düğmeye tıklayınsign_in_button.click()
Formu Doldurusername_field.send_keys('your_username')
Metni Çıkartvideo_title.text
Özniteliği Çıkarvideo_title.get_attribute('href')
Sayfayı Kaydırhtml.send_keys(Keys.PAGE_DOWN)
Çoklu Öğelervideo_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!

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir


Proxy Seçin ve Satın Alın

Veri Merkezi Proxyleri

Dönen Proxyler

UDP Proxyleri

Dünya Çapında 10.000'den Fazla Müşterinin Güvendiği

Vekil Müşteri
Vekil Müşteri
Vekil Müşteri flowch.ai
Vekil Müşteri
Vekil Müşteri
Vekil Müşteri