使用WebDriverWait。例如,这将执行google搜索,然后等待某个元素出现,然后再打印结果:
import contextlibimport selenium.webdriver as webdriverimport selenium.webdriver.support.ui as uiwith contextlib.closing(webdriver.Firefox()) as driver: driver.get('http://www.google.com') wait = ui.WebDriverWait(driver, 10) # timeout after 10 seconds inputElement = driver.find_element_by_name('q') inputElement.send_keys('python') inputElement.submit() results = wait.until(lambda driver: driver.find_elements_by_class_name('g')) for result in results: print(result.text) print('-'*80)wait.until将返回lambda函数的结果,或者
selenium.common.exceptions.TimeoutException如果lambda函数在10秒后继续返回Falsey值,则返回a。
您可以
WebDriverWait在Selenium书中找到更多信息。



