def getDetail(self, el, data, function, elementList): """ 获取详细信息里的数据 :param self: :param el: :param function:xml :param elementList: :return: """ commond.switchToDetailUI(self,el) el.getFunctionName(function[0]) for i in range(len(elementList)): el.get_element(elementList[i]) dictFunction = EL.get_el_dict(function[0], elementList[i], xmlpath) tagname=' ' try: tagname = el.get().get_attribute('tagname') except: pass if tagname==None: tagname='' currenttext=u'没有类型' if 'elementType' in dictFunction: if dictFunction['elementType'] == 'select': currenttext = Select(el.get()).all_selected_options[0].text elif dictFunction['elementType'] == 'input' or dictFunction['elementType'] == 'textarea': currenttext = el.get().get_attribute('value').strip() else: currenttext = el.get().text.strip() if isinstance(data,list): resulttext=currenttext if data==[]: exit(u'空列表') if data[0] != '': if data[0].isdigit(): resultArea=float(resulttext) minArea=float(data[0]) else: if resulttext==0: resulttext='1980-01-01' try: beginTime = time.strptime(data[0], '%Y-%m-%d') resultTime = time.strptime(resulttext.split()[0], '%Y-%m-%d') except: pass else: if data[1].isdigit(): minArea=0 resultArea = float(resulttext) else: try: beginTime = time.strptime('1971-01-01', '%Y-%m-%d') try: resultTime = time.strptime(resulttext, '%Y-%m-%d %H:%M:%S') except: resultTime = time.strptime(resulttext, '%Y-%m-%d') except: logging.info(u'数据不为时间格式') pass if len(data)>1: if data[1]!='': if data[1].isdigit(): maxArea=int(data[1]) if resultArea<minArea or resultArea>maxArea: return False else: #print data[1] #判断是否为日期格式 try: #endTime=time.strptime(data[1], '%Y-%m-%d') subtime=data[1]+' 23:59:59' endTime =time.strptime(subtime, '%Y-%m-%d %H:%M:%S') except: logging.info(u'数据不为时间格式') return resulttext in data if time.mktime(resultTime) < time.mktime(beginTime) or time.mktime( resultTime) > time.mktime(endTime): print time.mktime(resultTime)<time.mktime(beginTime),time.mktime(resultTime)>time.mktime(endTime),resultTime,endTime logging.error(resulttext) return False else: if currenttext.strip() not in data: #print currenttext,data logging.error() return False logging.info(tagname + u':' + currenttext) return True