Selenium ialah alat yang berkuasa untuk automasi web, membolehkan pembangun berinteraksi dengan halaman web dan melakukan pelbagai tindakan seperti mengklik butang, memasukkan teks dan juga menatal. Dalam artikel ini, kami akan meneroka cara bekerja dengan objek pada halaman web dan mengisi borang menggunakan Selenium dalam Python. Kami akan menyelidiki contoh praktikal, alatan dan teknik untuk mengautomasikan interaksi web dengan berkesan.
Menyediakan Selenium dengan Python
Sebelum kita menyelami kerja dengan objek dan borang, mari mulakan dengan menyediakan Selenium dalam Python. Berikut ialah langkah asas untuk bermula:
Pasang Selenium:
pip install selenium
Muat turun WebDriver: Pastikan anda mempunyai WebDriver yang betul untuk penyemak imbas anda (cth, ChromeDriver untuk Google Chrome).
Untuk memulakan, kita perlu menavigasi ke halaman web. Untuk contoh ini, kami akan menggunakan YouTube.
from selenium import webdriver
# Initialize WebDriver
driver = webdriver.Chrome(executable_path='/path/to/chromedriver')
# Navigate to YouTube
driver.get('https://www.youtube.com')
Berinteraksi dengan Objek pada Halaman
Mencari dan Mengklik Butang
Satu tugas biasa dalam automasi web ialah mengklik butang. Begini cara anda boleh mencari butang dan klik padanya:
# 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()
Mengisi Borang
Seterusnya, mari kita mengisi borang, seperti memasukkan nama pengguna dalam borang log masuk:
# 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()
Mengekstrak Teks dan Atribut
Selenium membolehkan anda mengekstrak teks dan atribut daripada elemen web. Ini boleh berguna untuk pelbagai tugas, seperti mengikis data.
# 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'))
Menatal Halaman
Kadangkala, anda perlu menatal halaman untuk mengakses elemen yang tidak dapat dilihat dengan serta-merta.
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)
Bekerja dengan Pelbagai Elemen
Jika anda perlu berinteraksi dengan berbilang elemen, seperti senarai video, anda boleh menggunakan gelung:
# 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)
Jadual untuk Pemahaman yang Lebih Baik
Untuk menggambarkan pengekstrakan data dengan lebih baik, mari gunakan format jadual.
Tugasan | Coretan Kod |
---|---|
Navigasi ke YouTube | driver.get('https://www.youtube.com') |
Butang Cari | sign_in_button = driver.find_element_by_xpath('//*[@id="buttons"]/ytd-button-renderer/a') |
Klik Butang | sign_in_button.click() |
Isi Borang | username_field.send_keys('your_username') |
Ekstrak Teks | video_title.text |
Ekstrak Atribut | video_title.get_attribute('href') |
Tatal Halaman | html.send_keys(Keys.PAGE_DOWN) |
Pelbagai Elemen | video_titles = driver.find_elements_by_xpath('//*[@id="video-title"]') |
Kesimpulan
Menggunakan Selenium dengan Python untuk automasi web boleh menyelaraskan tugas dengan ketara seperti mengisi borang dan berinteraksi dengan elemen web. Panduan ini merangkumi asas menyediakan Selenium, menavigasi halaman web, mengklik butang, mengisi borang, mengekstrak data dan menatal halaman. Dengan menguasai teknik ini, anda boleh mengautomasikan pelbagai interaksi web, meningkatkan produktiviti dan kecekapan.
Komen (0)
Tiada ulasan di sini lagi, anda boleh menjadi yang pertama!