เข้าสู่ระบบ Facebook โดยใช้ Python: ตัวอย่างการเข้าสู่ระบบ FB
⚡ สรุปอย่างชาญฉลาด
Python สามารถล็อกอินเข้าสู่ Facebook โดยอัตโนมัติโดยใช้ Seleniumเครื่องมืออัตโนมัติสำหรับเบราว์เซอร์ ที่นี่คุณจะได้เรียนรู้วิธีเขียน Selenium สคริปต์ที่เปิดเบราว์เซอร์ ไปยังหน้า Facebook กรอกข้อมูลอีเมลและรหัสผ่าน และคลิกปุ่มเข้าสู่ระบบ
เพื่อเข้าสู่ระบบ Facebook โดยใช้ Pythonต้องใช้ Selenium (เครื่องมืออัตโนมัติของเว็บ) Selenium สามารถควบคุมเบราว์เซอร์อัตโนมัติและคลิก กรอกข้อความ ส่งปุ่มที่ปรากฏบนเว็บไซต์ต่างๆ
วิธีเข้าสู่ระบบ Facebook โดยใช้ Python
ในการเข้าสู่ระบบ Facebook เราจะใช้ Python สคริปต์ที่ขับเคลื่อน Seleniumส่วน Selenium Python สคริปต์จะ
- ขั้นตอนที่ 1) เปิด Firefox
- ขั้นตอนที่ 2) ไปที่ Facebook
- ขั้นตอนที่ 3) ค้นหาและป้อนอีเมลหรือช่องโทรศัพท์และป้อนรหัสผ่าน
- ขั้นตอนที่ 4) คลิกเข้าสู่ระบบ
นี่คือวิดีโอสั้นๆ เกี่ยวกับระบบที่จะใช้งานได้
หมายเหตุ: คุณสามารถกำหนดค่าได้ Selenium เพื่อใช้เบราว์เซอร์ใดๆ เช่น Chrome, Safari, IE เป็นต้น ในบทช่วยสอนนี้ เราจะใช้ FireFox
คุณต้องติดตั้งอะไรบ้าง?
- รับรองว่ามี Selenium ติดตั้งบนพีซีของคุณ อ้างอิงสิ่งนี้ ลิงค์ เพื่อเรียนรู้การติดตั้ง Selenium
- ใช้ นี้ ลิงค์เพื่อติดตั้ง Python สำหรับ Selenium
Code เพื่อเข้าสู่ระบบ Facebook โดยใช้ Python
from selenium import webdriver from selenium.webdriver.support.ui import WebDriverWait # Step 1) Open Firefox browser = webdriver.Firefox() # Step 2) Navigate to Facebook browser.get("http://www.facebook.com") # Step 3) Search & Enter the Email or Phone field & Enter Password username = browser.find_element_by_id("email") password = browser.find_element_by_id("pass") submit = browser.find_element_by_id("loginbutton") username.send_keys("you@email.com") password.send_keys("yourpassword") # Step 4) Click Login submit.click()
คำอธิบายของรหัส
- Code บรรทัด 1: จากโมดูล Selenium นำเข้า webdriver
- Code บรรทัด 2: จากโมดูล Selenium นำเข้าคีย์
- Code บรรทัด 4: ในบรรทัดนี้ เราจะเริ่มต้น “FireFox” โดยการสร้างวัตถุของมัน
- Code บรรทัด 6เมธอด “browser.get” จะนำไปยังหน้าเว็บที่กำหนดโดย URLWebDriver จะรอจนกว่าหน้าเว็บจะโหลดเสร็จสมบูรณ์ (กล่าวคือ เหตุการณ์ "onload" สิ้นสุดลงแล้ว) ก่อนที่จะส่งการควบคุมกลับไปยังการทดสอบหรือสคริปต์ของคุณ
- Code บรรทัด 8:ในบรรทัดนี้ เรากำลังค้นหาองค์ประกอบของกล่องข้อความซึ่งจะต้องเขียน "อีเมล"
- Code บรรทัด 9:ในบรรทัดนี้ เรากำลังค้นหาองค์ประกอบของกล่องข้อความซึ่งจะต้องเขียน “รหัสผ่าน”
- Code บรรทัด 10: ในบรรทัดนี้ เรากำลังค้นหาองค์ประกอบปุ่มส่งที่เราต้องคลิก
- Code บรรทัด 11: ตอนนี้เรากำลังส่งค่าไปยังส่วนอีเมล
- Code บรรทัด 12: การส่งค่าไปยังส่วนรหัสผ่าน
- Code บรรทัดที่ 14: คลิกที่ปุ่ม “ส่ง”
ตัวอย่างเอาท์พุท
ค่าของชื่อผู้ใช้ “guru99” และรหัสผ่านที่ป้อน
เพจ Facebook จะเข้าสู่ระบบด้วยอีเมลและรหัสผ่าน เพจจะเปิดขึ้น (ดูรูปภาพด้านล่าง)
การใช้การรอแบบระบุชัดเจนเพื่อการเข้าสู่ระบบที่เชื่อถือได้
ทันสมัย Selenium 4 แทนที่เมธอดต่างๆ เช่น find_element_by_id ด้วย find_element(By.ID, …) การรวมเมธอดนี้เข้ากับการรอแบบชัดเจนจะทำให้สคริปต์รอให้แต่ละฟิลด์โหลดเสร็จก่อนที่จะโต้ตอบกับฟิลด์นั้น
from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC browser = webdriver.Firefox() browser.get("https://www.facebook.com") wait = WebDriverWait(browser, 10) email = wait.until(EC.presence_of_element_located((By.ID, "email"))) password = browser.find_element(By.ID, "pass") email.send_keys("you@email.com") password.send_keys("yourpassword") browser.find_element(By.ID, "loginbutton").click()
ฟังก์ชัน WebDriverWait จะหยุดรอจนกว่าจะมีการป้อนอีเมล ซึ่งจะช่วยป้องกันข้อผิดพลาดเมื่อหน้าเว็บโหลดช้า
การเรียกใช้สคริปต์ด้วย Chrome
Selenium ใช้งานได้กับทุกเบราว์เซอร์ หากต้องการใช้ Chrome แทน Firefoxเปลี่ยนไดรเวอร์แล้วคงโค้ดส่วนที่เหลือไว้เหมือนเดิม
from selenium import webdriver from selenium.webdriver.common.by import By browser = webdriver.Chrome() browser.get("https://www.facebook.com") browser.find_element(By.ID, "email").send_keys("you@email.com") browser.find_element(By.ID, "pass").send_keys("yourpassword") browser.find_element(By.ID, "loginbutton").click()
แนวทางปฏิบัติที่ดีที่สุดและข้อควรระวัง
- ตั้งค่าระบบอัตโนมัติเฉพาะบัญชีของคุณเอง และปฏิบัติตามข้อกำหนดในการให้บริการของเว็บไซต์
- ห้ามกำหนดรหัสผ่านแบบตายตัวในโค้ด ให้ดึงรหัสผ่านจากตัวแปรสภาพแวดล้อมหรือโปรแกรมจัดการความลับแทน
- การเข้าสู่ระบบจริงอาจต้องจัดการกับแบนเนอร์คุกกี้หรือการยืนยันตัวตนสองขั้นตอน
- สำหรับการผสานรวมเข้ากับระบบการใช้งานจริง ควรเลือกใช้ Facebook Login API อย่างเป็นทางการมากกว่าการทำงานอัตโนมัติผ่านเบราว์เซอร์




