x__miller_x
@x__miller_x

Как ускорить ввод в Internet Explorer (IE) 11 в тестах Selenium?

Дня доброго!
При прогоне базового теста (логин) столкнулся с неожиданной проблемой на IE 11: очень медленный ввод текста в поля инпута.
Windows 10 x64,
IE 11,
Pytest,
Selenium 3.141

Пробовал использовать и x32 бинари драйвера, и x64. В настройках самого IE отмечен чекбокс совместимости с 64-битными процессами. Пробовал отключать native events - толку 0. Приходится использовать duct tape в виде ctrl+c / ctrl+v.

Может есть воркэраунд какой-то?
  • Вопрос задан
  • 426 просмотров
Решения вопроса 1
x__miller_x
@x__miller_x Автор вопроса
Итак, проблема решилась сама собой, когда тесты были запущены на VM с 32-bit Windows и 32-битной бинарей IEDriverServer
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@1001001
Используйте JS и browser.execute_script
Подсмотреть функцию для вставки можно в Selenide
browser.execute_script(s"return (function(webelement, text) {" +
      "if (webelement.getAttribute('readonly') != undefined) return 'Cannot change value of readonly element';" +
        "if (webelement.getAttribute('disabled') != undefined) return 'Cannot change value of disabled element';" +
        "webelement.focus();" +
        "var maxlength = webelement.getAttribute('maxlength') == null ? -1 : parseInt(webelement.getAttribute('maxlength'));" +
        "webelement.value = " +
        "maxlength == -1 ? text " +
        ": text.length <= maxlength ? text " +
        ": text.substring(0, maxlength);" +
        "return null;" +
        "})(arguments[0], arguments[1]);", element, text)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы