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

如何使用Selenium Python点击给定HTML中的提交按钮?

用Selenium Python点击指定Lock按钮的方法

下面是几种可行的实现方式,优先推荐用ID定位(页面元素ID通常唯一,定位逻辑最稳定):

方法1:通过元素ID定位(推荐)

目标按钮的ID为button-lock-entity,直接用ID定位是最可靠的方式,代码示例:

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

# 初始化Chrome驱动(需确保ChromeDriver与浏览器版本匹配并配置好环境)
driver = webdriver.Chrome()

# 打开目标页面
driver.get("你的目标页面URL")

# 等待按钮加载完成并可点击(处理Angular页面的加载延迟,超时时间设为10秒)
lock_button = WebDriverWait(driver, 10).until(
    EC.element_to_be_clickable((By.ID, "button-lock-entity"))
)

# 执行点击操作
lock_button.click()

# 后续业务逻辑处理...
# driver.quit()

方法2:通过按钮文本定位

如果ID存在变动风险,也可以通过按钮显示的文本Lock定位:

# 等待元素可点击后执行点击
lock_button = WebDriverWait(driver, 10).until(
    EC.element_to_be_clickable((By.XPATH, "//button[text()='Lock']"))
)
lock_button.click()

方法3:通过Angular的ng-click属性定位

针对Angular开发的页面,还可以直接通过按钮的ng-click属性值定位:

lock_button = WebDriverWait(driver, 10).until(
    EC.element_to_be_clickable((By.CSS_SELECTOR, "button[ng-click='vm.lockEntity()']"))
)
lock_button.click()

注意事项

  • 必须确保浏览器驱动(如ChromeDriver)与浏览器版本兼容,否则会出现初始化失败的问题
  • 目标按钮带有ng-disabled="!vm.lockEnabled"属性,只有当vm.lockEnabled为真时按钮才处于可点击状态,因此必须使用element_to_be_clickable等待条件,不能仅等待元素存在
  • 如果页面加载速度较慢,可以适当调整等待超时时间(比如将10秒改为15秒)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 03:27:21