Cách tạo tool auto

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!

Cách tạo tool auto

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

Cách tạo tool auto

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

Cách tạo tool auto

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:

Cách tạo tool auto

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:

Cách tạo tool auto

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 :

fromselenium.webdriver.commonimportkeys

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!