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

Selenium Python 如何定位Web表单最后一个文本输入框并写入内容

解决方案

你可以通过XPath的属性前缀匹配+last()函数直接定位目标元素,无需硬编码属性后缀:

通用代码(Selenium 4.0+ 推荐写法)

from selenium.webdriver.common.by import By

# 直接匹配所有name以address开头的文本输入框,取最后一个
driver.find_element(By.XPATH, '//input[starts-with(@name, "address") and @type="text"][last()]').send_keys(username)

旧版Selenium兼容写法

driver.find_element_by_xpath('//input[starts-with(@name, "address") and @type="text"][last()]').send_keys(username)

逻辑说明

  • starts-with(@name, "address") 自动匹配所有前缀为address的输入框,适配动态变化的数字后缀
  • 增加@type="text"过滤条件,排除同前缀的隐藏域、单选/复选框等非目标输入元素
  • [last()] 自动取匹配结果中的最后一个元素,不需要手动更新属性值

抗干扰优化(可选)

如果页面内表单外也存在前缀为address的输入框,可以先定位到表单节点缩小匹配范围:

from selenium.webdriver.common.by import By

# 替换为你实际的表单定位规则,此处以id="myForm"为例
form_ele = driver.find_element(By.ID, "myForm")
# 仅在表单范围内匹配目标元素
form_ele.find_element(By.XPATH, './/input[starts-with(@name, "address") and @type="text"][last()]').send_keys(username)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 02:45:01