中博建设集团有限公司网站楚风网站建设工作室

张小明 2025/12/30 19:20:53
中博建设集团有限公司网站,楚风网站建设工作室,wordpress中文插件seo百度,网站建设深圳官网#x1f345; 点击文末小卡片#xff0c;免费获取软件测试全套资料#xff0c;资料在手#xff0c;涨薪更快一、强制等待1.设置完等待后不管有没有找到元素#xff0c;都会执行等待#xff0c;等待结束后才会执行下一步2.实例#xff1a;driver webdriver.Chrome()driv…点击文末小卡片免费获取软件测试全套资料资料在手涨薪更快一、强制等待1.设置完等待后不管有没有找到元素都会执行等待等待结束后才会执行下一步2.实例driver webdriver.Chrome() driver.get(https://www.baidu.com) time.sleep(3) # 设置强制等待 driver.quit()二、隐性等待1.设置全局等待对每个查询的元素都生效当页面元素没有第一时间找到会等待implicitly_wait设置的时间时间过后再查找一次要是还没找到就报错。2.实例三、显性等待1.WebDriverWait类1导入webdriverwait类from selenium.webdriver.support.wait import WebDriverWait2实例化WebDriverWaitwait WebDriverWait(driver, 10, 2) # 10为等待时间2为在10s内每过2s去判断一次selenium提供了WebdriverWait类用于针对指定的元素设置等待其中内含until和until_not两个方法判断。3until(self, method, message: str ) 函数methon为判断条件若返回true则判断成功返回false判断失败打印message信息。message为判断失败时打印的信息可写可不写。driver webdriver.Chrome() driver.get(https://www.baidu.com) wait WebDriverWait(driver, 10, 2) # 设置显性等待 wait.until(判断条件, 返回false时打印的信息) driver.quit()4until_not(self, method, message: str ) 函数until_not效果与until相反返回false时判断成功返回true时判断失败。driver webdriver.Chrome() driver.get(https://www.baidu.com) wait WebDriverWait(driver, 10, 2) # 设置显性等待 wait.until_not(判断条件, 返回true时打印的信息) driver.quit()5判断条件通常与expected_conditions连用内部封装了判断方法。expected_conditions的具体用法我们接着往下看。2.expected_conditions下面介绍expected_conditions模块下所有的函数用法1title_is精准匹配页面标题匹配成功返回true失败返回falsefrom selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.wait import WebDriverWait from selenium.webdriver.support.expected_conditions import * option webdriver.ChromeOptions() option.add_argument(--headless) # 设置无窗口模式 driver webdriver.Chrome(optionsoption) brdriver.get(https://www.baidu.com) brwait WebDriverWait(driver, 10, 2) # 设置显性等待 brwait.until(title_is(百度一下你就知道)) # 精准匹配标题 brdriver.quit()2title_contains模糊匹配标题匹配成功返回true失败返回falsefrom selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.wait import WebDriverWait from selenium.webdriver.support.expected_conditions import * option webdriver.ChromeOptions() option.add_argument(--headless) # 设置无窗口模式 driver webdriver.Chrome(optionsoption) driver.get(https://www.baidu.com) wait WebDriverWait(driver, 10, 2) # 设置显性等待 wait.until(title_contains(百度)) # 模糊匹配标题 driver.quit()3presence_of_element_located判断定位的元素是否存在可见和隐藏元素存在返回true否则返回false。from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.wait import WebDriverWait from selenium.webdriver.support.expected_conditions import * option webdriver.ChromeOptions() option.add_argument(--headless) # 设置无窗口模式 driver webdriver.Chrome(optionsoption) driver.get(https://www.baidu.com) wait WebDriverWait(driver, 10, 2) # 设置显性等待 wait.until(presence_of_element_located((By.ID, kw)), 不存在) # 判断元素是否存在可见和隐藏元素都可判断 driver.quit()4url_contains判断页面url地址是否包含预期结果满足预期返回true不满足返回false。from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.wait import WebDriverWait from selenium.webdriver.support.expected_conditions import * option webdriver.ChromeOptions() option.add_argument(--headless) # 设置无窗口模式 driver webdriver.Chrome(optionsoption) driver.get(https://www.baidu.com) wait WebDriverWait(driver, 10, 2) # 设置显性等待 wait.until(url_contains(baidu1), 不包含) # 检测当前页面url地址是否包含预期结果 driver.quit()5url_matches判断当前页面地址是否包含预期结果内填写正则表达式满足预期返回true不满足返回false。from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.wait import WebDriverWait from selenium.webdriver.support.expected_conditions import * option webdriver.ChromeOptions() option.add_argument(--headless) # 设置无窗口模式 driver webdriver.Chrome(optionsoption) driver.get(https://www.baidu.com) wait WebDriverWait(driver, 10, 2) # 设置显性等待 wait.until(url_matches(baidu), 不包含) # 检测当前页面url地址是否包含预期结果,内填写正则表达式 driver.quit()6url_to_be精准判断url若相同返回true不同返回falsefrom selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.wait import WebDriverWait from selenium.webdriver.support.expected_conditions import * option webdriver.ChromeOptions() option.add_argument(--headless) # 设置无窗口模式 driver webdriver.Chrome(optionsoption) driver.get(https://www.baidu.com) wait WebDriverWait(driver, 10, 2) # 设置显性等待 wait.until(url_to_be(https://www.baidu.com/), 不存在) # 精准判断url driver.quit()7url_changes精准判断url若相同返回false不同返回true。from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.wait import WebDriverWait from selenium.webdriver.support.expected_conditions import * option webdriver.ChromeOptions() option.add_argument(--headless) # 设置无窗口模式 driver webdriver.Chrome(optionsoption) driver.get(https://www.baidu.com) wait WebDriverWait(driver, 10, 2) # 设置显性等待 wait.until(url_changes(https://www.baidu.c), 相等) # 精准匹配url不相等 driver.quit()8visibility_of_element_located判断定位的元素是否存在只能判断可见元素存在返回true不存在返回false。from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.wait import WebDriverWait from selenium.webdriver.support.expected_conditions import * option webdriver.ChromeOptions() option.add_argument(--headless) # 设置无窗口模式 driver webdriver.Chrome(optionsoption) driver.get(https://www.baidu.com) wait WebDriverWait(driver, 10, 2) # 设置显性等待 wait.until(visibility_of_element_located((By.ID, kw)), 不存在) # 判断元素是否存在只适用于可见元素 driver.quit()9visibility_of判断元素是否存在只能判断可见元素from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.wait import WebDriverWait from selenium.webdriver.support.expected_conditions import * option webdriver.ChromeOptions() option.add_argument(--headless) # 设置无窗口模式 driver webdriver.Chrome(optionsoption) driver.get(https://www.baidu.com) wait WebDriverWait(driver, 10, 2) # 设置显性等待 element_id driver.find_element(byBy.ID, valuekw) wait.until(visibility_of(element_id), 不存在) # 判断元素是否存在只适用于可见元素 driver.quit()此方法与visibility_of_element_located判断结果相同只是传递参数不同visibility_of传元素visibility_of_element_located传元组10presence_of_all_elements_located判断页面至少有一个定位的元素存在可见和隐藏元素都会判断。wait.until(presence_of_all_elements_located((By.TAG_NAME, span)), 没有一个存在) # 判断页面至少有一个定位的元素存在可见和隐藏元素都会判断11visibility_of_any_elements_located判断页面至少有一个定位的元素存在且为可见元素。wait.until(visibility_of_any_elements_located((By.TAG_NAME, span)), 没有一个存在) # 判断页面至少有一个定位的元素存在且为可见元素12visibility_of_all_elements_located判断定位的元素全部可见。wait.until(visibility_of_all_elements_located((By.TAG_NAME, span)), 不可见) # 判断定位的元素全部可见13text_to_be_present_in_element模糊匹配文本值。wait.until(text_to_be_present_in_element((By.XPATH, //span[contains(text(),123)]), 124), 匹配不成功) # 模糊匹配元素文本值14text_to_be_present_in_element_value模糊匹配定位元素的value值。wait.until(text_to_be_present_in_element_value((By.XPATH, //input[idsu]), 百度一下), 匹配错误) # 模糊匹配元素value值15text_to_be_present_in_element_attribute模糊匹配定位元素指定属性的属性值。wait.until(text_to_be_present_in_element_attribute((By.XPATH, //input[idkw]), name, w), 匹配错误) # 模糊匹配定位元素指定属性的属性值16frame_to_be_available_and_switch_to_it判断frame是否可以切换switch_to.frame()。wait.until(frame_to_be_available_and_switch_to_it((By.XPATH, elenment)), 不可切换) # 判断frame是否可以切换17invisibility_of_element_located判断定位的元素是否不可见或者不存在不可见返回true反之返回falsewait.until(invisibility_of_element_located((By.TAG_NAME, span)), 错误) # 判断元素是否不可见/不存在不可见返回true18invisibility_of_element判断元素是否不可见或者不存在不可见返回true反之返回false。spandriver.find_element(By.TAG_NAME, span) wait.until(invisibility_of_element(span), 错误) # 判断元素是否不可见或者不存在不可见返回true反之返回false与invisibility_of_element_located用法相同只是传递参数不同一个传元素一个传元组。19element_to_be_clickable判断定位的元素是否可点击wait.until(element_to_be_clickable((By.ID, su)), 错误) # 判断定位的元素是否可点击20staleness_of判断元素是否存在存在若在等待的时间内被移除则返回truespan driver.find_element(By.ID, su) wait.until(staleness_of(span), 错误) # 判断元素是否存在存在若在等待的时间内被移除则返回true这里注意的是传递的参数是元素。21element_to_be_selected判断元素是否被选中iddriver.find_element(byBy.XPATH, value//option[contains(text(),2)]) wait.until(element_to_be_selected(id),失败) # 判断可见元素是否选中这里注意的是传递的参数是元素。22element_located_to_be_selected判断定位的元素是否被选中选中返回true未选中返回false。wait.until(element_located_to_be_selected((By.XPATH, //option[contains(text(),1)])),失败) # 判断定位的元素是否被选中与element_to_be_selected用法相同不同的是传递的是元组。23element_selection_state_to_be判断元素选中的状态是否符合预期iddriver.find_element(byBy.XPATH, value//option[contains(text(),2)])brbrwait.until(element_selection_state_to_be(id,False),选中了) # 判断元素是否被选中并给出预期结果与element_selection_state_to_be用法相同不同的是传递的元组。25number_of_windows_to_be判断当前打开的窗口是否符合预期。wait.until(number_of_windows_to_be(1),不是一个) # 期望当前打开的窗口数为几个26new_window_is_opened判断是否新打开了一个窗口。hand driver.window_handles # 获取当前所有窗口的柄句 print(len(hand)) driver.find_element(byBy.XPATH, value//a[contains(text(),新闻)]).click() wait.until(new_window_is_opened(hand)) # 判断是否打开了一个新窗口27alert_is_present判断页面是否有alert。wait.until(alert_is_present(),没有alert) # 判断页面是否有alert28element_attribute_to_include判断定位的元素是否存在预期的属性值。这个我们就不做多余的介绍了因为本身封装的就有问题我们先来看下封装的原代码通过get_attribute(attribute_)获取属性值若为none则返回false否则返回不为none其实这点是存在问题的因为get_attribute(attribute_)当属性不存在时是什么都不会返回的更不会返回none。29any_of判断多个条件满足一个为true的话就返回true相当于or逻辑wait.until(any_of(alert_is_present(), element_attribute_to_include((By.TAG_NAME, a), name)), 没有一个符合要求的) # 多个判断条件有一个返回true则返回Trueor逻辑30all_of判断多个条件必须都满足为true的话才返回true相当于and逻辑wait.until(all_of(alert_is_present(), element_attribute_to_include((By.TAG_NAME, a), name))) # 多个判断条件必须都满足Trueand逻辑31none_of判断多个条件都返回false时才能判断成功返回truewait.until(none_of(alert_is_present(), element_attribute_to_include((By.TAG_NAME, a), name))) # 判断多个条件都返回flase时返回true有一个返回true时则返回false最后感谢每一个认真阅读我文章的人礼尚往来总是要有的虽然不是什么很值钱的东西如果你用得到的话可以直接拿走这些资料对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库这个仓库也陪伴我走过了最艰难的路程希望也能帮助到你凡事要趁早特别是技术行业一定要提升技术功底。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

