【发布时间】:2016-08-08 23:51:01
【问题描述】:
我正在尝试打印文本字段的值。该值没有被打印出来,我得到一个空白输出,空的。文本字段在网页上确实有一个值。 我正在使用 name_element.get_attribute('value') 这应该打印文本字段的值。我不知道为什么它不适合我。
在 PyCharm 中,控制台输出为: print_value_from_name_textfield
下一行没有打印出值 print name_element.get_attribute('value')
我希望打印值“数据对象名称”,因为这是网页文本字段中的值。我得到一个空白输出。
我的代码 sn-p 是:
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>
在 MainPageLocators 中,文本字段 id 定义为:
from selenium.webdriver.common.by import By
class MainPageLocators(object):
data_objects_Name_textfield_edit = (By.ID, 'data_configuration_edit_data_object_tb_name')
get_element 实现是:
# 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
请问我做错了什么? 谢谢, 里亚兹
【问题讨论】:
-
我在输入元素中没有看到任何属性值,这就是它返回空白的原因。
-
get_attribute('value') 捕获存储实际值的属性。文本捕获内部文本
-
几个月前我问了一个问题,如何从文本字段中获取打印的值。该 html sn-p 在输入元素中没有任何属性值。该值是通过使用 get_attribute('value') 打印的。我的另一个问题链接是:stackoverflow.com/questions/31609234/…
-
您确定只有一个元素提供了 ID??
-
是的,谢谢
标签: python-2.7 selenium selenium-webdriver