Я пытаюсь переключать кадры в системе MS Dynamics 365 с помощью Selenium WebDriver. Я объясню один из вопросов ниже. Вот код HTML-элемента:
код элемента здесь
Обычно я использовал id = contentIFrame0 или 1, и кадры переключались нормально. Проблема в том, что MS Dynamics генерирует эти iframes динамически, обычно содержит не более 3 iframes (contentIFrame0, contentIFrame1, contentIFrame2), но дело в том, что вы никогда не знаете, что они будут 2 или 1 на странице и почему, поэтому, если вы используете сегодня один из них напрямую - завтра ваши тесты не пройдут из-за изменений.
Кажется, мне приходится все время переключаться на последний кадр, но он работает случайным образом, потому что иногда первый элемент содержит элемент, а другой - сценарии. Другая вещь, которую я пытался сделать, это переключиться на один iframe, который имеет атрибуты: style = visibility: visible (до этого я пытался вывести в консоли, сколько видимых кадров видит драйвер - но записывается все время 0). Кроме того, если я попытаюсь напечатать в консоли, сколько фреймов на странице - счетчик равен 2, но я вижу 3.
Если есть кто-нибудь, кто пытался автоматизировать MS Dynamics 365 и имел такую же проблему?
Я описал, наверное, все случаи, может быть, вы заметите логику и разницу.