Python Selenium打印出的textfield值显示为空。该值不是打印

时间:2015-07-24 11:19:45

标签: python selenium-webdriver webdriver

我正在尝试将文本字段的值打印到控制台。 网页在文本字段中的值为1,000.000。 1,000.000 应该打印,但我的方法是打印空白 我正在使用Python Webdriver。我正在使用.text,它应该获取文本字段的文本值。

我的方法是:

from selenium.webdriver.common.by import By

# max records textfield has the value 1,000.000 as default
def print_maxrecords_textfield(self):
    max_records_textfield = self.driver.find_element((By.XPATH, '//span[@class="gwt-InlineLabel myinlineblock marginbelow" and contains(text(), "Max records")]/following-sibling::*'))
    print "max_records_textfield = "
    print max_records_textfield.text

我将测试用例类中的方法称为dp.print_maxrecords_textfield()

控制台的输出如下:

max_records_textfield = 

应该说max_records_textfield = 1,000.00

HTML代码段为:

<div class="padding gwt-TabLayoutPanelContent" style="position: absolute; left: 0px; top: 0px; right: 0px; bottom: 0px;" aria-hidden="false">
    <div class="clear">
        <span class="gwt-InlineLabel marginbelow myinlineblock" style="width: 8em;">Location</span>
        <input class="gwt-TextBox marginbelow" type="text" style="width: 30em;"/>
    </div>
    <div class="clear">
        <span class="gwt-InlineLabel myinlineblock marginbelow" style="width: 8em;">Max records</span>
        <input class="gwt-IntegerBox marginbelow" type="text"/>
    </div>

1 个答案:

答案 0 :(得分:2)

实际上尝试获取值而不是文本。

from selenium.webdriver.common.by import By

# max records textfield has the value 1,000.000 as default
def print_maxrecords_textfield(self):
    max_records_textfield = self.driver.find_element((By.XPATH, '//span[@class="gwt-InlineLabel myinlineblock marginbelow" and contains(text(), "Max records")]/following-sibling::*'))
    print "max_records_textfield = "
    print max_records_textfield.get_attribute('value')