2014-01-13 48 views
0

我正在對我公司的一些內部軟件進行自動化測試。搜索時,頁面上會出現一個小微調,當搜索完成時(下面的代碼)它會消失。在搜索過程中,rf-st-stop的樣式爲"display: none;",搜索完成時rf-st-start具有該樣式。所以,我需要的是針對該元素並等到它消失,然後執行我的檢查以確保搜索成功。非常感謝!Selenium/Python - 針對「加載」gif並在.gif消失後執行操作?

<span class="rf-st-start" style="" > 
    <img alt="processing" src="/images/loading.gif" ></img> 
</span> 
<span class="rf-st-stop" style="display: none;" ></span> 

回答

1

根據selenium documentaion 你可以做這樣的事情:

from selenium import webdriver 
from selenium.webdriver.common.by import By 
from selenium.webdriver.support.ui import WebDriverWait # available since 2.4.0 
from selenium.webdriver.support import expected_conditions as EC# available since 2.26.0 

ff = webdriver.Firefox() 
ff.get("http://somedomain/url_that_delays_loading") 
element = WebDriverWait(ff, 10).until(EC.visibility_of_element_located((By.CLASS_NAME, "rf-st-stop"))) 

你也可以使用EC.invisibility_of_element_located

+1

謝謝,這是非常有益的。我確實看到'By.CLASS'應該是'By.CLASS_NAME'(參見['By'documentation](http://selenium.googlecode.com/git/docs/api/py/webdriver/selenium.webdriver)。 common.by.html])。請編輯它以防將來被其他人引用。再一次感謝您的幫助, – kroe761

+0

謝謝。 – Elisha