Javascript 硒元素不可见异常。元素在Safari 9.1中可见,但在10.1中不可见?

Javascript 硒元素不可见异常。元素在Safari 9.1中可见,但在10.1中不可见?,javascript,selenium,safari,Javascript,Selenium,Safari,此测试: @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. (WARN

此测试:

@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())
在Safari9.1中,它返回True,但在10.1中它返回False

当HTML和JS都相同时,这是什么原因

我怎样才能让它在Safari 10中工作

e1: 添加等待无效:

element = WebDriverWait(context.browser, 10).until(
    EC.presence_of_element_located((By.NAME, b))
)

在优胜美地Safari 10上,Safari驱动程序不包括在内,您应该降级selenium 2.48.0版。或者将您的操作系统更新到macOS Sierra


或者将您的Safari驱动程序版本更新为10.0.2 beta 2。

元素始终可见还是通过某种交互显示?如果它是从交互中显示的,那么在交互完成之前,您可能试图过早地访问该元素,因此该元素不可见。yetI也有同样的问题,safari 11.0.2。非常令人沮丧。您是如何解决的?目前无法解决“或将您的操作系统更新为macOS Sierra”。我一直在塞拉岛上测试这个。那么它不应该工作吗?在Sierra上,你应该看到Safari版本是11,而不是10.0.2 beta,检查是否安装了所有更新High Sierra上的更新,常规Sierra显示10.1是最新版本。我正在使用browserstack进行实际测试。IDK这对webdriver版本的影响safaridriver的很多错误修复都在safari 11中,而且它非常稳定