Селен - введите текст, используя скрипт java - PullRequest
1 голос
/ 09 июля 2020

Вставьте значение в конкретный элемент, используя javascript

Html код

<code><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>

Мне нужно вставить текст в классе span <span class="cm-word"></span>

Код:

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

1 Ответ

1 голос
/ 09 июля 2020

Используйте вместо этого свойство innerHTML:

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

Альтернативы:

  • textContent: arguments[0].textContent = 'sample text'
  • innerText: arguments[0].innerText = 'sample text'

Свойство value используется для полей формы, которые позволяют вводить данные пользователем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...