#python #css #selenium #robotframework
#python #css #селен #robotframework
Вопрос:
Приведенный ниже текст предупреждения внутри вставленной функции появляется только при нажатии кнопки. Я хочу захватить текст для его проверки.
Когда я использую следующий код, я могу найти локатор на странице, но в моем ответе текст не возвращается. Как я могу попасть внутрь функции?
${response} Get Text css=body script:nth-child(9)
(script)
$(function () {
Metro.toast.create("No changes have been entered so
nothing will be updated in CMS!", null, 6000, "alert");
});
(/script)
Ответ приходит как передача, но без текста.
15:49:17.350 INFO ${response} =
Ответ №1:
Get Text
в Selenium / SeleniumLibrary возвращает видимый текст в теге — например, то, что браузер отображает в окне просмотра. Естественно, все, что есть в a <script>
, это не так — это код, который будет выполнен (независимо от того, что он будет делать — помещать туда какой-то текст или нет, это код).
Однако вы все равно можете получить содержимое тега — у каждого элемента DOM есть атрибут innerHTML
, то есть его необработанное содержимое (до рендеринга и так далее). Итак, попробуйте это:
${response} Get Element Attribute css=body script:nth-child(9) innerHTML
Это, конечно, вернет вам все (потому что ответ — это необработанное содержимое) — "Metro.toast.create("
, и т. Д. — Поэтому вам придется немного манипулировать выводом, чтобы получить только аргумент метода.