使用 Facebook 登录 Python: FB 登录示例

⚡ 智能摘要

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

  • 🌐 Selenium: Selenium 自动操控真实浏览器填写表单和点击按钮。
  • 🦊 打开浏览器: 网络驱动程序。Firefox() 或 Chrome() 会从浏览器启动。 Python.
  • 🔎 查找字段: find_element(By.ID, …) 定位电子邮件、密码和登录按钮。
  • ⌨️ 填写并提交: send_keys() 会输入文本,click() 会提交登录表单。
  • 🤖 人工智能帮助: 像 Copilot 这样的 AI 工具会生成 Selenium 立即运行自动化脚本。

使用 Facebook 登录 Python

使用以下方式登录 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()

使用 Facebook 登录 Python

代码说明

  • 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 登录 Python

Facebook 页面将使用电子邮件和密码登录。页面已打开(见下图)

使用 Facebook 登录 Python

使用显式等待实现可靠登录

现代 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,而不是浏览器自动化。

常见问题

绝大部分储备使用 Selenium 使用 WebDriver 打开浏览器。Firefox(),导航到 Facebook,通过 ID 找到电子邮件和密码字段,使用 send_keys() 输入您的凭据,然后单击登录按钮。

你需要 Python, Selenium 库,以及像 GeckoDriver 这样的浏览器驱动程序 Firefox 或者使用 ChromeDriver(适用于 Chrome)。安装 Selenium 使用 pip 安装 selenium。

Selenium 通过 HTML id 定位元素。 Selenium 4,使用 find_element(By.ID, 'email') 查找电子邮件框,对密码和登录按钮使用类似的调用。

使用 WebDriverWait 显式等待暂停,直到元素加载完毕。 Selenium 与之交互。这可以防止 Facebook 页面加载缓慢或元素延迟显示时出现错误。

您可以使用官方的 Facebook 登录 API 从您的应用程序进行身份验证。对于生产环境集成而言,它比浏览器自动化更稳定、更安全。

GitHub Copilot 等 AI 助手提供的自动补全功能 Selenium 输入时,即可调用、生成定位器和等待,并将描述的流程转换为可运行的浏览器自动化脚本。

是的。人工智能工具可以自动生成 Selenium 脚本建议使用强大的元素定位器,并添加错误处理和等待功能,以使自动登录更加可靠。

仅自动化您自己的帐户,并遵守网站的服务条款。切勿将密码硬编码,并准备好处理 cookie 横幅或双因素身份验证提示。

总结一下这篇文章: