Java исполнитель скрипта - передача символа одиночной кавычки Получение ошибки «Неожиданный идентификатор» - PullRequest
1 голос
/ 10 июля 2020

Я хочу передать указанное ниже значение в скрипт, используя javascript исполнителя.

String value = "ac.saveDocket('CompanyRegistration','https://yyy.yyy',0);"

Код

JavascriptExecutor executor = ((driver) as JavascriptExecutor)
WebElement webElement = driver.findElement(By.xpath("//div[@class=\'CodeMirror-code\']/div[1]//pre"))
executor.executeScript("arguments[0].innerHTML='$value';", webElement)

, когда я выполняю код, получая указанную ниже ошибку.

org.openqa.selenium.JavascriptException: javascript error: Unexpected identifier

без специального символа он выполнен успешно, проблема только в специальном символе, дайте мне знать, как я могу передать специальный символ через javascript исполнитель?

1 Ответ

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

Это работает в консоли браузера:

arguments[0].innerHTML='ac.saveDocket(\'CompanyRegistration\',\'https://yyy.yyy\',0);'

А для java кода используйте это:

String value = "ac.saveDocket(\\'CompanyRegistration\\',\\'https://yyy.yyy\\',0);";

WebElement element = driver.findElement(By.xpath("your_xpath"));

JavascriptExecutor executor = (JavascriptExecutor)driver;

executor.executeScript("arguments[0].innerHTML='"+value+"'", element);
...