2016-09-23 45 views
0

上我需要運行循環下去,直到「.loadMore」 CSS選擇器存在於網頁:運行while循環,直到CSS選擇器是目前網頁

while ec.presence_of_element_located('.loadMore'): 
     element_number = 25 * i 
     wait = WebDriverWait(driver, time1); 
     sub_button = (by, hook + str(element_number)) 
     wait.until(ec.presence_of_element_located(sub_button)) 
     driver.find_element_by_css_selector(button).click() 
     time.sleep(5) # Makes the page wait for the element to change 
     i += 1 
+1

來看,它不是一個隱含的等待工作在這種情況下更好? – Brian

+0

我需要while條件。換句話說,運行循環直到.loadMore出現在網頁中 –

+0

隱含的等待將代替你已有的等待,是我的觀點。 – Brian

回答

-1

寫您的高清檢查元素存在

from selenium.common.exceptions import NoSuchElementException   
def check_element_presence(selector): 
    try: 
     webdriver.find_element_by_css_selector(selector) 
    except NoSuchElementException: 
     return False 
    return True 

現在像

while check_element_presence('.loadmore'): 
    ... 
    ... 
    ...