#!/usr/bin/env python # -*- coding: utf-8 -*- ''' @File : list_page_locator.py @Time : 2024/11/20 17:03:52 @Author : dulip3ng @Version : 1.0 @Desc : None ''' class ListPageLocator: BUTTON_ARGS_LOC = "(//div[contains(@id, '-FMAINTAB_c-') and @class='k-content k-state-active']//div[contains(@id, '-BILLMENU_TOOLBAR')]/ul/li[contains(@class, 'k-item k-state-default kdmenuitem') and not(contains(@class, 'kd-menubtn-disabled'))]/span/span[text()='%s'])[%d]"; SUB_BUTTON_ARGS_LOC = "//div[@class = 'k-animation-container' and contains(@style, 'display: block')]/descendant::span[contains(@id, 'BILLMENU_TOOLBAR') and text() = '%s']"; GRANDSON_BUTTON_ARGS_LOC = "//div[@class = 'k-animation-container' and contains(@style, 'display: block')]/descendant::span[contains(@id, 'BILLMENU_TOOLBAR') and text() = '%s']/../../descendant::span[@title = '%s']"; WAITING_LOC = "//div[contains(@id, '-FMAINTAB_c-') and @class='k-content k-state-active']//div[substring(@id,string-length(@id)-14)='FLIST-gridPanel']/descendant::tbody[@role = 'rowgroup']/tr/td"; ROW_DATA_ARGS_LOC = "(//div[contains(@id, '-FMAINTAB_c-') and @class='k-content k-state-active']//div[substring(@id,string-length(@id)-14)='FLIST-gridPanel']/descendant::tbody[@role = 'rowgroup']/tr/td/div/input/parent::div)[%d]"; ROW_DATA_ALL_LOC = "//div[contains(@id, '-FMAINTAB_c-') and @class='k-content k-state-active']//div[substring(@id,string-length(@id)-14)='FLIST-gridPanel']/descendant::div[@class='k-grid-header-wrap k-auto-scrollable']/table/thead/tr/th//span[@class='kd-grid-selector']/.." ALL_LINE_CHECKBOX_LOC = "//div[contains(@id, '-FMAINTAB_c-') and @class='k-content k-state-active']//div[substring(@id,string-length(@id)-14)='FLIST-gridPanel']/descendant::div[@class='k-grid-header-wrap k-auto-scrollable']/table/thead/tr/th//span[@class='kd-grid-selector']"; BILL_NO_FIELD_ARGS_LOC = "//div[contains(@id, '-FMAINTAB_c-') and @class='k-content k-state-active']//td/span[@data-field=//th[@data-title='单据编号']/@data-field and @data-rowid = '%d']"; ROW_FIELD_VALUE_ARGS_LOC = "//div[contains(@id, '-FMAINTAB_c-') and @class='k-content k-state-active']//div[contains(@id, '-FLIST-c')]//span[@data-field=//th[@data-title='%s']/@data-field and @data-rowid='%d']"; BILL_NO_FIELD_VALUE_ARGS_LOC = "//div[contains(@id, '-FMAINTAB_c-') and @class='k-content k-state-active']//div[contains(@id, '-FLIST-c')]//span[@data-field=//th[@data-title='单据编号']/@data-field and @data-rowid='%d']/a"; LIST_ALL_LINE_LOC = "//div[contains(@id, '-FMAINTAB_c-') and @class='k-content k-state-active']//div[substring(@id,string-length(@id)-14)='FLIST-gridPanel']/descendant::tbody[@role = 'rowgroup']/tr/td/div[@class = 'kd-grid-celldiv kd-grid-selector ']"; FIELDS_VALUE_ARGS_LOC = "//div[contains(@id, '-FMAINTAB_c-') and @class='k-content k-state-active']//div[contains(@id, '-FLIST-c')]//span[@data-field=//th[@data-title='%s']/@data-field and text() = '%s']"; FIELD_FILTER_ARGS_LOC = "//div[contains(@id, '-FMAINTAB_c-') and @class='k-content k-state-active']//div[contains(@id, '-FLIST-c')]//th[@data-title='%s']"; FILTER_ICON_ARGS_LOC = "//div[contains(@id, '-FMAINTAB_c-') and @class='k-content k-state-active']//div[contains(@id, '-FLIST-c')]//th[@data-title='%s']/a/span[@class = 'k-icon k-i-filter']"; FILTER_VALUE_ARGS_LOC = "//div[@class = 'k-animation-container kd-grid-filterMenu' and contains(@style, 'display: block')]/form/ul/li/label[text() = '%s']"; FILTER_OK_BTN = "//div[@class = 'k-animation-container kd-grid-filterMenu' and contains(@style, 'display: block')]/form/button[text() = '确定']"; ROW_DATA_PUSH_LOC = "(//div[contains(@id, '-FMAINTAB_c-') and @class='k-content k-state-active']//div[contains(@id,'FRESULTLIST-gridPane')]/descendant::tbody[@role = 'rowgroup']/tr)[%d]";