首页 > 其他分享 >Selenium等待条件

Selenium等待条件

时间:2024-11-10 19:41:27浏览次数:1  
标签:判断 是否 self 元素 Selenium element 条件 等待 method

Selenium提供了WebDriverWait类用于针对指定元素设置等待,其中内含until(self,method,str="")和until_not(self,method,str="")两个方法判断,其中的参数method(判断条件)通常与expected_conditions模块连用,其内部封装了判断方法,本文介绍expected_conditions模块下的方法。

一、expection_conditions下的方法

1、title_is
判断title是否出现,返回值为bool类型

2、title_contains
判断title是否包含某些字符,返回值为bool类型

3、presence_of_element_located
判断某个元素是否被加到了dom树里,并不代表该元素一定可见

4、visibility_of_element_loacted
判断某个元素是否被添加到了dom树里并且可见,宽和高都大于0

5、visibility_of
判断元素是否可见,如果可见就返回这个元素

6、presence_of_all_elements_located
判断是否至少有1个元素存在于dom树中

7、visibility_of_any_elements_located
判断是否至少有一个元素在页面中可见

8、text_to_be_present_in_element
判断指定的元素中是否包含了预期的字符串

9、text_to_be_present_in_element_value
判断指定元素的属性值中是否包含了预期的字符串

10、frame_to_be_available_and_switch_to_it
判断该frame是否可以switch进去

11、invisibility_of_element_located
判断某个元素是否存在于dom树或不可见

12、element_to_be_clickable
判断某个元素中是否可见并且是enable的,代表可点击

13、stateness_of
等待某个元素从dom树中移除

14、element_to_be_selected
判断某个元素是否被选中了,一般用在下拉列表

15、element_selection_state_to_be
判断某个元素的选中状态是否符合预期

16、element_located_selection_state_to_be
判断某个元素的选中状态是否符合预期

17、alert_is_present
判断页面上是否存在alert

二、方法示例

以text_to_be_present_in_element((By.ID, "xx")为等待条件示例。
以加载百度页面为例,设置等待时间,利用WebDriverWait类中方法until(method,message)判断是否达到等待条件,规定时间达到等待条件则判断为加载成功,超出时间则抛出异常,其中参数method为上述Excepdion_conditions模块中的方法。

self.driver=webdriver.Edge()
self.driver.get("https://www.baidu.com")

wait=WebDriverWait(self.driver,2)
#在加载页面的代码后设置等待,最长等待时间为2s,每隔0.5s检查一次,若规定时间内未等到元素加载出来,则抛出异常
wait.until(EC.text_to_be_present_in_element((By.LINK_TEXT,"新闻"),'新闻'))#等待,直到指定的元素中包含‘新闻’字样
xinwen = self.driver.find_element(By.LINK_TEXT, '新闻')
xinwen.click()
print("ok")

标签:判断,是否,self,元素,Selenium,element,条件,等待,method
From: https://www.cnblogs.com/jongjongjong/p/18526996

相关文章

  • 新手入门Java自动化测试的利器:Selenium WebDriver
    今天我们将深入探讨一款强大的Java自动化测试工具——SeleniumWebDriver。在正式介绍SeleniumWebDriver之前,让我们首先对Selenium本身进行简要概述,以便更好地理解其背景和功能。官方学习网站:https://www.selenium.dev/Selenium是一个开源的自动化测试框架,WebDriver是其核心......
  • 条件变量如何避免丢失通知
    在使用条件变量进行多线程编程时,确实存在丢失通知的风险,以下是一些可以避免丢失通知的方法:正确的等待条件设置原理:条件变量是基于特定条件来让线程等待或继续执行的。如果等待条件设置得不准确,可能会导致线程在不应该醒来的时候醒来,或者错过真正需要醒来的时机,从而出现通知丢......
  • 在C++中,条件变量的等待操作是如何实现的?
    在C++中,条件变量的等待操作主要通过std::condition_variable类来实现,其等待操作涉及到与互斥锁的配合使用,以下是详细的实现过程:包含必要的头文件首先需要包含<condition_variable>和头文件,因为条件变量std::condition_variable的使用需要与互斥锁(如std::mutex)协同工作,同时还......
  • python小练习——条件语句if
    if语句是Python中进行条件判断的基础工具,通过它可以轻松实现逻辑选择和流程控制。掌握好if语句的使用方法,对编写高效、灵活的程序至关重要。今天我们通过七个简单的题目来熟悉一下Python中的if条件语句。1、从键盘输入年龄,判断是否大于等于18岁,如果满足就输出“已成......
  • 成为PMP项目管理培训讲师需要什么条件?
    很多同学拿到PMP®证书之后,会把项目经理作为自己职业转型的首选。而除了项目经理之外,其实还有很多相关的职业,发展前景和待遇并不比项目经理差,比如做讲师,从事项目管理培训相关工作,不仅薪资收入丰厚,职业前景更是一片坦途。尤其是随着授课时间和经验的沉淀,自己在业内的知名度也......
  • 条件过滤检索
    背景介绍在大多数业务场景中,单纯使用向量进行相似性检索并无法满足业务需求,通常需要在满足特定过滤条件、或者特定的"标签"的前提下,再进行相似性检索。向量检索服务DashVector支持条件过滤和向量相似性检索相结合,在精确满足过滤条件的前提下进行高效的向量检索。条件过滤检索示......
  • selenium 使用 IEDriverServer 报安全策略不一致解决方式
    我的代码fromseleniumimportwebdriver#指定IEWebDriver的路径ie_driver_path='./IEDriverServer.exe'#初始化IEWebDriverie_driver=webdriver.Ie(executable_path=ie_driver_path)报错说保护模式不一致这是官方文档给的解释:在WindowsVista,Windows7或Win......
  • 条件分支语句(day10)
    首先是上一篇的评论习题://第一题哦~第一题/*从键盘输入小明的期末成绩单:当成绩为100时,奖励一辆BWMx5,当成绩[80-99]时,奖励一台iPhone14Promax1TB,当成绩[60-79]时,奖励一本参考书,当成绩为其他时,奖励一个大耳巴子。*/varscore=......
  • Selenium 高频面试题及答案
    ......
  • odoo中对多条数据按条件进行分类汇总 read_group的用法总结并抽取出公式
    今天在工作中遇到一个这样的问题。要求:做一个打印模板实现下面图中的分类汇总 py3o://for="oinobject.delivery_containers_line.read_group(domain=[('delivery_order_id','=',object.id)],fields=['customer_id','delivery_order_id','sales_order_......