selenium关于等待的处理方法
1.通过判断控件是否存在来决定等待时长。主要用于两种情况:1.页面跳转时,通过判断新页面的某个控件是否存在来判断页面跳转是否结束。2.点击下拉菜单后,通过判断选项中某个控件是否存在来判断下拉菜单的js是否执行完毕。代码如下:
1 my_xpath = '/html/body/div[3]/div[2]/div[' + str(dm) + ']' #此处是下拉菜单某个选项的xpath 2 WebDriverWait(driver, 10, 0.5).until(EC.presence_of_element_located((By.XPATH, my_xpath)))
2.对于页面整体刷新的情况,通过判断页面是否整体刷新来决定等待时长。主要用于页面出现整体刷新时使用。代码如下:
driver.implicitly_wait(10)
3.对于页面采用ajax进行局部刷新的情况,通过判断ajax回调函数是否执行完毕来决定等待时长,主要用于处理ajax局部刷新的页面。代码如下:
WebDriverWait(driver, 10).until(lambda s: s.execute_script("return jQuery.active == 0"))

浙公网安备 33010602011771号