这个测试:
@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 :(得分:1)
在Yosemite Safari 10上不包含Safari驱动程序,您应该降级硒版本2.48.0 Selenium version 2.48.0。或者将您的操作系统更新为macOS Sierra Read it here。
或者将您的Safari驱动程序版本更新为10.0.2 beta 2.