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

使用Python Selenium Chrome WebDriver登录后立即遇会话过期错误

问题:Selenium自动化登录Slido后立即出现会话过期错误

代码执行无报错,但点击“Login”按钮后立即出现会话过期错误(截图:会话过期错误截图)。使用Python结合Selenium Chrome WebDriver实现自动化流程,Edge浏览器也出现相同问题。

使用的代码如下:

chrome_driver_path = r"C:\Users\selenium\chromedriver_win32\chromedriver.exe"
options = webdriver.ChromeOptions()
driver = webdriver.Chrome(executable_path=chrome_driver_path,options=options)
wait = WebDriverWait(driver, 5)
#open the webpage and enter the email id on the login page
driver.get("https://auth.slido.com/login? auth_state=eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IkIifQ.eyJqdGkiOiJmNzZjNzNmNC1hODcyLTQ5NzYtOTBiMS1jZWM5NTJiNTRmNmYiLCJjbHVzdGVyX2lkIjoiZXUxIiwiY2xpZW50SWQiOiI2OTFmNGMxNi1kZTM1LTExZWItYmE4MC0wMjQyYWMxMzAwMDQiLCJwcm9tcHQiOiJjb25zZW50IiwicmVkaXJlY3RVcmkiOiJodHRwczovL2FkbWluLnNsaS5kby9vYXV0aC1jYWxsYmFjayIsInNjb3BlIjoib3BlbmlkIG9mZmxpbmVfYWNjZXNzIGVtYWlsIHByb2ZpbGUgc3lzdGVtOnNjb3BlOmFjcXVpcmUiLCJzZXNzaW9uIjp7ImlzQXV0aE4iOmZhbHNlLCJpc0ludGVybmFsIjp0cnVlfSwic3RhdGUiOiJleUp5WldScGNtVmpkQ0k2SW1GSVVqQmpTRTAyVEhrNWFGcEhNWEJpYVRWNllrZHJkVnBIT0haYVdGcHNZbTVTZWlKOSIsImNsYWltcyI6e30sImlhdCI6MTY3NTE3NTk3MSwiZXhwIjoxNjc1MTc3NzcxLCJpc3MiOiJodHRwczovL2F1dGguc2xpZG8uY29tIn0.Y7WjeXgVCoZMKTfbJ2iy-O7UQn8_-vz_ZhgwsyuyrxervrMnBRYN-oCGEnRI5SnQDlRxif1qBSpDUxNSOOGnv4wgCTLRfq-X-AE7dHeOFcvAdGmmCl_HGGEpQ5plA7yT7f7pMt6xibK2ZhwNL7KwY_OUgVpgz0ROcSv7wBQVNGcx2Am0NfGZw1eDEhBfyiUTktGqTDVyQfmNAB3F7G7PtvgoXEikLLTZBqBY93d5w4RrjxIt6tzdiNpBKwwMulXmSzr0OGnLiRCQXsNfLyst028Hmoq_HsxFLICTKxZTOkelFB83XM1zGRnUkjCOCT-EhQbT0I-hJvQccdlbCdjXKg")

#first accepting all cookies before moving to our actual search
driver.find_element(By.XPATH,"/html/body/div[2]/div[2]/button[2]").click()
time.sleep(2)
#assigining the username
driver.find_element(By.ID,"email").send_keys("xyz@abc.com")
#then clicking on the continue button and move forward
driver.find_element(By.XPATH, "/html/body/auth-root/auth-layout/div[3]/div/auth-login/div/div/form/auth-recaptcha/div/div[2]/button").click() 
time.sleep(2)
#now we need to assing the password to login
driver.find_element(By.ID,"password").send_keys("####")
#click on the login button next
driver.find_element(By.XPATH, "/html/body/auth-root/auth-layout/div[3]/div/auth- login/div/div/form/auth-recaptcha/div/div[2]/button").click()
time.sleep(2)
print("Logged in")
解决方案

1. 替换过期的auth_state链接

你当前使用的URL包含一次性且已过期的auth_state参数,这是会话立即过期的核心原因。直接访问Slido的官方基础登录页:

driver.get("https://auth.slido.com/login")

2. 修复定位错误,改用稳定定位+显式等待

代码中登录按钮的XPATH存在空格(auth- login),会导致定位失败;同时绝对XPATH易因页面结构变化失效。改用相对定位+WebDriverWait替代time.sleep,确保元素加载完成后再操作:

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

# 等待并点击Accept all按钮
wait.until(EC.element_to_be_clickable((By.XPATH, "//button[text()='Accept all']"))).click()

# 等待邮箱输入框可见并输入内容
email_field = wait.until(EC.visibility_of_element_located((By.ID, "email")))
email_field.send_keys("xyz@abc.com")

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

# 等待密码输入框可见并输入内容
password_field = wait.until(EC.visibility_of_element_located((By.ID, "password")))
password_field.send_keys("####")

# 点击Log in按钮
wait.until(EC.element_to_be_clickable((By.XPATH, "//button[contains(text(), 'Log in')]"))).click()

3. 伪装浏览器指纹,绕过反爬检测

Slido会检测自动化工具特征,需配置ChromeOptions模拟真实浏览器:

options = webdriver.ChromeOptions()
# 禁用自动化提示
options.add_experimental_option("excludeSwitches", ["enable-automation"])
options.add_experimental_option('useAutomationExtension', False)
# 设置真实用户代理
options.add_argument("user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36")
# 可选:复用已登录的浏览器会话(需替换为你的Chrome用户数据路径)
options.add_argument(r"user-data-dir=C:\Users\<你的用户名>\AppData\Local\Google\Chrome\User Data")
options.add_argument("profile-directory=Default")

4. 处理reCAPTCHA验证

如果页面出现reCAPTCHA,Selenium无法自动识别,可选择:

  • 使用第三方验证码服务(如2Captcha)对接处理
  • 手动完成验证码后,再继续后续自动化流程(适合测试场景)

内容的提问来源于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:35:22