Splinter等待element.visible

时间:2016-02-03 12:04:57

标签: django testing splinter

我对splinter有一些恼人的行为。我做了

button.click()
assert not button.visible  # Fails

然后我做

button.click()
time.sleep(1)
assert not button.visible  # Succeeds

这很糟糕......这是预期的行为吗?其他所有东西似乎都在轮询之前等待它失败。

1 个答案:

答案 0 :(得分:0)

我不确定Splinter如何在内部工作,但看起来你正在使用属性访问,它可能会被缓存。你试过了吗?

 assert not browser.is_element_visible_by_css("#my-button-id")

is_element_visible_by_css始终是您可以在Splinter设置中配置的隐式等待。请注意,使用浏览器(Selenium)测试时,所有内容都有隐式等待,因为浏览器DOM操作是异步发生的,当某个元素变得可见或消失时,没有反向信道来获取信息。