selenium 智能等待ajax完成调用 使用webdriverwater 传入一个lambda表达式 判断 ajax调用转台 当 jquery。active==0 表示ajax调用完成 仅在jquery中有效
参数 30 表示最长等待时间 为30秒 超过30秒 调用没完成 报错
参数 driver 是指 一个webdriver对象 eg:driver = webdriver.PhantomJS()
lamda表达式 可以理解为python的匿名函数 s表示的是参数 具体指的就是driver了
WebDriverWait(driver, 30).until(lambda s: s.execute_script("return jQuery.active == 0"))
# -*- coding: utf-8 -*-
import random
import time
import sys
import os
import mypack.text
import mypack.getredis
reload(sys)
sys.setdefaultencoding('utf8')
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC