使用Selenium+Python点击Slido登录页按钮失败,求问题排查
尝试用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
相关产品推荐
相关产品推荐

