使用 Selenium (Python) 获取输入框的值

Posted

技术标签:

【中文标题】使用 Selenium (Python) 获取输入框的值【英文标题】:Get value of an input box using Selenium (Python) 【发布时间】:2014-10-24 04:35:10 【问题描述】:

我正在尝试提取输入框中的文本,

<input type="text" name="inputbox" value="name" class="box">

我开始了

input = driver.find_element_by_name("inputbox")

我尝试了 input.getText() 但我得到了

AttributeError: 'WebElement' object has no attribute 'getText'

【问题讨论】:

请附上示例html。谢谢。 输入是否真的包含文本?或者您想获取/存储输入属性“值”的值“名称”?因为 get_text 通常会给你这种文本:some_text 【参考方案1】:

注意 value 属性和 value 属性之间有一个重要的区别。

简单的解释是 value 属性是在 HTML 标记中找到的,而 value 属性是你在页面上看到的。

基本上,value 属性设置元素的初始值,而 value 属性包含当前值。

您可以阅读有关 here 的更多信息,并查看 here 的差异示例。


如果你想要value 属性,那么你应该使用get_attribute:

input.get_attribute('value')

如果你想要value 属性,那么你应该使用get_property

input.get_property("value")

不过,根据文档,get_attribute 实际上返回的是属性而不是属性,除非该属性不存在。 get_property 将始终返回该属性。

【讨论】:

【参考方案2】:

使用这个来获取输入元素的值:

input.get_attribute('value')

【讨论】:

为了完整性:input.get_attribute('value').encode('utf-8') 虽然input.text 确实存在,但它不会给你价值:(

以上是关于使用 Selenium (Python) 获取输入框的值的主要内容,如果未能解决你的问题,请参考以下文章

python selenium 获取对象输入的属性值

使用 selenium 根据输入单击链接 [python]

Selenium2+python自动化34-获取百度输入联想词

Selenium2+python自动化34-获取百度输入联想词

使用 Selenium 在 Python 中获取 HTML 表格正文

selenium:python如何绕过登录页面登录网页