Рубрики
Без рубрики

Использование Selenium в Python для автоматизации входа в Facebook

Всем привет! В современной статье мы смотрим на использование Python, чтобы автоматически войти в Facebook.

Автор оригинала: Pankaj Kumar.

Использование Selenium в Python для автоматизации входа в Facebook

Всем привет! В современной статье мы смотрим на использование Python, чтобы автоматически войти в Facebook.

Это будет веселый эксперимент, который приведет вас к автоматизации веб-браузера, используя веб-драйвер Selenium Python. Итак, давайте отправимся прямо в тему и создайте сценарий, который посетит страницу Facebook, введите учетные данные и войти в систему!

Предпосылки

Теперь, прежде чем идти, хотя этот учебник вам нужно будет установить определенные библиотеки в Python. Эти библиотеки сделают это очень легко для входа в браузер.

Мы будем использовать Селен Модуль Webdriver в Python. Этот модуль позволяет нам управлять нашим веб-браузером (Chrome/Firefox) с использованием программы драйвера.

Но, чтобы использовать Selenium вместе с нашим браузером, нам нужно будет установить драйверы для этого браузера (Chrome/Firefox). Чтобы установить их, мы возьмем помощь другого модуля Python: webdriver_manager

Вместо того, чтобы загрузка Webdriver Selenium вручную вы можете просто импортировать этот модуль! Это автоматически принесет все требования для вас.

Так что теперь, давайте PIP Установить необходимые пакеты, использующие Пип управляющий делами:

pip install selenium
pip install webdriver_manager

Теперь, когда мы установили наши требования, давайте начнем написать код!

Написание нашего сценария для автоматизации входа в Facebook

Давайте сначала импортируем необходимые модули. Нам понадобится Селен а также webdriver_manager Отказ

from selenium import webdriver
from webdriver_manager.firefox import GeckoDriverManager
from webdriver_manager.chrome import ChromeDriverManager
import time

Здесь мне нужен WebDriver Класс основного модуля селена. Кроме того, поскольку мы будем использовать его с Firefox/Chrome, нам нужно будет загрузить необходимые веб-передачи.

Теперь мы будем использовать URL ниже, чтобы войти:

LOGIN_URL = 'https://www.facebook.com/login.php'

Теперь мы реализуем функциональность входа в систему в качестве класса. Давайте назовем это FacebookLogin Отказ

Когда мы называем __init __ () , мы инициализируем сеанс селена Webdriver. Нам нужно отправить поля электронной почты и пароля на нашу сессию WebDriver, поэтому мы возьмем их в качестве ввода.

Наконец, мы получим Login_url с запросом Get от Webdriver.

class FacebookLogin():
    def __init__(self, email, password, browser='Chrome'):
        # Store credentials for login
        self.email = email
        self.password = password
        if browser == 'Chrome':
            # Use chrome
            self.driver = webdriver.Chrome(executable_path=ChromeDriverManager().install())
        elif browser == 'Firefox':
            # Set it to Firefox
            self.driver = webdriver.Firefox(executable_path=GeckoDriverManager().install())
        self.driver.get(LOGIN_URL)
        time.sleep(1) # Wait for some time to load

Хорошо, теперь мы инициализировали экземпляр класса. Теперь, чтобы войти, мы создадим другой метод под названием Войти () сделать это для нас.

Для входа в систему нам нужно будет дать ввод элементы входа в систему ( Email и Pass на странице HTML)

Селен имеет find_element_by_id () Метод, который автоматически найдет соответствующий элемент для вас!

Чтобы отправить ввод клавиатуры, мы можем использовать element.send_keys (вход) напрямую!

    def login(self):
        email_element = self.driver.find_element_by_id('email')
        email_element.send_keys(self.email) # Give keyboard input

        password_element = self.driver.find_element_by_id('pass')
        password_element.send_keys(self.password) # Give password as input too

        login_button = self.driver.find_element_by_id('loginbutton')
        login_button.click() # Send mouse click

        time.sleep(2) # Wait for 2 seconds for the page to show up

Обратите внимание, насколько просто API! Мы можем напрямую сделать element.send_keys () и element.click () !

Наконец, дайте программу некоторое время для загрузки веб-страницы, используя time.sleep ()

Я дам вам полный код ниже. Просто обязательно используйте свои правильные учетные данные входа в Главная модуль.

from selenium import webdriver
from webdriver_manager.firefox import GeckoDriverManager
from webdriver_manager.chrome import ChromeDriverManager
import time


LOGIN_URL = 'https://www.facebook.com/login.php'

class FacebookLogin():
    def __init__(self, email, password, browser='Chrome'):
        # Store credentials for login
        self.email = email
        self.password = password
        if browser == 'Chrome':
            # Use chrome
            self.driver = webdriver.Chrome(executable_path=ChromeDriverManager().install())
        elif browser == 'Firefox':
            # Set it to Firefox
            self.driver = webdriver.Firefox(executable_path=GeckoDriverManager().install())
        self.driver.get(LOGIN_URL)
        time.sleep(1) # Wait for some time to load



    def login(self):
        email_element = self.driver.find_element_by_id('email')
        email_element.send_keys(self.email) # Give keyboard input

        password_element = self.driver.find_element_by_id('pass')
        password_element.send_keys(self.password) # Give password as input too

        login_button = self.driver.find_element_by_id('loginbutton')
        login_button.click() # Send mouse click

        time.sleep(2) # Wait for 2 seconds for the page to show up


if __name__ == '__main__':
    # Enter your login credentials here
    fb_login = FacebookLogin(email='sample@example.com', password='PASSWORD', browser='Firefox')
    fb_login.login()

Надеюсь, ваш браузер будет показывать вашу домашнюю страницу сейчас. Ура, вы успешно вошли в Facebook!

Заключение

В этой статье мы узнали об использовании Python и Selenium для автоматизации регистрации на Facebook быстро!