Python 2.7 Selenium Python使用get_属性(';value';)打印文本字段的值时未打印该值。我正在打印空白

Python 2.7 Selenium Python使用get_属性(';value';)打印文本字段的值时未打印该值。我正在打印空白,python-2.7,selenium,selenium-webdriver,Python 2.7,Selenium,Selenium Webdriver,我正在尝试打印文本字段的值。值没有被打印出来,我得到一个空白的输出,空的。textfield在网页上确实有一个值。 我正在使用name_元素。get_属性('value')这应该打印文本字段的值。我不知道为什么它对我不起作用 在PyCharm中,控制台输出为: 从“名称”文本字段打印“值” 下一行没有打印出值print name\u元素。get\u属性('value')) 我希望打印值“数据对象名称”,因为这是网页上文本字段中的值。我得到一个空白输出 我的代码片段是: def print_val

我正在尝试打印文本字段的值。值没有被打印出来,我得到一个空白的输出,空的。textfield在网页上确实有一个值。 我正在使用name_元素。get_属性('value')这应该打印文本字段的值。我不知道为什么它对我不起作用

在PyCharm中,控制台输出为: 从“名称”文本字段打印“值”

下一行没有打印出值print name\u元素。get\u属性('value'))

我希望打印值“数据对象名称”,因为这是网页上文本字段中的值。我得到一个空白输出

我的代码片段是:

def print_value_from_name_textfield(self):
    name_element = self.get_element(*MainPageLocators.data_objects_Name_textfield_edit)
    print "print_value_from_name_textfield"
    print name_element.get_attribute('value')
HTML是:

    <div class="marginbelow">
        <span class="gwt-InlineLabel defaultFormLabelWidthCompact myinlineblock">Name</span>
        <input id="data_configuration_edit_data_object_tb_name" class="gwt-TextBox" type="text"/>
    </div>
get_元素的实现是:

# returns the element if found
def get_element(self, how, what):
    # params how: By locator type
    # params what: locator value
    try:
        element = self.driver.find_element(by=how, value=what)
    except NoSuchElementException, e:
        print what
        print "Element not found "
        print e
        screenshot_name = how + what + get_datetime_now() # create screenshot name of the name of the element + locator + todays date time.  This way the screenshot name will be unique and be able to save
        self.save_screenshot(screenshot_name)
        raise
    return element
请问我做错了什么? 谢谢
Riaz

如果不幸的是
获取属性(“值”)
不起作用,您可以尝试使用
执行脚本()
获取输入值,如下所示:-

print self.driver.execute_script("return arguments[0].value",name_element)
已编辑:如果输入字段中的值在一段时间后加载,则应在查找输入元素之前执行一些隐式等待,如下所示:

self.driver.implicitly_wait(10)

name_element = self.get_element(*MainPageLocators.data_objects_Name_textfield_edit)
print "print_value_from_name_textfield"
print name_element.get_attribute('value')

我在输入元素中没有看到任何属性值,这就是它返回空白的原因。get_attribute(“value”)捕获存储实际值的属性。text捕获innerText几个月前我问了一个问题,如何从textfield打印值。该html代码段在输入元素中没有任何属性值。使用get_属性(“value”)打印的值。我的另一个问题链接是:你确定只有一个元素具有提供的Id吗?是的,我确定,谢谢。我现在已经将文本字段的值打印到控制台上了。你的方法奏效了。非常感谢。奇怪的是,get_属性(“value”)不适用于此元素。它适用于我的其他元素。您的替代解决方案(“返回参数[0].value”、名称\元素)可以正常工作。
self.driver.implicitly_wait(10)

name_element = self.get_element(*MainPageLocators.data_objects_Name_textfield_edit)
print "print_value_from_name_textfield"
print name_element.get_attribute('value')