Python3+Selenium3 框架 页面类封装

Python3+Selenium3 框架 页面类封装

Python3+Selenium3 框架页面类封装百度网盘源码地址
https://pan.baidu.com/s/1INSn5xImLUvWXu4EfuJ-hw 密码:wdme

Python3+Selenium3 框架页面类封装代码如下:

from selenium  import webdriver  #导入selenium
from os  import path  #导入文件包
from selenium.webdriver.common.keys import Keys  #导入键盘操作的包
from selenium.webdriver.common.action_chains import ActionChains  #导入鼠标操作的包
from selenium.webdriver.support.select import Select  #导入进行下拉选操作的包
#创建界面元素操作公共类
class  Page_Object:
    #写一个构造函数,有一个参数driver   用来初始化webdirver驱动
    def __init__(self,driver):
        self.driver=driver
        # 编写元素定位方法,对多种元素定位方式进行统一处理
    def find_element(self, key, value):
        if key == 'id':
            return self.driver.find_element_by_id(value)
        elif key == 'class':
            return self.driver.find_element_by_class_name(value)
        elif key == 'name':
            return self.driver.find_element_by_name(value)
        elif key == 'tag':
            return self.driver.find_element_by_tag_name(value)
        elif key == 'linkText':
            return self.driver.find_element_by_link_text(value)
        elif key == 'cssSelector':
            return self.driver.find_element_by_css_selector(value)
        elif key == 'xpath':
            return self.driver.find_element_by_xpath(value)
        else:
            print('未找到需要定位的页面元素')
    #打开需要进行测试的url地址
    def  open_url(self,url):
        self.driver.get(url)
    #浏览器页面最大化
    def   max_window_page(self):
        self.driver.maximize_window()
    #关闭浏览器页面
    def   exit_page(self):
        self.driver.quit()
    #控制浏览器前进
    def   forward_page(self):
        self.driver.forward()
    #控制浏览器后退
    def back_page(self):
        self.driver.back()
    #清除文本框内容
    def clear_textbox(self,key,value):
        self.find_element(key, value).clear()
    #向文本框输入内容
    def write_textbox(self,key,value,keys):
        self.find_element(key, value).send_keys(keys)
    #进行键盘回车操作
    def enter(self,key,value):
        self.find_element( key, value).send_keys(Keys.ENTER)
    #进行键盘复制操作
    def enter_control_c(self,key,value):
        self.find_element( key, value).send_keys(Keys.CONTROL,'c')
    #进行键盘粘贴操作
    def enter_control_v(self,key,value):
        self.find_element(key, value).send_keys(Keys.CONTROL,'v')
    #进行键盘添加空格操作
    def enter_space(self,key,value):
        self.find_element(key, value).send_keys(Keys.SPACE)
    #进行键盘删除字符操作
    def enter_back_space_textbox(self, key, value):
        self.find_element(key, value).send_keys(Keys.BACK_SPACE)
    #进行鼠标点击操作
    def click(self,key,value):
        self.find_element(key, value).click()
    #通过js代码设置滚动条,进行滚动操作
    def  gundongtiao(self):
        self.driver.execute_script("window.scrollTo(400,800)")
    #进行页面截图操作
    def  get_image(self,ImagePath):
        self.driver.get_screenshot_as_file(ImagePath)
    #获取元素标题内容
    def get_title(self):
        self.driver.title
    #获取url信息
    def get_url(self):
        self.driver.current_url
    #获取输入文本框大小
    def  get_size(self):
        self.driver.size
    #判断元素是否存在
    def  get_dispaay(self,key,value):
        self.find_element(key,value).is_displayed()
    #halder_window窗口切换
    def  halder_window(self):
        now_window = self.driver.current_window_handle
        halders = self.driver.window_handles
        for halder in halders:
            if now_window != halder:
                self.driver.switch_to.window(halder)
                  print('窗口切换成功')
            else:
                print('窗口切换失败')
    #警告框处理进行确认操作
    def switch_to_alter(self):
        try:
          self.driver.switch_to.alert.accept()
          print('进行警告框确认操作')
        except  Exception  as e:
           print('警告框确认操作失败'+e)
    #获取警告框内容
    def switch_to_alter_text(self):
        try:
            self.driver.switch_to.alert.text
            print('获取警告框内容成功')
        except  Exception  as e:
            print('警告框内容获取失败:' + e)
    #警告框关闭处理
    def switch_to_alter_text(self):
        try:
            self.driver.switch_to.alert.dismiss()
            print('关闭警告框成功')
        except  Exception  as e:
            print('警告框关闭操作失败:' + e)
    #下拉选处理操作  下角标从0开始
    def  select_index(self,key,value,number):
        try:
         Select(self.find_element(key,value)).select_by_index(number)
         print('下拉选选择的角标为:'+number)
        except  Exception  as e:
            print('下拉选选择角标失败:'+e)
    # 下拉选处理输入数值  下角标从0开始
    def select_value(self, key, value, values):
        try:
            Select(self.find_element(key, value)).select_by_value(values)
            print('下拉选选择的数值内容:' + values)
        except  Exception  as e:
            print('下拉选选择数值内容失败:' + e)
    # 下拉选处理输入文本  下角标从0开始
    def select_text(self, key, value, text):
        try:
            Select(self.find_element(key, value)).select_by_value(text)
            print('下拉选选择的文本为:' + text)
        except  Exception  as e:
            print('下拉选选择文本内容失败:' + e)

该类只是用于常用页面元素操作封装使用 将selenium常用方法封装成类
爱测试的小浩

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值