对象页面使用的方法

# coding: utf-8
# Author:***
# Date:2020/08/17

from selenium.webdriver import ActionChains
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import time
import os
import re

from commom.logger import Log
from commom.webBases import WebBases
from pages.constuctQuaMngPage import CONSTRACTQM



"""
# SPM中功能模块,施工现场质量管理,组织权限管理,设备安全管理,系统运维管理,人员安全管理
"""

logger = Log()


class SpmSystem(WebBases):

    """----------------------公共方法------------------------"""

    def aw_set_time(self, value=None, loc=None):
        """
        # 在时间选择处。设置时间
        :param value: 输入值
        :param loc: 时间位置
        :return:
        """
        try:
            self.aw_click_element(By.ID, loc)  # 时间
            self.aw_clear_set_input(By.ID, loc, value)
            time.sleep(1)
            self.aw_send_keys_input(By.ID, loc, Keys.ENTER)
        except:
            raise Exception("设置时间,fail...")

    def aw_select_all_opts(self):
        # 全选,在静态html中通用
        self.aw_click_element(By.XPATH, '//*/table[@class="layui-table"]/thead/tr/th/div/div/i')

    def aw_select_first_opt(self):
        # 选择第一个,单选
        self.aw_click_element(By.XPATH, '//*/table[@class="layui-table"]/tbody/tr[1]/td[1]/div/div/i')

    def aw_select_checkbox(self, opt):
        """
        # 施工现场质量管理,质量检查,质量问题管理
        :param opt: 全选,单选
        :return:
        """
        if opt == 'all':
            self.aw_click_element(By.XPATH,
                                  '//*[@id="DataTables_Table_0_wrapper"]/div[4]/div[2]/div[1]/table/thead/tr/th/input')
            logger.info("项目全选")
        elif opt == 'one':
            self.aw_click_element(By.XPATH,
                                  '//*[@id="DataTables_Table_0_wrapper"]/div[4]/div[2]/div[2]/div/table/tbody/tr[1]/td/input')
            logger.info("项目选择第一个")

    def aw_display_page_number(self, num):
        """
        # 在table中显示条数选择,页数,在table的上面
        :param num:
        :return:
        """
        self.aw_select_by_text(By.NAME, CONSTRACTQM.PAGE, num)

    def aw_search_function(self, value):
        # 页面中有搜索功能, 填入值
        self.aw_clear_set_input(By.XPATH, '//*[@id="DataTables_Table_0_filter"]/label/input', value)
        time.sleep(2)

    def aw_delete_function(self):
        # 删除功能,左边
        time.sleep(1)
        self.aw_click_by_text("删除")
        time.sleep(1)
        self.aw_click_element(By.CLASS_NAME, 'layui-layer-btn0')

    def aw_select_the_checkbox(self):
        # 选择checkbox
        f = self.driver.find_element_by_css_selector('div.layui-input-block > div > i').is_selected()
        if not f:
            self.driver.find_element_by_css_selector('div.layui-input-block > div > i').click()

    def aw_click_search_button(self):
        # 点击查询
        self.aw_click_element(By.ID, DEVICESFMNG.SEARCH)
        time.sleep(1)

    def aw_get_right_table_data(self, num=3):
        # 列表右边表列中的数据
        try:
            es = self.driver.find_elements_by_xpath(f'//*[@id="DataTables_Table_0"]/tbody/tr/td[{num}]')
            elist = [e.text for e in es]
            return elist
        except:
            return [False]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值