如何获取python-selenium中html元素的“值”?

时间:2019-02-27 13:01:28

标签: javascript python html selenium

在html页面中,我有以下代码段:

<div class="jupyter-widgets widget-hbox widget-text">
    <div class="widget-label" style="display: block;">Walltime:</div>
    <input type="text" class="form-control" placeholder="">
</div>

,其中input元素按预期方式呈现为 input 字段。但是,此输入字段中有一些值。

使用浏览器的检查器,可以选择该元素并在控制台中使用以下表达式来获取该值:

$ 0.value

但是,如何在python-selenium中做到这一点?

当我在名为“ input”的变量中使用input元素时,我尝试了以下操作:

driver.execute_script("arguments[0].value;", element)

,它不返回该输入框中的值,而是返回None。如何正确地从“输入”框中检索值?

2 个答案:

答案 0 :(得分:4)

您需要返回值

driver.execute_script('return arguments[0].value;', element)

您也可以使用get_attribute()

element.get_attribute('value')

答案 1 :(得分:3)

使用get_attribute可以获取元素的任何属性!在您的情况下:

element.get_attribute("value")

@Guy评论了文本不是html的一部分,因此请勿使用:

element.text