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