Selenium2Library; Невозможно выбрать новое окно по имени или URL-адресу [идентификаторы и заголовки совпадают]

Я не могу выбрать новое окно, которое открывается после нажатия кнопки в IE11. Я пробовал с именем окна, идентификатором окна и заголовками, но ни один из них не работает, но он работал сразу.

Select PPM Login Window
Click Element   //*[@id='myNewWindow']  
Sleep    15s
@{windows}=    Get Window Names
@{windId}=    Get Window Identifiers
@{winTitles}=    Get Window Titles
: FOR    ${winHandle}    IN    @{winTitles}
\    Select Window    ${winHandle}
\    Sleep    5s
\    ${status}=    Run Keyword And Return Status    Page Should Contain         Element    name=login_name
\    Exit For Loop If    '${status}'=='True'

Вывод списков:

@{windows} = [ selenium_main_app_window | undefined ]
@{windId} = [ undefined | undefined ]
@{winTitle}= [ABCD | ABCD]

Ошибка: ValueError: Невозможно найти окно с дескриптором, именем, заголовком или URL-адресом "selenium_main_app_window"

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

0 ответов

У меня такая же проблема с электронным приложением (слабина). С вашим вопросом, почему он не работает с именем окна (selenium_main_app_window), потому что это имя неверно, это просто жесткий код в selenium2library, как показано ниже:

def get_window_names(self):
    """Returns and logs names of all windows known to the browser."""
    values = self._window_manager.get_window_names(self._current_browser())

    # for backward compatibility, since Selenium 1 would always
    # return this constant value for the main window
    if len(values) and values[0] == 'undefined':
        values[0] = 'selenium_main_app_window'

    return self._log_list(values)
Другие вопросы по тегам