我对splinter有一些恼人的行为。我做了
button.click()
assert not button.visible # Fails
然后我做
button.click()
time.sleep(1)
assert not button.visible # Succeeds
这很糟糕......这是预期的行为吗?其他所有东西似乎都在轮询之前等待它失败。
答案 0 :(得分:0)
我不确定Splinter如何在内部工作,但看起来你正在使用属性访问,它可能会被缓存。你试过了吗?
assert not browser.is_element_visible_by_css("#my-button-id")
is_element_visible_by_css
始终是您可以在Splinter设置中配置的隐式等待。请注意,使用浏览器(Selenium)测试时,所有内容都有隐式等待,因为浏览器DOM操作是异步发生的,当某个元素变得可见或消失时,没有反向信道来获取信息。