Альтернатива isDisplayed (), поскольку она недоступна в / из Safari 12

На одном из шагов теста перед нажатием на какой-либо элемент я использую селен.

ExpectedConditions.elementToBeClickable(element)

Этот метод проверяет видимость, подтверждая, что элемент отображается

element.isDisplayed()

Тесты запускаются в стеке браузера.

Обратите внимание, что с комбинацией OS X High Sierra + Safari 11 этот шаг проходит. Но с Mojave + Safari 12 после того, как элемент найден и отправлен запрос
/ session /: sessionId / element /: id / display, я вижу в ответе журнала селена «неизвестная команда»:

{"value":{"error":"unknown command","message":"The command 'GET \/session\/CD43B950-D8D6-49A4-A0FF-3F459F1F6D86\/element\/node-E721541C-713B-4607-8041-C79138E08704\/displayed' was not found.","stacktrace":""}}

Здесь я вижу, что такой запрос ("отображается") отсутствует: https://developer.apple.com/documentation/webkit/macos_webdriver_commands_for_safari_12_and_later?language=objc

Итак, вопрос: можно ли использовать element.isDisplayed () с Safari 12? Я что-то упускаю? Если это невозможно, поделитесь возможными обходными путями. Спасибо

Обновить. Из службы поддержки Apple:

Пожалуйста, знайте, что наша команда инженеров определила, что эта проблема работает должным образом, на основе предоставленной информации.

Если вам нужен element.isDisplayed (), мы рекомендуем вам скопировать атом в свой репозиторий и запустить его с помощью команды Execute Script. Это то, что начали делать более поздние версии библиотек Selenium, потому что драйверы больше не обязательно поставляют это.

Уточнение: в моих тестах используется селен 2.52


person kate    schedule 26.12.2018    source источник
comment
почему вы не можете попробовать Is Element Enabled, если вы хотите использовать кнопку вместо isDisplayed?   -  person murali selenium    schedule 26.12.2018
comment
@DebanjanB выглядит, что этот вопрос в основном связан с новой версией, где isDisplayed недоступен, а дублированный вопрос - это что-то другое. перекрестная проверка один раз   -  person murali selenium    schedule 26.12.2018
comment
@muraliselenium, спасибо за альтернативу, попробую. И вы правы, в основном речь идет о сафаридрайвере 12. Я не нашел информации, как использовать isDisplayed в Safari 12.   -  person kate    schedule 26.12.2018