如何在Python版Selenium WebDriver中断言输入框文本?
解决Python Selenium断言输入框文本的问题
你的问题核心在于输入框的内容不能通过element.text获取,具体原因和修复方案如下:
element.text仅用于获取元素的可见静态文本(比如div、span标签里直接显示的文字)- 输入框(input/textarea这类表单元素)的内容存储在
value属性中,必须用get_attribute('value')才能正确获取
修改你的断言函数即可解决断言错误,代码如下:
def assert_element_text(self, driver, xpath, expected_text): element = driver.find_element(by=By.XPATH, value=xpath) # 替换element.text为get_attribute('value') element_text = element.get_attribute('value') assert expected_text == element_text, f"断言失败:预期文本是{expected_text},实际获取到{element_text}" def assert_surname(self): self.assert_element_text(self.driver, self.surname_field_xpath, self.expected_surname)
额外提示:
- 多行文本框(textarea)的内容同样用
get_attribute('value')获取 - 断言里添加错误提示信息,能更直观地定位问题
内容的提问来源于stack exchange,提问作者Iris
相关产品推荐
相关产品推荐

