Chào các bạn thì phần trước mình đã chia sẻ về selenium cách sử dụng sơ qua về Selenium. Hôm nay mình mình sẽ tiếp tục seri Selenium và cách làm tool cơ bản, trong phần hôm nay mình sẽ hướng dẫn cách làm tool auto đăng bài lên trang cá nhân facebook của mình. Tiến hành làm àm tool auto đăng bài nào!

I. Các bước thực hiện

B1 : Cài đặt Selenium như bài trước : https://hongtin.net/laptrinh/laptrinh-python/selenium-la-gi-va-cach-dung-selenium-python-selenium-va-cach-lam-tool-co-ban/

B2 : xóa hết code file main.py trong bài trước và thay bằng code sau :

import time
from selenium import webdriver
from selenium.webdriver.common import keys
import time
class Login:
    def __init__(self):
        self.driver = webdriver.Chrome("chromedriver.exe")
    def login_fb(self,emails,passs):
        self.driver.get("https://mbasic.facebook.com/")
        email = self.driver.find_element_by_name("email")
        pasw = self.driver.find_element_by_name("pass")
        email.send_keys(emails)
        pasw.send_keys(passs)
        button = self.driver.find_element_by_name("login")
        button.click()
        time.sleep(5)
        return self.driver
class Auto_post:
    def __init__(self):
        self.driver = None
    def auto_post(self,driver,text):
        ms = driver.find_element_by_name("xc_message")
        button = driver.find_element_by_name("view_post")
        ms.send_keys(text)
        button.click()
        time.sleep(3)
        return driver
new_login = Login()
driver = new_login.login_fb("emai đăng nhập","mật khẩu facebook của bạn")
driver.get("https://mbasic.facebook.com")
new_post = Auto_post()
text = "Nội dung cần đăng"
driver = new_post.auto_post(driver,text)
driver.quit()
print("dang bai thanh cong")

Các bạn thay mật khẩu và email đăng nhập facebook của mình vào , với nội dung cần đăng.

Nói chung cách làm y bài trước chỉ thay code file main.py thôi !

Nhắc lại lần nữa link bài trước : https://hongtin.net/laptrinh/laptrinh-python/selenium-la-gi-va-cach-dung-selenium-python-selenium-va-cach-lam-tool-co-ban/

Chúng ta đã có file main như thế này!

file main.py

B3 : Tiến hành chạy code bằng lệnh : python main.py

Chúng ta sẽ được kết quả như hình.

II. Giải mã cách thực hiện

Chúng ta cùng đi giải mã vì sao chúng ta lại code như vậy!

Đầu tiên các bạn truy cập mbasic.facebook.com bằng tab ẩn danh và ấn F12 sau đó chọn kiểm tra form đăng nhập chúng ta sẽ nhìn thấy như sau:

Bạn sẽ thấy thẻ input có name = email. chúng ta sẽ có cách auto điền cái này. Bằng cách tìm kiếm nó với tên bằng hàm find_element_by_name(“tên thẻ”). Và auto điền với hàm send_keys(“nội dung cần điền”). Áp dung vào code như sau:

email = self.driver.find_element_by_name("email")
pasw = self.driver.find_element_by_name("pass")
email.send_keys(emails)
pasw.send_keys(passs)

Các bạn để ý cái nút click đăng nhập là 1 thẻ button có name là “login”:

Tương tự các bạn sẽ tìm thẻ button, sau đó để click vào nó thì các bạn chỉ đơn giản dùng hàm click(). Áp dụng vào bài như sau:

button = self.driver.find_element_by_name("login")
button.click()

Sau khi các bạn đăng nhập thì tải lại trang facebook để thoát checkpoint. Sẽ xuất hiện khung đăng. Nói tóm lại là cách login với cách đăng như nhau.

** Chú ý để sài hàm send_keys các bạn import thư viện như sau :

from selenium.webdriver.common import keys

III. Tổng Kết

Tool cực đơn giản này yêu cầu bạn có 1 xíu kiến thứ html để tìm ra name hoặc class name … của thẻ cần click hay gửi giá trị cho nó. Cũng không phức tạp lắm phải không các bạn.

Các bạn nào hỏi file main.py đâu ra thì vui lòng xem lại bài trước nha!

Các bạn có thể tham gia group học python cơ bản tại link :

https://www.facebook.com/groups/pythoncoban

Hoặc follow mình để biết nhiều project hay tại link facebook:

https://www.facebook.com/sonnguyen16032000/

Và cũng có thể tham gia group hongtin để tìm hiểu các project hay hoặc hỏi các vấn đề về code nhé !

https://www.facebook.com/groups/164371998723215

Chào tạm biệt và hẹn gặp lại các bạn trong bài sau của Seri nha!