javascript - Selenium - ElementNotVisibleException。元素在 Safari 9.1 中可见,但在 10.1 中不可见?

标签 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. (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 驱动程序,您应该降级您的 selenium 版本 2.48.0 Selenium version 2.48.0 .或者将您的操作系统更新到 macOS Sierra Read it here .

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

关于javascript - Selenium - ElementNotVisibleException。元素在 Safari 9.1 中可见,但在 10.1 中不可见?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46893203/

相关文章:

javascript - HTML - 更改复选框选择的 div 最大宽度属性

python - 无法从网页中抓取产品标题

c# - 元素不可点击,另一个元素接收点击 - Selenium C#

javascript - vue.js 中的 audio.play() 不适用于 Safari 和 iPhone chrome

javascript - 调整页面大小时,如何使我的表单项响应并对齐?

javascript - Chart JS Line Graph multitooltipkey背景颜色问题

java - 如果我们使用 Selenium Webdriver,我们如何捕获测试用例结果?

Safari 中的 jQuery keyup 和 'enter'

javascript - Safari 中看似不一致的 onstorage 触发

javascript - Angular2中如何实现SHA-256加密