Не удалось найти iframe в тестовом примере

У меня есть этот тестовый пример:

Select Frame    id=coach_frame63454108.cf1
Wait Until Element Is Visible       ${ap.gui.header.appname}
Page Should Contain Element         ${ap.gui.header.appname}
Page Should Contain Element         ${ap.gui.header.appnum}
Page Should Contain Element         ${ap.gui.header.procnum}

Но всегда есть следующая ошибка:

Element with locator 'coach_frame63454108.cf1' not found.

HTML-код iframe:

<iframe id = "coach_frame63454108.cf1" style = "border: 0px; height: 100%; width: 100%; display: block" title = "Verify Application"></iframe>  

Может ли кто-нибудь помочь мне, пожалуйста.

Попробуйте переключиться вместо выбора, потому что это фрейм, или вы можете попробовать другие локаторы, такие как xpath, если есть проблема с ..

Ali 30.01.2019 19:34

@AliCSE Я уже пробовал другие локаторы, и результат тот же. Как я могу переключиться вместо выбора

Carlos Peixoto 30.01.2019 20:19

Можно попробовать вот так driver.switch_to.frame(driver.find_element_by_xpath("//ifram‌​e[contains(@id, 'coach_frame')]"'))

Ali 31.01.2019 05:05

Чтобы снова вернуться в главное окно, вы можете попробовать driver.switch_to.default_content()

Ali 31.01.2019 05:06

Для получения дополнительной информации Обратитесь по этой ссылке

Ali 31.01.2019 05:09

@AliCSE ключевое слово Select Frame является оболочкой Robotframework над switch_to() селена.

Todor Minakov 31.01.2019 09:05

Ой...! Спасибо @Тодор Минаков. я этого не знаю...

Ali 31.01.2019 10:06
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
CSS: FlexBox
CSS: FlexBox
Ранее разработчики использовали макеты с помощью Position и Float. После появления flexbox сценарий полностью изменился.
0
7
72
2

Ответы 2

Я также столкнулся с аналогичной проблемой, ожидая, пока рамка станет видимой, решило ее, поэтому вы можете попробовать, как указано ниже:

Wait Until Element Is Visible    id=coach_frame63454108.cf1
Select Frame    id=coach_frame63454108.cf1
Wait Until Element Is Visible    ${ap.gui.header.appname}
Page Should Contain Element    ${ap.gui.header.appname}
Page Should Contain Element    ${ap.gui.header.appnum}
Page Should Contain Element    ${ap.gui.header.procnum}

Кроме того, перед выбором кадра обязательно снимите выделение с любого ранее выбранного кадра.

Спасибо за помощь, но я уже пробовал это и не работал. Ошибка была: Элемент 'id=coach_frame63454108.cf1' не виден через 5 секунд.

Carlos Peixoto 31.01.2019 10:42

Вы можете сначала вызвать Unselect Frame, чтобы вернуться к основному набору фреймов — браузер может уже находиться в фрейме, в этом случае Select Frame будет искать подфрейм.

Спасибо за помощь, но я уже пробовал это и тоже не работал.

Carlos Peixoto 31.01.2019 10:43

Другие вопросы по теме