开通网站必须做域名空间浠水网站建设

Sci-Hub X Now:一键解锁学术论文宝藏的终极指南 【免费下载链接】sci-hub-now 项目地址: https://gitcode.com/gh_mirrors/sc/sci-hub-now 你是否曾经为了一篇学术论文而四处奔波,在付费墙前止步不前?想象一下,当你正在为…

张小明 2025/12/24 15:01:21 网站建设

农业网站建设网站密码如何找回密码

当传统Web服务器在嵌入式设备上挣扎于内存不足时,Mongoose正以惊人的效率重新定义嵌入式网络性能标准。作为一款专为资源受限环境设计的嵌入式Web服务器,Mongoose在保持极低内存占用的同时,实现了企业级的并发处理能力。本文将通过全新的测试…

张小明 2025/12/24 15:00:18 网站建设

使用wordpress的购物网站鼓楼福州网站建设

百度网盘解析神器:告别龟速下载,轻松获取高速直链 【免费下载链接】baidu-wangpan-parse 获取百度网盘分享文件的下载地址 项目地址: https://gitcode.com/gh_mirrors/ba/baidu-wangpan-parse 还在为百度网盘的限速烦恼吗?每次下载大文…

张小明 2025/12/24 14:59:15 网站建设

建的网站403WordPress文字数据

ComfyUI性能调优实战:低配置设备AI创作加速指南 【免费下载链接】ComfyUI-Manager 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI-Manager 面对老旧电脑运行ComfyUI时的性能瓶颈,如何通过系统化调优让AI创作流程焕发新生?本文…

张小明 2025/12/24 14:57:09 网站建设

网站建设与管期末试题网站创建二级域名

第一章:Open-AutoGLM 简介与核心优势Open-AutoGLM 是一个开源的自动化通用语言模型(General Language Model, GLM)推理框架,专为提升大语言模型在复杂任务中的自主决策与执行能力而设计。该框架融合了任务分解、工具调用、上下文记…

张小明 2025/12/24 14:56:06 网站建设

免费商城版网站上海建网站公司排名

用Python创建游戏:从射击游戏到视觉小说与Pygame Zero实践 在Python的世界里,游戏开发是一个充满乐趣和创造力的领域。本文将带您深入了解如何使用Python和相关库创建不同类型的游戏,包括射击游戏、视觉小说以及使用Pygame Zero开发的简单游戏。 射击游戏代码分析 以下是…

张小明 2025/12/24 14:55:04 网站建设