コード例 #1
0
 def hover_element(self,loc):        #鼠标悬浮
     self.wait_elevisible(loc)
     try:
         log.info("鼠标悬停在:{0}之上".format(loc))
         ActionChains(self.driver).move_to_element(self.find_element(*loc)).perform()
     except:
         log.error("鼠标悬停操作失败")
     return self
コード例 #2
0
 def get_text(self,loc):     #获取元素文本
     self.wait_elevisible(loc)
     try:
         log.info("获取元素:{0}的文本内容".format(loc))
         text = self.find_element(*loc).text
     except:
         log.error("获取元素:{0}的文本内容失败".format(loc))
     return text
コード例 #3
0
 def context_click(self,loc):        #右键操作
     self.wait_elevisible(loc)
     try:
         log.info("右击:{0}".format(loc))
         ActionChains(self.driver).context_click(self.find_element(*loc))
     except:
         log.error("{0}右击失败".format(loc))
     return self
コード例 #4
0
 def click(self,loc):          #点击操作
     self.wait_elevisible(loc)
     try:
         log.info("点击:{0}".format(loc))
         self.find_element(*loc).click()
     except:
         log.error("{0}点击失败".format(loc))
     return self
コード例 #5
0
 def double_click(self,loc):     #双击操作
     self.wait_elevisible(loc)
     try:
         log.info("双击:{0}".format(loc))
         ActionChains(self.driver).double_click(self.find_element(*loc)).perform()
     except:
         log.error("{0}双击失败".format(loc))
     return self
コード例 #6
0
 def window_handles(self):   #切换窗口
     try:
         log.info("切换窗口")
         windows = self.driver.window_handles
         self.driver.switch_to.window(windows[-1])
     except:
         log.error("切换窗口失败")
     return self
コード例 #7
0
 def send_keys(self,loc,text):       #输入操作
     self.wait_elevisible(loc)
     try:
         log.info("在:{0}中输入:{1}".format(loc,text))
         self.find_element(*loc).clear()
         self.find_element(*loc).send_keys(text)
     except:
         log.error("输入操作失败")
     return self
コード例 #8
0
 def wait_elevisible(self,loc):
     try:
         start = time.time()
         WebDriverWait(self.driver, 20, 0.5).until(EC.visibility_of_element_located(loc))
         end = time.time()
         log.info("{0}出现,等待时间{1}s".format(loc,round(end - start, 2)))
     except:
         log.error("未能等待元素出现。")
     return self
コード例 #9
0
 def isElementPresent(self,loc):   #判断元素是否存在
     try:
         element = self.driver.find_element(*loc)
     except:
         log.error("元素{0}不存在".format(loc))
         return False
     else:
         log.info("元素{0}存在".format(loc))
         return True
コード例 #10
0
 def swipe_button(self,loc):   #滑动到元素
     try:
         log.info("滑动到元素{0}".format(loc))
         target = self.driver.find_element(*loc)
         self.driver.execute_script("arguments[0].scrollIntoView();", target)
         time.sleep(2)
     except:
         log.error("滑动到元素{0}失败".format(loc))
     return self
コード例 #11
0
 def mysql_execute_sql(self, sql, *value):
     self.connect_db()
     try:
         n = self.get_cursor().execute(sql, *value)
     except:
         log.error("execute failed:" + sql)
         log.error("param:" + str(*value))
     self.db.commit()
     self.close_db()
     log.info("操作成功,执行语句为" + sql + str(*value))
     return n
コード例 #12
0
 def oracle_execute_sql(self, sql, params={}):
     self.connect_db()
     try:
         n = self.get_cursor().execute(sql, params)
     except:
         log.error("execute failed:" + sql)
         log.error("param:" + str(params))
     self.db.commit()
     self.close_db()
     log.info("操作成功,执行语句为" + sql + str(params))
     return n
コード例 #13
0
 def switch_iframe(self,value,type="id"):
     try:
         log.info("切换iframe:{0}".format(value))
         if type == "id":
             self.driver.switch_to_frame(value)
         elif type == "name":
             self.driver.switch_to_frame(value)
         elif type == "xpath":
             self.driver.switch_to_frame(self.driver.find_element_by_xpath(value))
     except:
         log.info("切换iframe:{0}失败".format(value))
     return self
コード例 #14
0
 def oracle_select_one(self, sql, params={}):
     self.connect_db()
     try:
         cursor = self.get_cursor()
         cursor.execute(sql, params)
         result = cursor.fetchone()
     except:
         log.error("select failed:" + sql)
         log.error("param:" + str(params))
     self.db.commit()
     self.close_db()
     log.info("操作成功,执行语句为" + sql + " " + "参数值为:" + str(params))
     log.info("查询成功,结果为:" + str(result))
     return result
コード例 #15
0
 def mysql_select_list(self, sql, *value):
     self.connect_db()
     try:
         cursor = self.get_cursor()
         cursor.execute(sql, *value)
         result = cursor.fetchall()
     except:
         log.error("select failed:" + sql)
         log.error("param:" + str(*value))
     self.db.commit()
     self.close_db()
     log.info("操作成功,执行语句为" + sql + " " + "参数值为:" + str(*value))
     log.info("查询成功,结果为:" + str(result))
     return result