2、find_element
时间:2021-08-24
本文章向大家介绍2、find_element,主要包括2、find_element使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
一、find_element.py
from rip_dictionary.rip_datacreate.base.read_ini import ReadIni from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.common.by import By import os,json #公共存放 class FindElement(): def __init__(self,driver=None): self.driver = driver def get_element(self,key,node,file_name='ElementConfig'): read_ini = ReadIni(node,file_name) data = read_ini.get_value(key) by = data.split('>')[0] value = data.split('>')[1] try: if by == 'id': return self.driver.find_element_by_id(value) elif by == 'name': return self.driver.find_element_by_name(value) elif by == 'className': return self.driver.find_element_by_class_name(value) else: return self.driver.find_element_by_xpath(value) except: return None
def get_elementByWait(self,key,node,file_name='ElementConfig'): read_ini = ReadIni(node,file_name) data = read_ini.get_value(key) by = data.split('>')[0] value = data.split('>')[1] try: if by == 'id': return WebDriverWait(self.driver, 10,0.5).until(EC.visibility_of_element_located((By.ID, value))) elif by == 'name': return WebDriverWait(self.driver, 10,0.5).until(EC.visibility_of_element_located((By.NAME, value))) elif by == 'className': return WebDriverWait(self.driver, 10,0.5).until(EC.visibility_of_element_located((By.CLASS_NAME, value))) else: return WebDriverWait(self.driver, 10,0.5).until(EC.visibility_of_element_located((By.XPATH, value))) except: return None
#此方法也可取出配置文件的数据 def get_configVal(self,key,node,file_name='publicParameters'): read_ini = ReadIni(node,file_name) data = read_ini.get_value(key) return data if __name__ == '__main__': aa = FindElement() bb = aa.get_configVal('db_rip','DBConnectConfig') abc = json.loads(bb) print(type(abc)) print(abc['host'])
二、配置文件
publicParameters.ini
[ApiAddressConfig]
rip_addr=http://xx.xx.xx.xx
[DBConnectConfig]
db_rip={'host':'127.0.0.1','port':3306,'user':'root','password':'123456',database:'data_test3'}
原文地址:https://www.cnblogs.com/all-best98/p/15181270.html
- android获得ImageView图片的等级
- SqlServer:此数据库处于单用户模式,导致数据库无法删除的处理
- jQuery中排除指定元素,同时选择剩下的所有元素
- windows客户机连接gerrit的一个报错处理
- 装箱与值类型虽然很容易理解,但是在实际使用中,并不总是能100%用对
- Jexus 配置ssl
- 局部打印插件 jquery.PrintArea.js
- FluorineFx应用中“页面长时间不动”导致无法连接的解决办法
- Mysql主从同步(1)-主从/主主环境部署梳理
- mysql主从同步(3)-percona-toolkit工具(数据一致性监测、延迟监控)使用梳理
- 网站压力测试软件WebBench以及压测Jexus
- Gershon Dublon & Nan Zhao:用传感器网络感知世界
- 即日起珠海可用微信乘公交,腾讯乘车码助力智慧城市建设
- 利用mk-table-checksum监测Mysql主从数据一致性操作记录
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- linux内存使用情况分析(free + top)
- Centos7 python3安装
- crontab JAVA_HOME not found
- Centos7 源码安装mysql5.6
- mysql登录时报socket找不到终极解决方案
- Grafana将数据库由sqlite3改为mysql
- Python自学成才之路 带有参数的装饰器
- Grafana 将默认的元数据库 sqlite 改为 mysql
- 使用IDEA整合spring4+spring mvc+hibernate
- springmvc中@PathVariable和@RequestParam的区别
- centos7 安装mysql5.6
- bashdb安装及调试shell脚本
- linux awk指令详解
- linux sed指令详解
- Grafana使用zabbix自定义模板