Esempio n. 1
0
 def get_element_attribute(self,
                           loc,
                           attr_name,
                           img_doc,
                           timeout=30,
                           frequency=0.5):
     """
     等待元素存在、查找元素、再获取元素的某个属性值。
     :param loc: 元组形式的元素定位表达
     :param attr_name: 要获取的 元素的属性名称
     :param img_doc: 失败截图的文件命名
     :param timeout: 等待元素存在的超时上限。
     :param frequency: 等待元素存在时的,轮询周期。
     :return: 元素的属性值。
     """
     # 等待元素存在
     #self.wait_eleExists(loc,img_doc,timeout,frequency)
     # 查找元素
     ele = self.get_element(loc, img_doc)
     # 获取属性
     try:
         attr_value = ele.get_attribute(attr_name)
     except:
         # 日志
         logError("获取元素属性失败")
         # 截图
         #self.save_web_screenshot(img_doc)
         raise
     else:
         logInfo("获取元素 {} 的属性 {} 值为:{}".format(loc, attr_name, attr_value))
         return attr_value
Esempio n. 2
0
 def get_element(self, loc, img_doc=''):
     logInfo('查找{}中的元素{}'.format(img_doc, loc))
     try:
         element = self._webdriver.find_element(*loc)
         return element
     except:
         # 日志
         logError('查找元素失败')
Esempio n. 3
0
 def input_text(self, loc, img_doc, *args, timeout=30, frequency=0.5):
     '''
         输入文本信息
     '''
     element = self.get_element(loc, img_doc)
     logInfo(" 给元素 {} 输入文本内容:{}".format(loc, args))
     try:
         element.send_keys(*args)
     except:
         #日志
         #截图
         raise
Esempio n. 4
0
    def __init__(self, brower_type='chrome'):
        '''
            默认为Chrome浏览器,输错为Chrome浏览器。config配置文件可配置浏览器路径,以及浏览器驱动路径。

            brower_type:

                chrome  -> 谷歌浏览器
                firefox -> 火狐浏览器
                ie      -> ie浏览器
        '''
        logInfo('浏览器构造方法')
        #self._webdriver = None
        self._webdriver = webdriver.Chrome.__new__(webdriver.Chrome)
        #(self._webdriver).__class__ = webdriver.Chrome
        # 判断是否初始化为空字符串
        if brower_type.isspace() != True and len(brower_type) != 0:
            self.open_brower(brower_type)
Esempio n. 5
0
    def click_element(self, loc, img_doc, *args, timeout=30, firequency=0.5):
        '''
            点击元素

        '''
        # 1.等待元素

        # 2.找元素
        element = self.get_element(loc, img_doc)
        logInfo(" 点击元素 {}".format(loc))
        # 3.操作
        try:
            element.click()
        except:
            logError('点击元素失败')
            # 截图
            raise
Esempio n. 6
0
    def open_brower(self, brower_type):
        '''
            默认为Chrome浏览器,输错为Chrome浏览器。

            brower_type:

                chrome  -> 谷歌浏览器
                firefox -> 火狐浏览器
                ie      -> ie浏览器
        '''

        logInfo('调用浏览器')
        brower_type = str(brower_type)
        if 'chrome' in brower_type or '谷歌' in brower_type:
            brower_type = '1'
        elif 'fire' in brower_type or '火狐' in brower_type:
            brower_type = '2'
        elif 'ie' in brower_type:
            brower_type = '3'
        else:
            brower_type = '1'

        #通过配置文件获取浏览器exe的路径
        borwer_path = self.get_config('webdriver', 'borwer_path')
        #通过配置文件获取webdriver的路径
        driver_path = self.get_config('webdriver', 'borwer_webdriverpath')

        if borwer_path:
            options = webdriver.ChromeOptions()
            #options.binary_location = 'E:\\Program\\ChromeMaYi\\guge\\chrome.exe'
            # 设置浏览器路径
            options.binary_location = borwer_path
        try:
            if brower_type == '1':
                logInfo('初始化谷歌浏览器')
                if borwer_path and driver_path:
                    self._webdriver = webdriver.Chrome(
                        executable_path=borwer_path, options=options)
                elif driver_path:
                    self._webdriver = webdriver.Chrome(
                        executable_path=driver_path)
                else:
                    self._webdriver = webdriver.Chrome()
                #self.get_url('http://122.225.207.133:20001')
            elif brower_type == '2':
                logInfo('初始化火狐浏览器')
            elif brower_type == '3':
                logInfo('初始化ie浏览器')
            else:
                logInfo('未初始化浏览器')
        except Exception as err:
            logError(f'初始化浏览器失败,原因:{err}')
            #traceback.print_exc() #直接打印异常
            logError(traceback.format_exc())  #返回字符串
            # raise Exception(print('se'))
            raise '浏览器初始化失败,手动抛异常,看上面异常信息。'
        logInfo('初始化函数结尾')
        return self._webdriver