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

如何编写Selenium代码验证必填字段后的星号存在

验证必填字段后的星号(*)的Selenium实现

下面分两种常见场景给出代码示例,你可以根据页面实际的HTML结构选择适配:

场景1:星号直接包含在字段标签文本中

如果必填字段的标签(比如<label>)文本是类似First Name*这样的格式,代码如下:

from selenium import webdriver
from selenium.webdriver.common.by import By

# 初始化浏览器实例
driver = webdriver.Chrome()
driver.get("替换为你的目标页面URL")

# 定义需要验证的必填字段名称(不带星号)
required_field_names = ["First Name", "Last Name", "Enter Address", "Enter Phone Number"]

for field_name in required_field_names:
    try:
        # 定位对应的标签元素,这里用XPATH文本包含定位,可根据页面结构换成ID/CSS选择器
        label = driver.find_element(By.XPATH, f"//label[contains(text(), '{field_name}')]")
        full_label_text = label.text.strip()
        # 检查文本末尾是否存在星号
        if full_label_text.endswith("*"):
            print(f"✅ {field_name} 字段后存在星号,验证通过")
        else:
            print(f"❌ {field_name} 字段后未找到星号,验证失败")
    except Exception as err:
        print(f"⚠️ 未找到 {field_name} 对应的字段元素: {str(err)}")

# 关闭浏览器
driver.quit()

场景2:星号是独立的元素

如果星号是单独的HTML元素(比如<span class="required">*</span>),和字段文本同级,代码示例:

from selenium import webdriver
from selenium.webdriver.common.by import By

driver = webdriver.Chrome()
driver.get("替换为你的目标页面URL")

required_field_names = ["First Name", "Last Name", "Enter Address", "Enter Phone Number"]

for field_name in required_field_names:
    try:
        # 定位字段文本元素
        field_text = driver.find_element(By.XPATH, f"//span[text()='{field_name}']")
        # 查找紧随其后的星号元素
        asterisk = field_text.find_element(By.XPATH, "./following-sibling::*[text()='*']")
        if asterisk.is_displayed():
            print(f"✅ {field_name} 字段后存在星号,验证通过")
    except Exception as err:
        print(f"❌ {field_name} 字段后未找到星号或元素不存在: {str(err)}")

driver.quit()

注意事项

  • 务必根据页面实际的HTML结构调整元素定位方式(比如用By.ID、By.CSS_SELECTOR更稳定)
  • 如果必填提示是在输入框的placeholder中,需要定位输入框元素,通过get_attribute("placeholder")获取值后检查是否包含星号
  • 若要集成到自动化测试框架(如pytest),可以将验证结果收集后用断言抛出异常,而非打印信息

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 20:35:16