Этот тест:
@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))
)
На Yosemite Safari 10 не включен драйвер Safari, вы должны понизить версию селена версии 2.48.0 Selenium версии 2.48.0. Или обновите свою ОС до macOS Sierra. Читайте здесь.
Или обновите версию Safari Driver до 10.0.2 beta 2.