智能轮询元素是否显示:

def isDisplayTimeOut(self,element,timeSes):"""在指定时间内,轮询元素是否显示:param element: 元素对象:param timeSes: 轮询时间:return:"""start_time = int(time.time()) #秒级时间戳timeStr = int(timeSes)while (int(time.time())-start_time) <= timeSes:if element.is_displayed():return Trueself.wait(500)return False

查找元素:

def find_element(self,*loc):"""在指定时间内,查找元素;否则抛出异常:param loc: 定位器:return: 元素 或 抛出异常"""TimeOut = 20try:self.driver.implicitly_wait(TimeOut) #智能等待;超时设置
element = self.driver.find_element(*loc) #如果element没有找到,到此处会开始等待if self.isDisplayTimeOut(element,TimeOut):self.hightlight(element)  #高亮显示else:raise ElementNotVisibleException #抛出异常,给except捕获
self.driver.implicitly_wait(0) #恢复超时设置return elementexcept (NoSuchElementException,ElementNotVisibleException) as ex:self.getImageraise ex

高亮显示:

def hightlight(self,element):"""元素高亮显示:param element: 元素对象:return: 无"""self.driver.execute_script("arguments[0].setAttribute('style', arguments[1]);",element, "border: 2px solid red;")


 期待你的加入;共同学习,一起进步:
python|测试|技术交流 qq群:563227894
python|测试|技术交流 qq群:563227894
python|测试|技术交流 qq群:563227894

转载于:https://www.cnblogs.com/yhleng/p/9295188.html

selenium自定义find_element相关推荐

  1. selenium driver.find_element 报错 invalid argument: invalid locator

    selenium.common.exceptions.InvalidArgumentException: Message: invalid argument: invalid locator 报错信息 ...

  2. python+selenium浏览器常用操作(一)

    1.导入selenium自定义的webdriver.后续可通过调用此协议启动各大浏览器 from selenium import webdriver #浏览器 from selenium.webdri ...

  3. 全程干货,requests模块与selenium框架详解

    requests模块 前言: 通常我们利用Python写一些WEB程序.webAPI部署在服务端,让客户端request,我们作为服务器端response数据: 但也可以反主为客利用Python的re ...

  4. 【python初学者日记】selenium初体验——“秒杀商品”、“清空购物车”技能养成记(一)

    [python初学者日记]selenium初体验--"秒杀商品"."清空购物车"技能养成记(一) 用python解决"清空购物车".&quo ...

  5. 基于selenium的QQ空间自动点赞功能(2020年7月版)

    准备工作 简介: selenium是一个基于java开发的自动化浏览器处理器,它更像是浏览器驱动的代理. 配置: 它本身没有配置浏览器,因此需要配合本机上面安装的浏览器驱动一同使用.例如:Firefo ...

  6. 整理的selenium WebDriver提供的8种元素定位方法

    selenium WebDriver提供的8种元素定位方法: (1)find_element_by_id() :id 定位 ,顾名思义,就是通过标签的id属性值来定位元素 (2) find_eleme ...

  7. selenium 键盘的操作

    1,BACK_SPACE 删除键 from selenium import webdriver # 调用Keys模块 from selenium.webdriver.common.keys impor ...

  8. 【Python】selenium自动化打卡

    目录 一.主要功能的实现 二.功能实现所使用的模块 三. 具体实现内容 1.登录并跳转到上报页面 2.打开开发者工具并设置edge浏览器传感器 3.刷新后点击上报 4.通过SMTP向邮箱发送执行情况 ...

  9. linux selenium_Selenium的基本使用方法

    一.前言 由于requests模块是一个不完全模拟浏览器行为的模块,只能爬取到网页的HTML文档信息,无法解析和执行CSS.JavaScript代码,因此需要我们做人为判断: selenium模块本质 ...

最新文章

  1. 一篇文章教会你利用Python网络爬虫获取Mikan动漫资源
  2. 用python画烟花-过年了,用Python放一场浪漫烟花秀!
  3. 同程旅游缓存系统(凤凰)打造Redis时代的完美平台实践
  4. Leetcode python《热题 HOT 100》1. 两数之和
  5. 微信「看一看」 朋友在看的增强推荐系统
  6. PAT1056 组合数的和 (15 分)
  7. linux内核 默认路由表,[Linux] linux路由表-Go语言中文社区
  8. java 中parse_Java中parse()和valueOf(),toString()的区别?
  9. Vue版todolist案例
  10. python中以下关于列表描述错误的_在Python中,以下关于函数的描述错误的是哪一项?...
  11. 克里斯坦森:管理水平高的公司往往离崩塌不远
  12. memcache源码编译安装
  13. EasyAR4.0简单使用说明
  14. facade设计模式学习(作者:KiddLee 来源:博客园  酷勤网收集 2007-09-03)
  15. android 带刻度的滑动条_Android实现自定义滑动刻度尺方法示例
  16. 你可能修了一个假的“不净观”
  17. kali linux 通过粘贴板攻击对方服务器
  18. carte执行job任务时出现中文乱码
  19. vue 提交form表单
  20. 单片机c语言p1口转弯灯实验,单片机p1口转弯灯实验程序

热门文章

  1. MySql-流程函数
  2. Oracle的tnsnames.ora配置(PLSQL Developer)
  3. 12.使用default-Action配置统一访问
  4. 【Xamarin挖墙脚系列:Xamarin.IOS机制原理剖析】
  5. 解决SQLServer事物日志过大的方法
  6. Enterprise Vault 2007 软硬件兼容性
  7. python list 实现原理,彻底理解Python list切片原理
  8. redistemplate使用_SpringBoot 使用 Redis 缓存
  9. MATLAB学习笔记(五)
  10. 减去字符串_leetcode刷题844比较含退格的字符串(带代码解析,带知识点回顾)