textfield的Python Selenium打印输出值显示为空。值未打印

2024-06-16 09:58:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试将textfield的值打印到控制台。 网页在textfield中的值为1000.000。1000.000 应该打印,但我的方法是空白打印。
我正在使用pythonwebdriver。我正在使用.text,它应该获得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_文本字段()

控制台的输出如下:

^{pr2}$

应该是max_records_textfield=1000.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>

Tags: 方法textdivstylewidthmaxclassspan
1条回答
网友
1楼 · 发布于 2024-06-16 09:58:49

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

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

相关问题 更多 >