zoukankan      html  css  js  c++  java
  • 【selenium学习中级篇 -20】封装BasePage基础类

     在Base包中新建一个BasePage.py 这个文件中,主要封装一些基础的操作,比如说打开url,关闭浏览器,点击,输入,获取元素等与业务逻辑无关的最底层的操作

    这个类,可以根据不同的项目需求进行拓展,本文只是举了一个简单的例子

    class BasePage(object):
        def __init__(self, driver):
            self.driver = driver
    
        # 打开url
        def get_url(self, url):
            self.driver.get(url)
    
        # 退出浏览器
        def quit_browser(self):
            self.driver.quit()
    
        # 获取元素
        def find_element(self, selector):
            element = ''
            if '=>' not in selector:
                return selector.driver.find_element_by_xpath(selector)
            selector_by = selector.split('=>')[0]
            selector_value = selector.split('=>')[1]
            if selector_by == 'id':
                element = self.driver.find_element_by_id(selector_value)
            elif selector_by == 'name':
                element = self.driver.find_element_by_name(selector_value)
            elif selector_by == 'xpath':
                element = self.driver.find_element_by_xpath(selector_value)
            elif selector_by == 'linkText':
                element = self.driver.find_element_by_link_text(selector_value)
            elif selector_by == 'partialLinkText':
                element = self.driver.find_element_by_partial_link_text(selector_value)
            elif selector_by == 'css':
                element = self.driver.find_element_by_css_selector(selector_value)
    
            return element
    
        # 输入字符
        def type(self, selector, text):
            el = self.find_element(selector)
            el.clear()
            el.send_keys(text)
    
        # 清空
        def clear(self, selector):
            el = self.find_element(selector)
            el.clear()
    
        # 点击操作
        def click(self, selector):
            el = self.find_element(selector)
            el.click()
    
        # 获取页面title
        def get_page_title(self):
            return self.driver.title
    
        # 获取当前页面的url
        def get_page_url(self):
            return self.driver.current_url
    
        # 切换到新的窗口
        def switch_handle(self):
            handles = self.driver.window_handles
            for newhandle in handles:
                if newhandle != self.driver.current_window_handle:
                    self.driver.switch_to.window(newhandle)
  • 相关阅读:
    使用git管理github项目
    router 跳转页面
    JS中[object object]怎么取值
    微信授权获取code
    闭包
    css属性clear
    javaScript循环
    css属性position
    跨域
    浅析JS内存 一
  • 原文地址:https://www.cnblogs.com/ronyjay/p/12972968.html
Copyright © 2011-2022 走看看