【问题标题】:Selenium - Enter a text using java scriptSelenium - 使用 javascript 输入文本
【发布时间】:2020-10-30 03:02:06
【问题描述】:

使用 javascript 在特定元素中插入值

HTML代码

<div class="CodeMirror-code" style="">
<div style="position: relative;">
<div style="position: absolute; left: -52px;">
    <div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 18px; width: 12px;">1</div>
</div>
<pre>
    <span class="cm-word"></span>
</pre>
</div>
</div>

我需要在span类&lt;span class="cm-word"&gt;&lt;/span&gt;中插入一段文字

代码:

WebDriver driver = DriverFactory.getWebDriver()
WebElement webElement = driver.findElement(By.xpath("//div[@class='CodeMirror-code']//pre"))
JavascriptExecutor executor = ((driver) as JavascriptExecutor)
executor.executeScript("arguments[0].value='sample text';", webElement)

当我执行代码值时没有插入,我没有收到任何错误。正常的 setText 方法不起作用,所以我选择了 javascript 选项。

这是一个 Salesforce 应用程序控制台模式执行

【问题讨论】:

    标签: javascript java selenium selenium-webdriver salesforce


    【解决方案1】:

    改用innerHTML 属性:

    executor.executeScript("arguments[0].innerHTML = 'sample text';", webElement)
    

    替代方案:

    • 文本内容:arguments[0].textContent = 'sample text'
    • 内文:arguments[0].innerText = 'sample text'

    value 属性用于允许用户输入的表单字段。

    【讨论】:

      猜你喜欢
      • 2014-06-29
      • 2018-03-22
      • 1970-01-01
      • 2018-06-09
      • 2014-07-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多