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

如何使用Selenium定位并提取包含.com后缀邮箱的完整字符串

Selenium 匹配提取含.com后缀文本的实现方案

方案1:XPath模糊定位直接获取元素文本

如果目标元素的文本中包含.com后缀,且你需要先定位到该元素,可直接使用XPath的contains()方法做模糊匹配,不需要提前知道完整文本:

# 定位文本包含.com的可点击元素,直接获取完整文本
target_text = wait.until(EC.element_to_be_clickable((By.XPATH, '//*[contains(text(), ".com")]'))).text

该方法适合元素内仅存在一处.com后缀文本、或你需要获取整个元素文本的场景。

方案2:结合正则提取指定格式的目标内容

如果元素文本中存在多段内容,你只需要提取其中带.com后缀的邮箱(或双引号包裹的.com后缀字符串),可以先拿到元素完整文本后用正则匹配提取:

提取带.com后缀的纯邮箱内容

import re

# 先获取包含目标内容的元素文本
element_text = wait.until(EC.element_to_be_clickable((By.XPATH, '//*[contains(text(), ".com")]'))).text
# 正则匹配所有符合规则、以.com结尾的邮箱
com_email_list = re.findall(r'[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.com', element_text)
# 取第一个匹配结果(确认只有一个目标邮箱时使用)
target_email = com_email_list[0] if com_email_list else None

提取双引号包裹的.com后缀完整字符串

如果需要保留示例中"email@gmail.com"的双引号格式,调整正则规则即可:

# 匹配所有被双引号包裹、且内容以.com结尾的字符串
target_str_list = re.findall(r'"[^"]+\.com"', element_text)
target_str = target_str_list[0] if target_str_list else None

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 14:27:01