当前位置: 首页 > news >正文

python+selenium - UI自动框架之封装查找元素

单一的元素定位方法不能满足所有元素的定位,可以根据每个元素的特点来找到合适的方法,可以参考下图的方法:

elementFind.py

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from common.log import logclass ElementFind(object):def __init__(self, driver):self.driver = driverdef find_element(self, locator, timeout=2, internal=0.2):""":param locator::param timeout::param internal::return:"""for _ in range(2):log.info('001:step --> find_element:{ele} time={num}'.format(ele=locator, num=_ + 1))try:element = WebDriverWait(self.driver, timeout, internal).until(EC.presence_of_element_located(locator))return elementexcept Exception as e:log.warning('[BS]_404:unknown error! %s' % e)break

用百度页面搜索做例子,输入框和查询框通过id定位如下:

http://www.lryc.cn/news/353990.html

相关文章:

  • java 拦截器-用户无操作超时退出利用Redis
  • 民国漫画杂志《时代漫画》第16期.PDF
  • 线程池以及日志类的实现
  • 基于长短期记忆网络 LSTM 的送餐时间预测
  • K-means聚类算法详细介绍
  • SAP FS00如何导出会计总账科目表
  • ROS参数服务器
  • QCC---DFU升级变更设备名和地址
  • [力扣题解] 695. 岛屿的最大面积
  • AI模型发展路径探析:开源与闭源,何者更胜一筹?
  • concurrency 并行编程
  • JavaScript如何让一个按钮的点击事件在完成之前禁用
  • 透视App投放效果,Xinstall助力精准分析,让每一分投入都物超所值!
  • 【Linux杂货铺】进程通信
  • 常用API(正则表达式、爬取、捕获分组和非捕获分组 )
  • JVM学习-Class文件结构②
  • 数据库连接项目
  • MySQL--InnoDB体系结构
  • ffplay 使用文档介绍
  • 四种网络IO模型
  • Mixed-precision计算原理(FP32+FP16)
  • Go 控制协程(goroutine)的并发数量
  • web安全渗透测试十大常规项(一):web渗透测试之CSRF跨站请求伪造
  • YOLOv10尝鲜测试五分钟极简配置
  • 社交媒体数据恢复:聊天宝
  • 备战秋招—模拟版图面试题来了
  • CAN总线简介
  • 【HSQL001】HiveSQL内置函数手册总结(更新中)
  • Rust面试宝典第14题:旋转数组
  • 解决SpringBoot中插入汉字变成?(一秒解决)