#c# #javascript #exception #selenium
#c# #javascript #исключение #selenium
Вопрос:
Я пишу тестовые сценарии Selenium в C#.Net и я продолжаю натыкаться на это исключение —
ERROR: Threw an exception: return not in function
Вот моя строка кода, которая выдает ошибку —
string code = selenium.GetEval(
"var win = this.browserbot.getUserWindow(); "
"return win.editAreaLoader.GetValue(win.loadedCodeEditorID);"
);
Кто-нибудь, пожалуйста, может подсказать, почему возникает исключение и какой может быть лучший способ получить возвращаемое значение из функции javascript GetValue?
Спасибо,
Саартхак
Ответ №1:
Из документации selenium для GetEval
:
Возвращает результат вычисления указанного фрагмента JavaScript. Фрагмент может содержать несколько строк, но будет возвращен только результат последней строки.
Поэтому вам просто нужно отключить return
:
string code = selenium.GetEval(
"var win = this.browserbot.getUserWindow(); "
"win.editAreaLoader.GetValue(win.loadedCodeEditorID);"
);
Комментарии:
1. Получил эту ошибку — ОШИБКА: выдал исключение: win.editAreaLoader. Получаемое значение не является функцией
2. это API с открытым исходным кодом. getEval работает нормально, когда я не возвращаю никакого значения.
3. @saarthak — судя по всему, это
GetValue
естьundefined
. Вы уверены, что это не такgetValue
?4. вместо GetValue было GetValue. Как глупо с моей стороны! Спасибо, что указали.