使用
WebDriverWait要等到表位于:
from selenium.webdriver.common.by import Byfrom selenium.webdriver.support.wait import WebDriverWaitfrom selenium.webdriver.support import expected_conditions as EC...wait = WebDriverWait(driver, 10)table = wait.until(EC.presence_of_element_located(By.CSS_SELECtOR, 'div.datatable'))
这将是 明显的等待 。
或者,您可以使驱动程序 隐式等待 :
隐式等待是告诉WebDriver在尝试查找一个或多个元素(如果不是立即可用)时轮询DOM一定时间。默认设置为0。设置后,将在WebDriver对象实例的生存期内设置隐式等待。
from selenium import webdriverdriver = webdriver.Firefox()driver.implicitly_wait(10) # wait up to 10 seconds while trying to locate elementsfor page in range(1, 2): driver.get("http://somesite.com/page/"+str(page)) table = driver.find_element_by_css_selector('div.datatable') links = table.find_elements_by_tag_name('a') for link in links: print link.text
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)