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
ABSPATH=os.path.abspath(sys.argv[0])
ABSPATH=

本文介绍如何在Python Selenium中使用webdriverwater库进行智能等待,直到AJAX调用完成。通过设置最大等待时间为30秒,并利用lambda表达式判断jQuery.active是否为0来确认AJAX请求已完成。示例代码包括打开网页、点击元素、填写表单等操作。
最低0.47元/天 解锁文章
781

被折叠的 条评论
为什么被折叠?



