2015-04-11 1 views
1

Я устанавливаю строку в activeElement.value, и все работает нормально. Теперь я хочу, чтобы установить переменную в activeElement.value и я получаю следующий код ошибки:Как установить переменную в активный элемент?

Исключение в нити «основной» org.openqa.selenium.WebDriverException: patientID не определена длительность команд или тайм-аут: 66 миллисекунд Информация о сборке: версия: '2.45.0', версия: '5017cb8', время: '2015-02-26 23:59:50' Информация о системе: host: 'MALTE', ip: '169.254.239.149 ', os.name: ' Windows 7 ', os.arch:' x86 ', os.version:' 6.1 ', java.version: ' 1.8.0_40 'Информация о драйвере: org.openqa.selenium.firefox.FirefoxDriver Возможности [{applicationCacheEnabled = true, rotatable = false, handlesAlerts = true, databaseEnabled = tr у.е., версия = 37.0.1, платформы = WINDOWS, nativeEvents = ложный, acceptSslCerts = верно, webStorageEnabled = верно, locationContextEnabled = верно, browserName = светлячок, takesScreenshot = верно, javascriptEnabled = верно, cssSelectorsEnabled = истина}] Session ID: 9816aed6-75f7-48e2-90c5-4c018efd0af9 на sun.reflect.NativeConstructorAccessorImpl.newInstance0 (метод Native) на sun.reflect.NativeConstructorAccessorImpl.newInstance (Неизвестный источник) в sun.reflect.DelegatingConstructorAccessorImpl.newInstance (Неизвестно Источник) на java.lang.reflect.Constructor.newInstance (Неизвестный источник) на org.openqa.selenium.remote.ErrorHandler.createThrowa BLE (ErrorHandler.java:204) на org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed (ErrorHandler.java:156) на org.openqa.selenium.remote.RemoteWebDriver.execute (RemoteWebDriver.java:599) на org.openqa.selenium.remote.RemoteWebDriver.executeScript (RemoteWebDriver.java:508) на defaultPackage.DataCapture.SelectExistingPatientByID (DataCapture.java:179) в defaultPackage.DataCapture.main (DataCapture.java:50) Вызванный: org.openqa.selenium.WebDriverException: patientID не определен

Th е-код с переменной (не работает):

String patientID; 
patientID = "n1n3"; 
JavascriptExecutor jse = (JavascriptExecutor)driver; 
jse.executeScript("document.activeElement.value = patientID;"); 

Часть кода со строкой (рабочий):

jse.executeScript("document.activeElement.value = 'n1n3';"); 

Спасибо за вашу помощь!

ответ

0

Вы передаете значение вместо переменной. См. Ответ ниже.

String patientID; 
    patientID = "n1n3"; 
    JavascriptExecutor jse = (JavascriptExecutor)driver; 
    jse.executeScript("document.activeElement.value = '" + patientID + "';"); 
+1

Да, это имеет смысл! Большое спасибо! :) – Lisssy

+0

Рад, что это решение, которое вы хотели. Ухаживать за ответом? – Saifur

Смежные вопросы