【问题标题】:Getting the default value (text) of an <input> element with selenium webdriver使用 selenium webdriver 获取 <input> 元素的默认值(文本)
【发布时间】:2014-05-23 19:20:04
【问题描述】:

我想知道如何使用 selenium webdriver 来查找元素的默认文本? 在浏览器中,输入框显示一个默认值:'Project 1',但是我无法通过这个WebElement的getText()方法得到这个文本。

<input class="title viewData" id="sprojectName" maxlength="255" name="projectName" type="text" projectinfo="1">

【问题讨论】:

  • 您的 html 中是否缺少任何 placeholder 属性?
  • 嗨 Nitin,这是该输入的完整 html 标记。

标签: selenium selenium-webdriver


【解决方案1】:

getText() 返回“此元素的可见(即不被 CSS 隐藏)innerText,包括子元素,没有任何前导或尾随空格。”你需要getAttribute("value")getAttribute("placeholder") 之类的东西。

【讨论】:

    【解决方案2】:

    getText() 方法用于检索元素标签之间的文本节点,例如:

    例如:

    <p>New</p>
    

    但通常将文本框中的值保存到“值”属性。所以下面的语句会起作用:

    findElement(By.id("ElementID")).getAttribute("value");
    

    【讨论】:

      【解决方案3】:

      是的,我会尝试看看 getAttribute("value") 是否有效。同时,我已经使用 JavaScript 执行器解决了这个问题:

      String jsStatement = "return document.getElementById('" + elementId + "')." + "value" + ";";
      JavascriptExecutor js = null;
      if (session instanceof JavascriptExecutor) {
          js = (JavascriptExecutor)session;
      }
      return (String) js.executeScript(jsStatement);  
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-11-14
        • 2014-06-19
        • 2021-06-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多