一、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'}