You need to enable JavaScript to run this app. Python操作网页时如何仅提取HTML元素中指定8位数字到目标输入框
优惠活动
大模型
产品
解决方案
定价
更多

Python操作网页时如何仅提取HTML元素中指定8位数字到目标输入框

代码调整方案

核心改动很简单:在拿到元素的全量文本后、往输入框粘贴之前,先做一层字符串截取,只保留需要的8位数字片段,再执行输入。两种实现按需选择:

方案1:轻量截取(适配当前固定格式)

你的页面ID输出是固定结构:「8位数字 + 空格 + 短横线 + 括号包裹的十六进制值」,直接按第一个空格分割取前面的内容就刚好是目标ID,不需要引入额外依赖:

# 保留你原本写的元素定位逻辑
content_full = driver.find_element_by_xpath("//div[@class='col-md-8 input-group col-form-label']").text
# 新增处理逻辑:取第一个空格前的文本,也就是8位数字部分
target_id = content_full.split(' ')[0]
# 后续输入操作和原代码完全一致
folder = driver.find_element_by_xpath("//input[@data-id='projEditFormInptCustomerReference']")
folder.send_keys(target_id)

方案2:高容错匹配(抗页面变动)

如果担心后续页面排版微调——比如多了前导空格、分隔符位置换了——导致简单分割失效,可以用正则直接抓文本里第一段连续的8位数字,不管前面有没有杂七杂八的内容都能精准抓到:

import re

# 原有定位逻辑不变
content_full = driver.find_element_by_xpath("//div[@class='col-md-8 input-group col-form-label']").text
# 正则匹配连续的8位数字
match_result = re.search(r'\d{8}', content_full)
target_id = match_result.group() if match_result else ""
# 执行输入
folder = driver.find_element_by_xpath("//input[@data-id='projEditFormInptCustomerReference']")
folder.send_keys(target_id)

如果运行后发现内容不对,可以先打印content_full的实际输出值,确认实际拿到的文本结构,再微调匹配规则就行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.10 19:06:06