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

Selenium Python:如何点击<input>标签类型的提交按钮

表单提交按钮无响应的解决方法

先修正你的JavaScript代码错误

你当前用的document.querySelectorAll('//input[@type='submit']')有两个明显问题:

  1. querySelectorAll只支持CSS选择器,不兼容XPath语法;
  2. querySelectorAll返回的是元素集合,不能直接调用.click(),需要遍历或定位单个元素再执行点击。

修正后的代码示例

1. 定位单个提交按钮(推荐,若页面仅一个提交按钮)

self.dataBrowser.execute_script("document.querySelector('input[type=\"submit\"]').click();")

或者用更精准的选择器(结合class缩小范围):

self.dataBrowser.execute_script("document.querySelector('input.btn.btn-info[type=\"submit\"]').click();")

2. 批量处理多个提交按钮

self.dataBrowser.execute_script("document.querySelectorAll('input[type=\"submit\"]').forEach(btn => btn.click());")

其他可能的解决方向

  • 检查表单验证:如果表单有必填项未填写、格式不符合要求,前端验证会阻止提交,先确保所有字段都符合规则;
  • 直接触发表单提交事件:如果按钮的点击事件绑定存在问题,可以绕过按钮直接提交表单:
self.dataBrowser.execute_script("document.querySelector('form').submit();")
  • 等待元素加载完成:如果元素还未渲染完成就执行点击,会无响应,用Selenium的显式等待确保元素可点击:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By

# 等待10秒,直到按钮可点击
submit_btn = WebDriverWait(self.dataBrowser, 10).until(
    EC.element_to_be_clickable((By.CSS_SELECTOR, "input[type='submit']"))
)
submit_btn.click()
  • 移除禁用属性:如果按钮被添加了disabled属性,先移除再点击:
self.dataBrowser.execute_script("document.querySelector('input[type=\"submit\"]').removeAttribute('disabled');")
self.dataBrowser.execute_script("document.querySelector('input[type=\"submit\"]').click();")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 15:15:40