我正在尝试打印出文本字段的值。该值未打印出来,我得到一个空白输出,为空。文本字段在网页上有一个值。 我正在使用name_element.get_attribute(' value')这应该打印文本字段的值。我不知道为什么它不适合我。
在PyCharm中,控制台输出是: print_value_from_name_textfield
下一行没有打印出值print_element.get_attribute(' value')
我期待价值"数据对象名称"要打印,因为这是网页上文本字段中的值。我得到一个空白的输出。
我的代码段是:
AlertDialog.Builder setIcon (int iconId)
HTML是:
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')
在MainPageLocators中,textfield id定义为:
<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_element实现是:
from selenium.webdriver.common.by import By
class MainPageLocators(object):
data_objects_Name_textfield_edit = (By.ID, 'data_configuration_edit_data_object_tb_name')
我做错了什么? 谢谢, 里亚兹
答案 0 :(得分:1)
如果遗憾的是get_attribute('value')
不起作用,您可以尝试使用execute_script()
获取输入值,如下所示: -
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')