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