Selenium自动化多单选按钮组场景下 统计指定分组数量的Xpath问题
可用XPath及实现方案
方法1:通过同组单选的name属性直接匹配
同一组单选按钮的name属性值完全相同,目标页面性别组单选的name固定为gender,匹配XPath为://input[@type='radio' and @name='gender']
该写法直接过滤掉name为其他值的单选组,运行后匹配到的元素数量为3,正好对应性别组的3个选项。
方法2:通过分组标签定位后查找单选
如果name属性存在动态变化的可能,可以先定位到「Gender」分组标签,再向下匹配该分组内的单选按钮,XPath为://label[text()='Gender']/following-sibling::div//input[@type='radio']
该写法不依赖name属性,只要页面上Gender标签和后续单选区域的层级结构不变,就能准确匹配到目标分组内的所有单选,完全排除其他组的干扰。
Python Selenium 调用示例
from selenium import webdriver from selenium.webdriver.common.by import By driver = webdriver.Chrome() driver.get("https://itera-qa.azurewebsites.net/home/automation") # 使用方法1统计数量 gender_radio_count = len(driver.find_elements(By.XPATH, "//input[@type='radio' and @name='gender']")) print(gender_radio_count) # 输出为3
内容的提问来源于stack exchange,提问作者Sweth Varsh
相关产品推荐
相关产品推荐

