2012-03-16 73 views
2

我有一個測試場景,它必須單擊動畫後顯示的元素,但元素在動畫時不可用於操作:Selenium::WebDriver::Error::UnknownError: Element is not clickable at point (...)如何等待動畫使用watir-webdriver完成?

有沒有一種方法可以在動畫完成上同步確定性行爲(我將避免基於睡眠的解決方案)

+0

您應該使用等待技巧(http://watirwebdriver.com/waiting/)。沒有一個代碼的例子,這就是我們可以幫助你的一切。 – p0deje 2012-03-16 09:08:57

+0

我試過了,但問題在其他地方......看到我的答案。 – 2012-03-16 09:43:56

回答

1

我們找到了一個解決方案:事實上,我們使用Tweeter Bootstrap,並通過CSS屬性實現動畫。

擺脫這種「更好」的方式是等到CSS屬性具有最終價值。

Watir::Wait.until { 
    top = browser.execute_script 'return $("#my-id").css("top");' 
    top == "30%" 
} 

任何「更好」的想法是值得歡迎的。