Python Selenium文本字段的打印输出值显示为空.该值不打印 [英] Python Selenium print out value of textfield is showing empty. The value is not printing

查看:566
本文介绍了Python Selenium文本字段的打印输出值显示为空.该值不打印的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I am trying to print out the value of a textfield to the console. The webpage has the value 1,000.000 in the textfield. 1,000.000 should be printed but my method is printing blank.
I am using Python Webdriver. I am using the .text which should get the text value of the textfield.

我的方法是:

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()

I call the method from my test case class as dp.print_maxrecords_textfield()

控制台的输出如下:

max_records_textfield = 

应该说max_records_textfield = 1,000.00

It should say 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>

推荐答案

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

Actually try getting the value instead of 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.get_attribute('value')

这篇关于Python Selenium文本字段的打印输出值显示为空.该值不打印的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