跳到主要内容

เนื้อหาภาษาไทย / 泰语内容

系统指南 内容已审核

การติดตั้งและใช้งาน Selenium

Selenium ซึ่งเป็นเครื่องมือที่ช่วยในการทดสอบเว็บไซต์และเว็บแอปพลิเคชันแบบอัตโนมัติ โดย Selenium รองรับการใช้งานกับหลายภาษา เช่น Python, Java, และ JavaScript และ...

1. การติดตั้ง Selenium และ WebDriver

1.1 การติดตั้ง Selenium ผ่าน Python

Selenium สามารถติดตั้งได้ง่ายๆ ผ่าน pip สำหรับผู้ใช้ภาษา Python

  1. เปิด Command Prompt หรือ Terminal
  2. รันคำสั่งเพื่อติดตั้ง Selenium:
pip install selenium

1.2 การดาวน์โหลด WebDriver สำหรับเบราว์เซอร์

WebDriver คือโปรแกรมที่ช่วยให้ Selenium ควบคุมเบราว์เซอร์ได้ ในที่นี้จะแนะนำการใช้งาน WebDriver สำหรับเบราว์เซอร์ที่ใช้บ่อย

  • Chrome WebDriver (ChromeDriver):
    1. เข้าไปที่เว็บไซต์ https://sites.google.com/a/chromium.org/chromedriver/downloads
    2. ดาวน์โหลด ChromeDriver เวอร์ชันที่ตรงกับเวอร์ชันของ Chrome ที่ใช้อยู่
    3. แตกไฟล์และเก็บไว้ในโฟลเดอร์ที่จำง่าย เช่น C:\WebDriver\
  • Firefox WebDriver (GeckoDriver):
    1. เข้าไปที่เว็บไซต์ https://github.com/mozilla/geckodriver/releases
    2. ดาวน์โหลด GeckoDriver เวอร์ชันที่ตรงกับเวอร์ชันของ Firefox ที่ใช้อยู่
    3. แตกไฟล์และเก็บไว้ในโฟลเดอร์ที่จำง่าย เช่น C:\WebDriver\

หมายเหตุ: ควรเพิ่มที่อยู่ของ WebDriver ลงใน PATH ของระบบเพื่อให้สามารถเรียกใช้งานได้ง่ายขึ้น


2. การตั้งค่าและเริ่มต้นใช้งาน Selenium กับ Python

2.1 การเขียนโปรแกรมเพื่อควบคุมเบราว์เซอร์

เมื่อเตรียม Selenium และ WebDriver เสร็จแล้ว สามารถเริ่มเขียนโปรแกรมควบคุมเบราว์เซอร์ได้ ตัวอย่างต่อไปนี้จะเป็นการใช้ Python ควบคุมเบราว์เซอร์ Chrome

ตัวอย่างการเปิดเว็บไซต์ด้วย Selenium

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys

# สร้าง instance ของ Chrome WebDriver
driver = webdriver.Chrome(executable_path="C:/WebDriver/chromedriver.exe")

# เปิดเว็บไซต์ Google
driver.get("https://www.google.com")

# ค้นหาข้อความใน Google
search_box = driver.find_element(By.NAME, "q")
search_box.send_keys("Selenium Python")
search_box.send_keys(Keys.RETURN)

# ปิดเบราว์เซอร์
driver.quit()

ในตัวอย่างนี้:

  • driver.get() ใช้เพื่อเปิด URL ที่ต้องการ
  • find_element() ใช้ในการค้นหาองค์ประกอบของเว็บ เช่น ช่องค้นหา
  • send_keys() ใช้พิมพ์ข้อความลงในช่องค้นหา
  • driver.quit() ใช้เพื่อปิดเบราว์เซอร์เมื่อทำงานเสร็จสิ้น

2.2 การรอ (Wait) เพื่อจัดการกับองค์ประกอบที่โหลดช้า

Selenium มีฟังก์ชันที่ช่วยรอการโหลดของเว็บเพจ เช่น Explicit Wait หรือ Implicit Wait เพื่อให้การทำงานเป็นไปอย่างราบรื่น

ตัวอย่างการใช้ Explicit Wait

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

driver = webdriver.Chrome(executable_path="C:/WebDriver/chromedriver.exe")
driver.get("https://www.example.com")

try:
    element = WebDriverWait(driver, 10).until(
        EC.presence_of_element_located((By.ID, "myElementId"))
    )
finally:
    driver.quit()

ในตัวอย่างนี้:

  • WebDriverWait รอจนกว่าจะพบองค์ประกอบที่ต้องการโดยกำหนดเวลา 10 วินาที

3. การใช้งาน Selenium ในโปรเจกต์จริง

Selenium มีการใช้งานอย่างกว้างขวางในการทดสอบเว็บไซต์ เช่น การทดสอบการทำงานของฟอร์ม การคลิกปุ่ม การกรอกข้อมูล และการยืนยันผลลัพธ์ ซึ่งช่วยลดข้อผิดพลาดและเพิ่มประสิทธิภาพในการพัฒนาเว็บแอปพลิเคชัน

3.1 ตัวอย่างการใช้งาน Selenium สำหรับทดสอบการล็อกอินเว็บไซต์

Selenium สามารถใช้เพื่อทดสอบการล็อกอินโดยอัตโนมัติ และตรวจสอบว่าผู้ใช้สามารถเข้าสู่ระบบได้หรือไม่

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys

driver = webdriver.Chrome(executable_path="C:/WebDriver/chromedriver.exe")
driver.get("https://example.com/login")

# ใส่ชื่อผู้ใช้
username_input = driver.find_element(By.ID, "username")
username_input.send_keys("myusername")

# ใส่รหัสผ่าน
password_input = driver.find_element(By.ID, "password")
password_input.send_keys("mypassword")

# คลิกปุ่มล็อกอิน
login_button = driver.find_element(By.ID, "loginButton")
login_button.click()

# ตรวจสอบว่ามีข้อความแสดงว่าเข้าสู่ระบบสำเร็จ
try:
    success_message = driver.find_element(By.CLASS_NAME, "welcomeMessage")
    print("Login successful!")
except:
    print("Login failed.")

driver.quit()

ในตัวอย่างนี้:

  • Selenium จำลองการกรอกข้อมูลและคลิกปุ่มเพื่อทดสอบการล็อกอินโดยอัตโนมัติ
  • ตรวจสอบว่าเข้าสู่ระบบสำเร็จหรือไม่โดยค้นหาองค์ประกอบที่แสดงข้อความยืนยันการเข้าสู่ระบบ
Office.in.th Custom Service

想基于此结构开发或定制系统?

Office.in.th 承接企业级 Web Application、API Integration 以及政府/企业管理系统的设计与开发,并提供长期支持。

查看软件开发服务