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

使用Selenium+Python点击Slido登录页按钮失败,求问题排查

问题:Slido登录页Cookie授权及Continue按钮点击失败排查

尝试用Python+Selenium在Slido登录页完成以下操作:点击「Allow all(允许全部)」Cookie授权按钮,输入邮箱后点击「Continue(继续)」按钮,但代码无法完成这两个点击操作。

目标网页链接:

website_link = "https://auth.slido.com/login?auth_state=eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IkIifQ.eyJqdGkiOiJkY2MwNThlYy03YjY1LTQxNWQtODJkNS00ZThkOWYxOWZjZDUiLCJjbHVzdGVyX2lkIjoiZXUxIiwiY2xpZW50SWQiOiI2OTFmNGMxNi1kZTM1LTExZWItYmE4MC0wMjQyYWMxMzAwMDQiLCJwcm9tcHQiOiJjb25zZW50IiwicmVkaXJlY3RVcmkiOiJodHRwczovL2FkbWluLnNsaS5kby9vYXV0aC1jYWxsYmFjayIsInNjb3BlIjoib3BlbmlkIG9mZmxpbmVfYWNjZXNzIGVtYWlsIHByb2ZpbGUgc3lzdGVtOnNjb3BlOmFjcXVpcmUiLCJzZXNzaW9uIjp7ImlzQXV0aE4iOmZhbHNlLCJpc0ludGVybmFsIjp0cnVlfSwic3RhdGUiOiJleUp5WldScGNtVmpkQ0k2SW1GSVVqQmpTRTAyVEhrNWFGcEhNWEJpYVRWNllrZHJkVnBIT0haYVdGcHNZbTVTZWlKOSIsImNsYWltcyI6e30sImlhdCI6MTY3NTE4MDk4OCwiZXhwIjoxNjc1MTgyNzg4LCJpc3MiOiJodHRwczovL2F1dGguc2xpZG8uY29tIn0.NvC6eFAmguxI25_Dt8lMsMs4zTquP9DHcz9ukuv1pLzt3kSCVmRYJoTHXuoCpz1SKK6isFdfG8P_0-QHOpXWjdb0Gfxuz50fK5IkaO-vNN84eNQN9rV-Q5Tkw2r6tnyap7Hq3hasiwMoexaBEGx5tTk1y8Ab4xOuXFS0OpeyaiBUjVxr9GsH2TrmuZCdePGverwue_5k-6LStmfjVJlsuh7BC2fkLLNKizbC_mckqLloylu-MChV0GfhXFxHwCpSSRvLa64zmNTZ8KJ1FA3WrNCg5PkjIn6KLdHU7wBmR53MhTE0rMvxOF3gkUoVKerkF5DRe_z9xbRFUW_soAt_5A"

原代码:

chrome_driver_path = "user\\location\\chromedriver.exe"
options = webdriver.ChromeOptions()
driver = webdriver.Chrome(executable_path=chrome_driver_path,options=options)
wait = WebDriverWait(driver, 5)
# 打开网页并在登录页输入邮箱
driver.get("website_link")
wait.until(EC.element_to_be_clickable((By.ID,"email"))).send_keys("ab@xyz.com")
driver.find_element(By.CLASS_NAME, "//span[text()='Allow all']").click()
time.sleep(5)
# 点击继续按钮并进入下一步
driver.find_element(By.CLASS_NAME, "//span[text()='Continue']").click()
time.sleep(5)

错误点分析
  • 页面加载错误:driver.get("website_link")传入的是字符串"website_link",而非定义好的变量website_link,导致打开无效页面。
  • 定位方式不匹配:使用By.CLASS_NAME定位,但传入的是XPath表达式,定位方式与表达式类型不兼容,需改用By.XPATH。
  • 操作顺序错误:先输入邮箱再处理Cookie弹窗,弹窗可能遮挡元素或干扰操作,正确顺序应优先处理Cookie授权。
  • 缺少可靠等待:直接使用driver.find_element可能遇到元素未加载完成的情况,应使用WebDriverWait等待元素可点击,替代不稳定的time.sleep。

修正后的代码
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
import time

chrome_driver_path = "user\\location\\chromedriver.exe"
options = webdriver.ChromeOptions()
driver = webdriver.Chrome(executable_path=chrome_driver_path, options=options)
wait = WebDriverWait(driver, 10)  # 延长等待时间适配页面加载

# 打开正确的目标网页
website_link = "https://auth.slido.com/login?auth_state=eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IkIifQ.eyJqdGkiOiJkY2MwNThlYy03YjY1LTQxNWQtODJkNS00ZThkOWYxOWZjZDUiLCJjbHVzdGVyX2lkIjoiZXUxIiwiY2xpZW50SWQiOiI2OTFmNGMxNi1kZTM1LTExZWItYmE4MC0wMjQyYWMxMzAwMDQiLCJwcm9tcHQiOiJjb25zZW50IiwicmVkaXJlY3RVcmkiOiJodHRwczovL2FkbWluLnNsaS5kby9vYXV0aC1jYWxsYmFjayIsInNjb3BlIjoib3BlbmlkIG9mZmxpbmVfYWNjZXNzIGVtYWlsIHByb2ZpbGUgc3lzdGVtOnNjb3BlOmFjcXVpcmUiLCJzZXNzaW9uIjp7ImlzQXV0aE4iOmZhbHNlLCJpc0ludGVybmFsIjp0cnVlfSwic3RhdGUiOiJleUp5WldScGNtVmpkQ0k2SW1GSVVqQmpTRTAyVEhrNWFGcEhNWEJpYVRWNllrZHJkVnBIT0haYVdGcHNZbTVTZWlKOSIsImNsYWltcyI6e30sImlhdCI6MTY3NTE4MDk4OCwiZXhwIjoxNjc1MTgyNzg4LCJpc3MiOiJodHRwczovL2F1dGguc2xpZG8uY29tIn0.NvC6eFAmguxI25_Dt8lMsMs4zTquP9DHcz9ukuv1pLzt3kSCVmRYJoTHXuoCpz1SKK6isFdfG8P_0-QHOpXWjdb0Gfxuz50fK5IkaO-vNN84eNQN9rV-Q5Tkw2r6tnyap7Hq3hasiwMoexaBEGx5tTk1y8Ab4xOuXFS0OpeyaiBUjVxr9GsH2TrmuZCdePGverwue_5k-6LStmfjVJlsuh7BC2fkLLNKizbC_mckqLloylu-MChV0GfhXFxHwCpSSRvLa64zmNTZ8KJ1FA3WrNCg5PkjIn6KLdHU7wBmR53MhTE0rMvxOF3gkUoVKerkF5DRe_z9xbRFUW_soAt_5A"
driver.get(website_link)

# 先处理Cookie授权按钮
try:
    allow_all_btn = wait.until(EC.element_to_be_clickable((By.XPATH, "//span[text()='Allow all']")))
    allow_all_btn.click()
except Exception as e:
    print("Cookie弹窗未出现或点击失败:", e)

# 等待邮箱输入框并输入邮箱
email_input = wait.until(EC.element_to_be_clickable((By.ID, "email")))
email_input.send_keys("ab@xyz.com")

# 点击Continue按钮
continue_btn = wait.until(EC.element_to_be_clickable((By.XPATH, "//span[text()='Continue']")))
continue_btn.click()

# 后续操作
time.sleep(3)
driver.quit()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 02:10:16