当前位置: 首页 > 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定位如下:

相关文章:

  • 单点登录【demo】
  • 【设计模式】JAVA Design Patterns——Combinator(功能模式)
  • 浅析智能体开发(第二部分):智能体设计模式和软件架构
  • Redis篇 浅谈分布式系统
  • js setTimeout、setInterval、promise、async await执行顺序梳理
  • 30.包名的修改和新建后端模块
  • 【UE5.1 角色练习】06-角色发射火球-part2
  • 温故而知新-Java基础篇【面试复习】
  • C#-根据日志等级进行日志的过滤输出
  • FreeRTOS面试题汇总
  • vmware - 主机向虚拟机拷贝文件的临时方法
  • JAVA开发面试超详细
  • 若依nodejs版本过高问题解决方案
  • 【vue】封装的天气展示卡片,在线获取天气信息
  • spring boot 之 集成 druid数据库连接池
  • [译] React v16.8: 含有Hooks的版本
  • E-HPC支持多队列管理和自动伸缩
  • leetcode-27. Remove Element
  • LeetCode541. Reverse String II -- 按步长反转字符串
  • leetcode讲解--894. All Possible Full Binary Trees
  • Nacos系列:Nacos的Java SDK使用
  • Python利用正则抓取网页内容保存到本地
  • SpringCloud(第 039 篇)链接Mysql数据库,通过JpaRepository编写数据库访问
  • SQL 难点解决:记录的引用
  • Work@Alibaba 阿里巴巴的企业应用构建之路
  • 闭包--闭包作用之保存(一)
  • 第十八天-企业应用架构模式-基本模式
  • 看图轻松理解数据结构与算法系列(基于数组的栈)
  • 前端技术周刊 2019-01-14:客户端存储
  • 如何进阶一名有竞争力的程序员?
  • 腾讯优测优分享 | 你是否体验过Android手机插入耳机后仍外放的尴尬?
  • 一个JAVA程序员成长之路分享
  • 译有关态射的一切
  • 用jQuery怎么做到前后端分离
  • 源码安装memcached和php memcache扩展
  • ‌U盘闪一下就没了?‌如何有效恢复数据
  • #LLM入门|Prompt#1.8_聊天机器人_Chatbot
  • #数据结构 笔记三
  • (done) 两个矩阵 “相似” 是什么意思?
  • (STM32笔记)九、RCC时钟树与时钟 第二部分
  • (八)Spring源码解析:Spring MVC
  • (编程语言界的丐帮 C#).NET MD5 HASH 哈希 加密 与JAVA 互通
  • (附源码)计算机毕业设计ssm基于Internet快递柜管理系统
  • (回溯) LeetCode 46. 全排列
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理 第13章 项目资源管理(七)
  • (算法)求1到1亿间的质数或素数
  • (幽默漫画)有个程序员老公,是怎样的体验?
  • (原創) 是否该学PetShop将Model和BLL分开? (.NET) (N-Tier) (PetShop) (OO)
  • **python多态
  • .aanva
  • .JPG图片,各种压缩率下的文件尺寸
  • .NET 5种线程安全集合
  • .NET Core中如何集成RabbitMQ
  • .net 调用php,php 调用.net com组件 --
  • .NET/C# 反射的的性能数据,以及高性能开发建议(反射获取 Attribute 和反射调用方法)