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

使用Selenium点击input类型submit按钮失败,求解决方法

解决Selenium点击Submit按钮的问题

错误原因分析

你之前的代码存在以下问题:

  • Selenium 4+版本已弃用driver.find_element("class", "...")这类直接传字符串的定位方式,必须通过By类指定定位策略。
  • By.CLASS_NAME仅支持单个类名,传入多个类名会被解析为错误的CSS选择器(.btn btn-lg...不符合CSS语法,多类名正确写法是用.连接)。
  • 不存在"value"这种定位方式,需通过XPATH或CSS选择器定位元素的value属性。

正确实现方式

方法1:通过XPATH定位value属性

这是最精准的方式,利用按钮唯一的value值定位:

from selenium.webdriver.common.by import By

driver.find_element(By.XPATH, "//input[@value='Log In']").click()

方法2:通过CSS选择器定位多类名

注意CSS选择器中多个类名需用.连接,不能有空格:

from selenium.webdriver.common.by import By

driver.find_element(By.CSS_SELECTOR, "input.btn.btn-lg.btn-primary.btn-block").click()

方法3:显式等待元素可点击(推荐)

若页面加载较慢,元素未渲染完成就执行点击会报错,可通过显式等待确保元素可交互后再操作:

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

WebDriverWait(driver, 10).until(
    EC.element_to_be_clickable((By.XPATH, "//input[@value='Log In']"))
).click()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 05:05:11