2016-09-23 7 views
0

Мне нужно, чтобы запустить этот цикл, пока «.loadMore» селектор CSS присутствует на странице:запустить цикл, а до тех пор пока селектор 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'): 
    ... 
    ... 
    ... 

 Смежные вопросы

  • Нет связанных вопросов^_^