Автор оригинала: 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 быстро!