1.1 问题描述
前端界面存在两个name属性值为"gender"的元素,将元素赋值给变量,点击第二个元素报错
def test_radio(self): lst=self.driver.find_element(By.NAME,'gender') print(lst) lst[1].click() if __name__ == '__main__': case=TestCase() case.test_radio()截图如下
1.2 原因分析
当出现两个属性名称与属性值一致时,find_element后要加s,即find_elements,如果不加的话默认定位第一个元素,也就不存在代码中写到的第二个元素了,所以运行代码会报错
1.3 解决方案
调整代码,正确代码如下:
def test_radio(self):
lst=self.driver.find_elements(By.NAME,'gender')
print(lst)
lst[1].click()
if __name__ == '__main__':
case=TestCase()
# case.test_checkbox()
case.test_radio()