如何使用Selenium WebDriver提取文本输入框中的文本?

1 投票
1 回答
2077 浏览
提问于 2025-04-18 06:18

我有一个HTML元素,代码是 <input id="input-id" type="text" value="initial">
在页面加载后,我可以通过比如 driver.find_element_by_id("input-id").get_attribute("value") 来获取这个元素里的文本。

但是,当我点击这个元素并把里面的文本改成其他内容(比如“edited”)后,DOM(文档对象模型)里并没有任何变化,包括 value 属性的值。
也就是说,driver.find_element_by_id("input-id").get_attribute("value") 依然返回“initial”,而DOM中的元素看起来还是 <input id="input-id" type="text" value="initial">

那么,我该如何获取现在在浏览器中显示的值(也就是“edited”这个字符串)呢?我需要执行一些JavaScript代码吗?

1 个回答

3

这个值在你输入新文本时不会改变。你可以试着这样做:

driver.find_element_by_id("input-id").get_attribute("innerHTML")

撰写回答