Я только что обновил Selenium Test Project, чтобы использовать новую версию 3.0.1 с 2.53.0. Сейчас я использую Geckodriver v0.11.1 и сейчас тестирую исключительно в Firefox версии 46.0.1.
До обновления у меня был код, который выглядел так:
driver.Navigate().GoToUrl(DefaultBaseURL);
driver.ExecuteScript("$('#" + XXXX + "').val(\"" + XXXX + "\");");
После обновления вторая строка перестает работать со следующей ошибкой:
WebDriverException: ReferenceError: $ не определено
Я снова смогу заработать, если включу UseLegacyImplementation. Согласно веб-сайту Selenium, это Итак, здесь не так много деталей ... но когда я включаю его, кажется, что он работает так же, как 2.53.0.
Мое первое предположение по этой проблеме заключается в том, что это связано со временем, как и в упомянутом сообщении здесь. Но даже когда я помещаю большое время ожидания между двумя строками, конечный результат всегда один и тот же. Похоже, что новая библиотека селена не может обнаружить, что страница уже загрузила jQuery.
Есть ли способ вызвать сценарии, зависящие от JQuery, в Selenium 3.0.1 без включения UseLegacyImplementation?