【问题标题】:How to get the 'value' of a html element in python-selenium?如何在 python-selenium 中获取 html 元素的“值”?
【发布时间】:2019-07-21 05:08:21
【问题描述】:

在一个 html 页面中,我有以下 sn-p:

<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 元素时,我尝试了以下操作:

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

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

【问题讨论】:

  • 你试过element.text吗?

标签: javascript python html selenium


【解决方案1】:

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

element.get_attribute("value")

正如@Guy 评论的那样文本不是 html 的一部分所以不要使用:

element.text

【讨论】:

  • element.text 不起作用,文本不是 html 的一部分。
  • @Guy 我只是问你为什么不使用text :)
【解决方案2】:

你需要返回值

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

你也可以使用get_attribute()

element.get_attribute('value')

【讨论】:

    猜你喜欢
    • 2018-06-16
    • 1970-01-01
    • 2022-01-05
    • 1970-01-01
    • 1970-01-01
    • 2021-12-20
    • 1970-01-01
    • 2017-08-22
    • 1970-01-01
    相关资源
    最近更新 更多