【问题标题】:Clear textarea with facebook webdriver使用 facebook webdriver 清除 textarea
【发布时间】:2019-09-26 23:34:35
【问题描述】:

我正在使用 PHP facebook/webdriver 包来处理一些 Web 自动化测试。

我无法清除 <textarea> 元素的内容并且已经用完了选项。

给定:

  • 一个dom元素<textarea>content</textarea>
  • $element 成为 Facebook\WebDriver\WebDriverElement 实例

我试过打电话给RemoteWebElement::clear()

// phpdoc for this method states: 
// "If [is] TEXTAREA or text INPUT element, this will clear the value"

var_dump($element->getTagName()); // string(8) "textarea"
var_dump($element->getText());    // string(7) "content"

$element->clear(); 

var_dump($element->getText());    // string(7) "content"

我已尝试发送退格键:

var_dump($element->getTagName()); // string(8) "textarea"
var_dump($element->getText());    // string(7) "content"

for ($i = 0; $i < mb_strlen($element->getText()); $i++) {
    $element->sendKeys(WebDriverKeys::BACKSPACE);
}

var_dump($element->getText());    // string(7) "content"    

我有点不知所措。有什么想法吗?

【问题讨论】:

    标签: php webdriver facebook-webdriver


    【解决方案1】:

    要查询文本区域的内容,请使用$element-&gt;getAttribute('value') 而不是$element-&gt;getText()

    RemoteWebElement::getText() 出现只是为了获取页面加载时存在的文本节点。至少这是我根据观察到的行为得出的最佳猜测。

    RemoteWebElement::getAttribute('value') 获取 texarea 的当前内容。由于 texarea 元素在 HTML 中没有 value 属性,我没有猜到这是正确的解决方案。

    【讨论】:

      猜你喜欢
      • 2011-12-05
      • 1970-01-01
      • 1970-01-01
      • 2021-12-28
      • 2023-01-24
      • 1970-01-01
      • 2015-09-12
      • 1970-01-01
      • 2017-05-24
      相关资源
      最近更新 更多