You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Python登录Facebook遇SyntaxError报错,如何修复?

修复Facebook登录代码的语法错误及问题

错误原因及修复步骤:

  1. 导入语句错误
    原代码第二行from selenium.webdriver.common.keys未指定导入内容,且import time被错误嵌套在该行末尾。正确做法是:若无需keys模块内容可直接删除该行;若后续需要模拟按键操作,需补全导入(如from selenium.webdriver.common.keys import Keys),同时import time需单独作为一行。

  2. 代码断行语法错误
    原代码中email_field =、password_field =、login_button =单独成一行,后续元素查找代码换行,这不符合Python语法规则,需将赋值语句与右侧表达式放在同一行。

  3. 过时的元素定位方法
    Selenium 4及以上版本已移除find_element_by_id、find_element_by_name这类旧版定位方法,需改用find_element配合By类实现定位,因此要额外导入from selenium.webdriver.common.by import By。

  4. 输入密码的对象错误
    原代码中错误使用email_field.send_keys(password)向邮箱输入框填充密码,应改为password_field.send_keys(password)。

修复后的完整代码:

from selenium import webdriver
from selenium.webdriver.common.by import By
import time

email = "your_email@example.com"
password = "your_password"

driver = webdriver.Firefox()
driver.get("https://www.facebook.com")

# 定位邮箱输入框并输入邮箱
email_field = driver.find_element(By.ID, "email")
email_field.send_keys(email)

# 定位密码输入框并输入密码
password_field = driver.find_element(By.ID, "pass")
password_field.send_keys(password)

# 定位登录按钮并点击
login_button = driver.find_element(By.NAME, "login")
login_button.click()

time.sleep(5)
driver.quit()

额外注意事项:

  • 需确保安装的Selenium版本与GeckoDriver(Firefox驱动)版本匹配,版本不兼容可能导致运行失败。
  • Facebook有反爬机制,频繁使用脚本登录可能触发验证码或账号限制,建议仅用于学习测试。

内容的提问来源于stack exchange,提问作者www1

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 01:35:05