WebDriverWait(self, driver, timeout).until(self, method,message=' ')
def until(self, method, message=''):
"""Calls the method provided with the driver as an argument until the \
return value is not False."""
end_time = time.time() + self._timeout
while(True):
try:
value = method(self._driver)
if value:
return value
except self._ignored_exceptions:
pass
time.sleep(self._poll)
if(time.time() > end_time):
break
raise TimeoutException(message)
例1:
WebDriverWait(driver, 10).until(lambda s: not self.is_element_present((By.ID, ‘delete-me’)))
例2:
from selenium import webdriver
import time
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support import expected_conditions as EC
driver=webdriver.Firefox()
driver.get("http://www.baidu.com")
print (driver.title)
inputElement = driver.find_element_by_id("kw")
inputElement.send_keys("cheese!")
inputElement.submit()
try:
WebDriverWait(driver, 10).until(EC.title_contains("cheese!"))
print (driver.title)
finally:
driver.quit()
浙公网安备 33010602011771号