使用 Facebook 登录 Python: FB 登录示例
⚡ 智能摘要
Python 可以使用以下方式自动登录 Facebook Selenium一个浏览器自动化工具。在这里你将学习如何编写一个 Selenium 脚本会打开浏览器,导航到 Facebook,填写电子邮件和密码字段,然后点击登录。

使用以下方式登录 Facebook Python,你需要使用 Selenium (一种网络自动化工具)。 Selenium 可以自动化控制浏览器并点击、填充文本、提交各个网站上出现的按钮。
如何使用 Python
要登录 Facebook,我们将使用 Python 脚本驱动 Selenium。 该 Selenium Python 脚本将
- 步骤 1) 打开 Firefox
- 步骤 2)导航到 Facebook
- 步骤 3)搜索并输入电子邮件或电话字段并输入密码
- 步骤4)点击登录
这是有关该系统工作原理的简短视频。
注意:您可以配置 Selenium 使用任何浏览器,如 Chrome、Safari、IE 等。在本教程中,我们将使用 FireFox
您需要安装什么?
- 确保你有 Selenium 已安装在您的电脑上。请参阅此 链接 学习安装 Selenium
- 绝大部分储备使用 Free Introduction 安装链接 Python HPMC胶囊 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 模块导入 Keys
- 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()
最佳实践和注意事项
- 仅自动化您自己的帐户,并遵守网站的服务条款。
- 永远不要将密码硬编码到程序中;要从环境变量或密钥管理器中读取密码。
- 真正的登录可能需要处理 cookie 横幅或双因素身份验证。
- 对于生产环境集成,建议优先使用官方的 Facebook 登录 API,而不是浏览器自动化。



