示例#1
0
 def find_element_by_tag_name(self, tag_name):
     # 调用webdriver真正相应的方法
     # 加个等待时间
     sleep(self.speed)
     log(self.log_path, "G\t正在定位 TAG_NAME = {}".format(tag_name))
     # 返回找到的元素对象
     return self.driver.find_element_by_tag_name(tag_name)
示例#2
0
 def find_element_by_id(self, ID):
     # 调用webdriver真正相应的方法
     # 加个等待时间
     sleep(self.speed)
     log(self.log_path, "G\t正在定位 ID = {}".format(ID))
     # 返回找到的元素对象
     return self.driver.find_element_by_id(ID)
示例#3
0
 def switch_to_default_content(self):
     # 调用webdriver真正相应的方法
     # 加个等待时间
     sleep(self.speed)
     log(self.log_path, "G\t切会主窗口")
     # 返回找到的元素对象
     return self.driver.switch_to.default_content()
示例#4
0
 def find_element_by_partial_link_text(self, partial_link_text):
     # 调用webdriver真正相应的方法
     # 加个等待时间
     sleep(self.speed)
     log(self.log_path, "G\t正在定位 PARTIAL_LINK_NAME = {}".format(partial_link_text))
     # 返回找到的元素对象
     return self.driver.find_element_by_partial_link_text(partial_link_text)
示例#5
0
 def find_elements_by_name(self, name):
     # 调用webdriver真正相应的方法
     # 加个等待时间
     sleep(self.speed)
     log(self.log_path, "G\t正在列表定位 NAME = {}".format(name))
     # 返回找到的元素对象
     return self.driver.find_elements_by_name(name)
示例#6
0
 def find_elements(self, By):
     # 调用webdriver真正相应的方法
     # 加个等待时间
     sleep(self.speed)
     log(self.log_path, "G\t正在列表定位 {} = {}".format(*By))
     # 返回找到的元素对象
     return self.driver.find_elements(*By)
示例#7
0
 def switch_to_frame(self, frame):
     # 调用webdriver真正相应的方法
     # 加个等待时间
     sleep(self.speed)
     log(self.log_path, "G\t切换内置窗口至 {}".format(frame))
     # 返回找到的元素对象
     return self.driver.switch_to.frame(frame)
示例#8
0
 def find_elements_by_css_selector(self, css_selector):
     # 调用webdriver真正相应的方法
     # 加个等待时间
     sleep(self.speed)
     log(self.log_path, "G\t正在列表定位 CSS_SELECTOR = {}".format(css_selector))
     # 返回找到的元素对象
     return self.driver.find_elements_by_css_selector(css_selector)
示例#9
0
 def find_elements_by_xpath(self, xpath):
     # 调用webdriver真正相应的方法
     # 加个等待时间
     sleep(self.speed)
     log(self.log_path, "G\t正在列表定位 XPATH = {}".format(xpath))
     # 返回找到的元素对象
     return self.driver.find_elements_by_xpath(xpath)
示例#10
0
 def find_elements_by_link_text(self, link_text):
     # 调用webdriver真正相应的方法
     # 加个等待时间
     sleep(self.speed)
     log(self.log_path, "G\t正在列表定位 LINK_NAME = {}".format(link_text))
     # 返回找到的元素对象
     return self.driver.find_elements_by_link_text(link_text)
示例#11
0
 def find_element_by_class_name(self, class_name):
     # 调用webdriver真正相应的方法
     # 加个等待时间
     sleep(self.speed)
     log(self.log_path, "G\t正在定位 CLASS_NAME = {}".format(class_name))
     # 返回找到的元素对象
     return self.driver.find_element_by_class_name(class_name)
示例#12
0
 def switch_to_alert(self):
     # 调用webdriver真正相应的方法
     # 加个等待时间
     sleep(self.speed)
     log(self.log_path, "G\t弹出窗口点击 确认")
     # 返回找到的元素对象
     return self.driver.switch_to_alert()
示例#13
0
 def Wait(self):
     driver = self.driver
     # 设置元素识别超时时间
     driver.implicitly_wait(15)
     # 设置页面加载超时时间
     driver.set_page_load_timeout(15)
     # 设置异步脚本加载超时时间
     driver.set_script_timeout(15)
     log(self.log_path, "G\t加载初始化等等~~~")
示例#14
0
 def __init__(self, type=None):
     '''
         初始化指定的浏览器驱动
     '''
     # 得到webdriver
     self.driver = Chrome_flash()
     # self.driver = WebDriver(command_executor='http://172.31.23.143:4444/wd/hub',
     #                         desired_capabilities=DesiredCapabilities.CHROME)
     # 实例化基本配置
     st = Settings()
     # 获取放慢速度
     if type is None:
         self.speed = st.speed_default
     else:
         self.speed = st.speed_down
     log(self.log_path, "G\t初始化指定的浏览器驱动~~~")
示例#15
0
 def open(self, base_url):
     # 调用webdriver真正相应的方法
     self.driver.get(base_url)
     # 加个等待时间
     sleep(self.speed)
     log(self.log_path, "G\t打开网页:{}~~~".format(base_url))
示例#16
0
 def do_func(*arg):
     n = Settings().n
     i = 0
     now = datetime.datetime.now()
     log(
         log_path,
         "A\t开始时间:{}\t{}".format(now.strftime('%Y-%m-%d %H:%M:%S'),
                                 func.__name__))
     while True:
         log(
             log_path,
             "C\t{}{} 方法第{}次开始执行~~~".format("  ☆  ", func.__name__,
                                            i + 1))
         try:
             func(*arg)
             break
         except AssertionError as e:
             log(
                 log_path, "E\t{}{} 执行过程中出现了断言异常,具体信息为:\n\t{}".format(
                     "  ☆  ", func.__name__, str(e)))
             i += 1
         except:
             log(
                 log_path, "F\t{}{} 执行过程中出现了其他异常,具体信息为:\n\t{}".format(
                     "  ☆  ", func.__name__, traceback.format_exc()))
             i += 1
         if i == n:
             break
         # lg.log("出现非断言异常,即将进行一次重试!速度将会根据配置文件放慢执行!!!!")
     log(log_path, "D\t{}{} 方法执行结束~~~".format("  ☆  ", func.__name__))
     now = datetime.datetime.now()
     log(
         log_path,
         "B\t结束时间:{}\t{}\n".format(now.strftime('%Y-%m-%d %H:%M:%S'),
                                   func.__name__))
示例#17
0
 def quit(self):
     # 调用webdriver真正相应的方法
     self.driver.quit()
     log(self.log_path, "G\t退出当前网页网页~~~")