selenium自定义find_element
智能轮询元素是否显示:
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;")
转载于:https://www.cnblogs.com/yhleng/p/9295188.html
selenium自定义find_element相关推荐
- selenium driver.find_element 报错 invalid argument: invalid locator
selenium.common.exceptions.InvalidArgumentException: Message: invalid argument: invalid locator 报错信息 ...
- python+selenium浏览器常用操作(一)
1.导入selenium自定义的webdriver.后续可通过调用此协议启动各大浏览器 from selenium import webdriver #浏览器 from selenium.webdri ...
- 全程干货,requests模块与selenium框架详解
requests模块 前言: 通常我们利用Python写一些WEB程序.webAPI部署在服务端,让客户端request,我们作为服务器端response数据: 但也可以反主为客利用Python的re ...
- 【python初学者日记】selenium初体验——“秒杀商品”、“清空购物车”技能养成记(一)
[python初学者日记]selenium初体验--"秒杀商品"."清空购物车"技能养成记(一) 用python解决"清空购物车".&quo ...
- 基于selenium的QQ空间自动点赞功能(2020年7月版)
准备工作 简介: selenium是一个基于java开发的自动化浏览器处理器,它更像是浏览器驱动的代理. 配置: 它本身没有配置浏览器,因此需要配合本机上面安装的浏览器驱动一同使用.例如:Firefo ...
- 整理的selenium WebDriver提供的8种元素定位方法
selenium WebDriver提供的8种元素定位方法: (1)find_element_by_id() :id 定位 ,顾名思义,就是通过标签的id属性值来定位元素 (2) find_eleme ...
- selenium 键盘的操作
1,BACK_SPACE 删除键 from selenium import webdriver # 调用Keys模块 from selenium.webdriver.common.keys impor ...
- 【Python】selenium自动化打卡
目录 一.主要功能的实现 二.功能实现所使用的模块 三. 具体实现内容 1.登录并跳转到上报页面 2.打开开发者工具并设置edge浏览器传感器 3.刷新后点击上报 4.通过SMTP向邮箱发送执行情况 ...
- linux selenium_Selenium的基本使用方法
一.前言 由于requests模块是一个不完全模拟浏览器行为的模块,只能爬取到网页的HTML文档信息,无法解析和执行CSS.JavaScript代码,因此需要我们做人为判断: selenium模块本质 ...
最新文章
- 一篇文章教会你利用Python网络爬虫获取Mikan动漫资源
- 用python画烟花-过年了,用Python放一场浪漫烟花秀!
- 同程旅游缓存系统(凤凰)打造Redis时代的完美平台实践
- Leetcode python《热题 HOT 100》1. 两数之和
- 微信「看一看」 朋友在看的增强推荐系统
- PAT1056 组合数的和 (15 分)
- linux内核 默认路由表,[Linux] linux路由表-Go语言中文社区
- java 中parse_Java中parse()和valueOf(),toString()的区别?
- Vue版todolist案例
- python中以下关于列表描述错误的_在Python中,以下关于函数的描述错误的是哪一项?...
- 克里斯坦森:管理水平高的公司往往离崩塌不远
- memcache源码编译安装
- EasyAR4.0简单使用说明
- facade设计模式学习(作者:KiddLee 来源:博客园 酷勤网收集 2007-09-03)
- android 带刻度的滑动条_Android实现自定义滑动刻度尺方法示例
- 你可能修了一个假的“不净观”
- kali linux 通过粘贴板攻击对方服务器
- carte执行job任务时出现中文乱码
- vue 提交form表单
- 单片机c语言p1口转弯灯实验,单片机p1口转弯灯实验程序
热门文章
- MySql-流程函数
- Oracle的tnsnames.ora配置(PLSQL Developer)
- 12.使用default-Action配置统一访问
- 【Xamarin挖墙脚系列:Xamarin.IOS机制原理剖析】
- 解决SQLServer事物日志过大的方法
- Enterprise Vault 2007 软硬件兼容性
- python list 实现原理,彻底理解Python list切片原理
- redistemplate使用_SpringBoot 使用 Redis 缓存
- MATLAB学习笔记(五)
- 减去字符串_leetcode刷题844比较含退格的字符串(带代码解析,带知识点回顾)