Python 2.7 Selenium Python使用get_属性(';value';)打印文本字段的值时未打印该值。我正在打印空白
我正在尝试打印文本字段的值。值没有被打印出来,我得到一个空白的输出,空的。textfield在网页上确实有一个值。 我正在使用name_元素。get_属性('value')这应该打印文本字段的值。我不知道为什么它对我不起作用 在PyCharm中,控制台输出为: 从“名称”文本字段打印“值” 下一行没有打印出值print name\u元素。get\u属性('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
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')