Селен - ElementNotVisibleException. Элемент виден в Safari 9.1, а не в 10.1?

1

Этот тест:

@when('voter clicks "{b}"')
def step(context, b):
    context.browser.find_element_by_name(button).click()

Броски:

ElementNotVisibleException: Message: An element command 
could not be completed because the element is not visible on the page. (WARNING: The server did not provide any stacktrace information)

Поэтому я добавил

print(context.browser.find_element_by_name(button).is_displayed())

В Safari 9.1 он возвращает True, но в 10.1 он возвращает False.

Что может быть причиной этого, когда HTML и JS идентичны для обоих?

Как я могу заставить его работать в Safari 10?

e1: Добавление ожидания не сработало:

element = WebDriverWait(context.browser, 10).until(
    EC.presence_of_element_located((By.NAME, b))
)
  • 0
    Всегда ли элемент виден или это видно из какого-то взаимодействия? Если он показан из взаимодействия, возможно, вы пытаетесь получить доступ к элементу слишком рано, прежде чем это взаимодействие будет выполнено, так что элемент еще не виден
  • 0
    У меня та же проблема с сафари 11.0.2. Супер расстраивает. Как ты это решил?
Показать ещё 1 комментарий
Теги:
selenium
safari

1 ответ

1

На Yosemite Safari 10 не включен драйвер Safari, вы должны понизить версию селена версии 2.48.0 Selenium версии 2.48.0. Или обновите свою ОС до macOS Sierra. Читайте здесь.

Или обновите версию Safari Driver до 10.0.2 beta 2.

  • 0
    Msgstr "Или обновить ОС до macOS Sierra". Я проверял это на Сьерре. Так не должно ли это работать?
  • 0
    на Sierra вы должны увидеть версию Safari как 11, а не бета-версию 10.0.2, проверьте, установлены ли все обновления
Показать ещё 4 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню