2016-04-21 3 views
1

Возможно ли повторное использование страницы с помощью селена? Я нажимаю кнопку, используя функцию, тогда HTML изменяется из-за javascript, и я хочу пересмотреть страницу, а не обновлять ее.Репарация Страница Selenium Web Driver - Python

Методы получения/обновления заставляют перезагружать страницу, что не то, что я ищу.

ответ

2

Это не совсем «репарация». Насколько я понимаю, это касается обнаружения изменений, сделанных на странице. Для этого вы должны использовать WebDriverWait и набор встроенных ожидаемых условий (или вы можете write a custom one), чтобы дождаться, что это изменение будет сделано на странице.

Скажем, например, элемент добавляется на страницу при нажатии кнопки. Вот как ждать, пока этот элемент не виден:

from selenium.webdriver.common.by import By 
from selenium.webdriver.support.ui import WebDriverWait 
from selenium.webdriver.support import expected_conditions as EC 

# ... 

button.click() 

wait = WebDriverWait(driver, 10) 
wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR, "#id-of-the-added-element"))) 

# now the page is "re-parsed" 
print(driver.page_source) 

Он будет ждать до 10 секунд проверки состояния ожидаемого состояния через каждые 500 миллисекунд (по умолчанию).

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