首页 > 解决方案 > Selenium Python - 如果没有包含此类值的属性,如何获取文本字段的当前值?

问题描述

所以我的问题如下,HTML 中的输入标签没有属性可以反映此输入字段中的当前文本(想想谷歌搜索中保存您输入的值的“值”属性)所以问题是 - 我的获取此文本以声明它的选项?

我已经尝试过 input.text 和 input.get_attribute() - 不走运。

来自-internet.herokuapp.com 的示例:

图片

代码片段:

def sample_test():
    driver = webdriver.Firefox()
    driver.maximize_window()
    base_url = "http://the-internet.herokuapp.com/login"
    driver.get(base_url)
    input = driver.find_element(By.XPATH, "//input[@id='username']")
    print(input.text) # I expect this to print nothing as at this point the field is empty
    input.send_keys("asdasd")
    print(input.text) # Here I was hoping it will print "asdasd" but was also empty

标签: pythonhtmlseleniumdom

解决方案


您可以通过以下方式获取元素value属性值:

input_text = driver.find_element(By.XPATH, "//input[@id='username']")get_attribute("value")

通常输入元素包含它们的文本值作为值属性,而不是作为“文本”


推荐阅读