summaryrefslogtreecommitdiff
path: root/page_element
diff options
context:
space:
mode:
authorguowenzheng <[email protected]>2024-11-26 09:35:58 +0800
committerguowenzheng <[email protected]>2024-11-26 09:35:58 +0800
commit9c51021e88e7e68cbc32fef46826202176e4df46 (patch)
treeba8a85feb2d5bd85572bd747d9aeaeadd7c9fd92 /page_element
parent21457ab02153978d126bc0eaa87af61ddc46c23e (diff)
元素定位逻辑修改
Diffstat (limited to 'page_element')
-rw-r--r--page_element/objects_element_position.py33
1 files changed, 19 insertions, 14 deletions
diff --git a/page_element/objects_element_position.py b/page_element/objects_element_position.py
index 9b9e954f..37c49261 100644
--- a/page_element/objects_element_position.py
+++ b/page_element/objects_element_position.py
@@ -452,7 +452,7 @@ listPage_object_urls_delButton_posXpath = listpage_delete_button_posXpath # Del
url_listPage_deleteButton_posId = 'appDel-_OperateBtns_ElRow_Objects_url_Home_App_anonymousComponent' # Delete 按钮id
url_listPage_first_row_checkBox_posXpath = '(//td[@rowspan="1"and @colspan="1"]//span[@class="el-checkbox__inner"])[1]' # 列表页第一行对象多选框Xpath
# listPage_object_urls_columnSetting_descriptionOption_posXpath = '//ul[@class="col-choose open"]//span[text()="Description"]' # 列设置中的description选项元素Xpath
-listPage_object_urls_columnSetting_descriptionOption_posXpath = "//div[@class='dune-ui-table-column-setting border border-solid border-[--color-divider]']//span[normalize-space(text())='Description']" # 列设置中的description选项元素Xpath
+listPage_object_urls_columnSetting_descriptionOption_posXpath = "//span[normalize-space(text())='Description']" # 列设置中的description选项元素Xpath
listPage_object_urls_tableDetails_posXpath = '//div[@class="el-table__header-wrapper"]//span[contains(text(),"Details")]' # list表头 Details列Xpath
# listPage_object_urls_tableDetails_selected_detailsRow_posXpaths = '//span[@class="el-checkbox__input is-checked"]/ancestor::tr//div[@class="itemDetails cursor"]/span' # list页被选中的对象details 值Xpath
# listPage_object_urls_tableDetails_selected_detailsRow_posXpaths = '//span[@class="el-checkbox__input is-checked"]/ancestor::tr//div[@class="itemDetails cursor"]/..' # list页被选中的对象details 值Xpath
@@ -476,24 +476,24 @@ listPage_object_urls_tableCheckbox_posXpaths = '//table[@class="el-table__body"]
# listPage_object_urls_tableCheckbox_objectGroup_posXpaths = '//i[contains(@class,"icon-URLgroup")]/ancestor::tr//span[@class="el-checkbox__inner"]' # 列表页对象组的CheckBox(多个)
# listPage_object_urls_tableCheckbox_objectGroup_posXpaths = '//i[contains(@class,"group")]/ancestor::tr//span[@class="el-checkbox__inner"]' # 列表页对象组的CheckBox(多个)
listPage_object_urls_tableCheckbox_objectGroup_posXpaths = \
- "(//i[@class='iconfont color-ip icon-IPgroup css-lp3td5']//parent::*//parent::*//preceding-sibling::div[@data-field='__check__']//input)" # 列表页Object Group 的CheckBoxs(不包含single Object和锁定对象)
+ "(//i[contains(@class,'group css-lp3td5')]//parent::*//parent::*//preceding-sibling::div[@data-field='__check__']//input)" # 列表页Object Group 的CheckBoxs(不包含single Object和锁定对象)
listPage_object_urls_tableCheckbox_objectGroup_posXpaths_template = \
- "((//i[@class='iconfont color-ip icon-IPgroup css-lp3td5']//parent::*//parent::*//preceding-sibling::div[@data-field='__check__']//input))[{}]" # 列表页Object Group 的CheckBoxs(不包含single Object和锁定对象)
+ "((//i[contains(@class,'group css-lp3td5')]//parent::*//parent::*//preceding-sibling::div[@data-field='__check__']//input))[{}]" # 列表页Object Group 的CheckBoxs(不包含single Object和锁定对象)
listPage_object_urls_tableCheckbox_notLocalVsys_objectOrGroup_posXpaths = '//div[@class="table-status-box"]/div[2]//*[contains(@class,"icon-lock")]/ancestor::tr//span[@class="el-checkbox__inner"]' # 列表页中不是本Vsys的对象或对象组的CheckBox
listPage_object_urls_tableCheckbox_notLocalVsys_objectOrGroup_posXpaths_template = '(//div[@class="table-status-box"]/div[2]//*[contains(@class,"icon-lock")]/ancestor::tr//span[@class="el-checkbox__inner"])[{}]' # 列表页中不是本Vsys的对象或对象组的CheckBox
listPage_object_urls_tableDetails_singleObject_posXpaths = '//span[contains(@class,"name-fontFamily")]/preceding-sibling::i[not(contains(@class,"icon-URLgroup"))]/ancestor::tr//div[@class="itemDetails cursor"]/..' # 列表页中所有对象(不包含对象组)的DetailsXpath
# listPage_object_urls_tableDetails_firstSingleObject_posXpath = '(//span[contains(@class,"name-fontFamily")]/preceding-sibling::i[not(contains(@class,"group"))]/ancestor::tr//span[@class="el-checkbox__inner"])[1]' # 列表页中第一个Object 的CheckBox
listPage_object_urls_tableCheckbox_singleObject_posXpaths = \
- "(//i[@class='iconfont color-ip icon-ip css-lp3td5']//parent::*//parent::*//preceding-sibling::div[@data-field='__check__']//input)" # 列表页中Object 的CheckBoxs(不包含Group和锁定对象)
+ "(//i[contains(@class,'css-lp3td5')]//parent::*//parent::*//preceding-sibling::div[@data-field='__check__']//input)" # 列表页中Object 的CheckBoxs(不包含Group和锁定对象)
listPage_object_urls_tableCheckbox_singleObject_posXpaths_template = \
- "((//i[@class='iconfont color-ip icon-ip css-lp3td5']//parent::*//parent::*//preceding-sibling::div[@data-field='__check__']//input))[{}]" # 列表页中Object 的CheckBoxs(不包含Group和锁定对象)
+ "((//i[contains(@class,'css-lp3td5')]//parent::*//parent::*//preceding-sibling::div[@data-field='__check__']//input))[{}]" # 列表页中Object 的CheckBoxs(不包含Group和锁定对象)
listPage_object_urls_tableDetails_firstSingleObject_posXpath = \
- "(//i[@class='iconfont color-ip icon-ip css-lp3td5']//parent::*//parent::*//preceding-sibling::div[@data-field='__check__']//input)[1]" # 列表页中第一个Object 的CheckBox(不包含Group和锁定对象)
+ "(//i[contains(@class,'css-lp3td5')]//parent::*//parent::*//preceding-sibling::div[@data-field='__check__']//input)[1]" # 列表页中第一个Object 的CheckBox(不包含Group和锁定对象)
# listPage_object_urls_tableDetails_firstObjectGroup_posXpath = '(//i[contains(@class,"group")]/ancestor::tr//span[@class="el-checkbox__inner"][1])' # 列表页中第一个Object Group 的CheckBox
listPage_object_urls_tableDetails_firstObjectGroup_posXpath = \
- "(//i[@class='iconfont color-ip icon-IPgroup css-lp3td5']//parent::*//parent::*//preceding-sibling::div[@data-field='__check__']//input)[1]" # 列表页中第一个Object Group 的CheckBox(不包含single Object和锁定对象)
+ "(//i[contains(@class,'group css-lp3td5')]//parent::*//parent::*//preceding-sibling::div[@data-field='__check__']//input)[1]" # 列表页中第一个Object Group 的CheckBox(不包含single Object和锁定对象)
listPage_object_urls_tableCheckbox_firstNotLocalVsys_objectOrGroup_posXpath = '(//i[@class="iconfont icon-lock text-[18px] text-[--color-text-decoration]"]/ancestor::div[@class="MuiDataGrid-cell MuiDataGrid-cell--textLeft css-16m40q9"]/preceding-sibling::div[@data-field="__check__"]//input)[1]' # 列表页中第一个不是本Vsys的对象或对象组的CheckBox
listPage_object_urls_tableCheckbox_localVsys_objectOrGroup_posXpaths = '//*[contains(@class,"table-status-item-id")]/preceding-sibling::div[2][not(*)]/ancestor::tr//span[@class="el-checkbox__inner"]' # 列表页中本Vsys的Object 或Group(不包含其他Vsys)
@@ -558,7 +558,7 @@ urlGroup_ObjectDetailPage_addButton_posId = 'temporary_form' # Subordinate Obje
urlGroup_ObjectDetailPage_addButton_posXpath = "//div[@class='url-object-included_sub_object_uuids']//i[@class='iconfont icon-Create1 text-[18px] font-[700] text-[--color-primary] cursor-pointer']"
urlGroup_ObjectDetailPage_description_posXpath = "//div[@class='MuiTextarea-root MuiTextarea-variantOutlined MuiTextarea-colorNeutral MuiTextarea-sizeMd MuiTextarea-formControl css-v35t8h']//textarea[1]" # Description textarea Xpath
urlGroup_ObjectDetailPage_subAddButton_posXpath = "//i[@class='iconfont icon-Create1']" # Subordinate Objects下点击 “+”按钮后,新建url项目中的“+”元素Xpath
-url_ObjectGroupDetailPage_subObjects_addButton_newAdd_posXpath = '//div[@data-desc="subObject"]//div[@class="AddButton"]' # Subordinate Objects 下无数据新增时"+"按钮Xpath
+url_ObjectGroupDetailPage_subObjects_addButton_newAdd_posXpath = '//div[@class="url-object-included_sub_object_uuids"]//button' # Subordinate Objects 下无数据新增时"+"按钮Xpath
urlGroup_ObjectDetailPage_subUrl_posXpath = "//ul[@class='base-Popper-root MuiMenu-root Mui-expanded MuiMenu-variantOutlined MuiMenu-colorNeutral MuiMenu-sizeMd css-131n2dh']//li[1]" # 子+下的Url选项
urlGroup_ObjectDetailPage_subNameInput_posXpath = "(//div[@class='url-object-name']//input)[2]" # 子Name输入框Xpath
urlGroup_ObjectDetailPage_subSubAddButton_posXpath = "(//i[@class='iconfont icon-Create1 font-[700]'])[2]" # 子“+”按钮Xpath
@@ -568,7 +568,7 @@ urlGroup_ObjectDetailPage_subTotalField_posXpath = '//div[@class="px-[12px] pb-[
# urlGroup_ObjectDetailPage_subTotalField_posXpath = '//*[@class="EditDraw"]//div[@class="drawer-box"]//div[@class="panel-content"]//*[contains(text(),"Total")]' # 侧滑Total:xx 元素Xpath
urlGroup_ObjectDetailPage_subItemValue_posXpath = '//div[contains(@class,"form-list-row")]//input' # 子Item value输入框Xpath
urlGroup_ObjectDetailPage_subItemSaveButton_posXpath = "//i[@class='operate-icon iconfont icon-save']" # 子保存按钮Xpath
-urlGroup_ObjectDetailPage_subObjectSearchButton_posXpath = "//div[@class='url-object-included_sub_object_uuids']//input[@class='MuiInput-input css-za5rna']" # Subordinate Objects中的Object搜索框
+urlGroup_ObjectDetailPage_subObjectSearchButton_posXpath = "//div[@class='url-object-included_sub_object_uuids']//input" # Subordinate Objects中的Object搜索框
urlGroup_ObjectDetailPage_excludeObjectSearchButton_posXpath = "//div[@class='url-object-excluded_sub_object_uuids']//input[@class='MuiInput-input css-za5rna']" # Exclude Objects中的Object搜索框
urlGroup_ObjectDetailPage_subDescription_posXpath = "(//div[@class='url-object-description']//textarea[1])[2]" # 子Description textarea Xpath
urlGroup_ObjectDetailPage_subOkButton_posId = 'OK-_URLDetail_VDraswer_EditDraw_URLDetail_Home_App_anonymousComponent' # 子“OK”按钮id
@@ -1435,7 +1435,7 @@ flag_ObjectDetailPage_auditLogs_posXpath = url_ObjectDetailPage_auditLogs_posXpa
flag_ObjectDetailPage_auditLogsDrawer_firstRowLog_checkBox_posXpath = url_ObjectDetailPage_auditLogsDrawer_firstRowLog_checkBox_posXpath # Audit Logs 侧滑页第一条日志CheckBox Xpath
flag_ObjectDetailPage_auditLogsDrawer_compareButton_posXpath = url_ObjectDetailPage_auditLogsDrawer_compareButton_posXpath # Audit Logs 侧滑页Compare 按钮Xpath
flag_ObjectDetailPage_auditLogsDrawer_compareDrawer_operationText_posXpath = url_ObjectDetailPage_auditLogsDrawer_compareDrawer_operationText_posXpath # Audit Logs 侧滑页点击Compare后的 operation text Xpath
-flag_ObjectDetailPage_flagItemChunk_posXpath = '//div[@class="CommonItems"]//div[@class="edit-row"]//span[@class="flex"]//span[contains(@class,"flag-item-chunk")]' # Item flag 选择块
+flag_ObjectDetailPage_flagItemChunk_posXpath = "(//div[@class='ItemRow infinite-list-item'])[last()]//span[contains(@class,'flag-item-chunk')]" # Item flag 选择块
flag_ObjectDetailPage_flagItemChunk_template_posXpath = '(//div[@data-testid="virtuoso-item-list"]/div[@data-index="0"]//button)[{}]' # Item flag 选择块!!!!!
flag_ObjectDetailPage_DelCross_posXpath = url_ObjectDetailPage_urlDelCross_posXpath # item删除按钮Xpath
# 详情页通用元素
@@ -1445,16 +1445,21 @@ flag_ObjectDetailPage_okButton_yes_posXpath = url_ObjectDetailPage_okButton_yes_
# 对象组详情页
flag_ObjectGroupDetailPage_subObjects_addButton_normalAdd_posXpath = '//div[@class="flag-object-included_sub_object_uuids"]//i[@class="iconfont icon-Create1 text-[18px] text-weight-700] text-[--color-primary] cursor-pointer"]' # Subordinate Objects 下有数据新增时"+"按钮Xpath!!!!!
-flag_ObjectGroupDetailPage_subObjects_addButton_newAdd_posXpath = '//div[@class="flag-object-included_sub_object_uuids"]//i' # Subordinate Objects 下无数据新增时"+"按钮Xpath!!!!!
+flag_ObjectGroupDetailPage_subObjects_addButton_newAdd_posXpath = '//div[@class="flag-object-included_sub_object_uuids"]//i[contains(@class,"Create1 ")]' # Subordinate Objects 下无数据新增时"+"按钮Xpath!!!!!
flag_ObjectDetailPage_firstObject = '//ul[@class="MuiList-root MuiList-vertical MuiList-variantPlain MuiList-colorNeutral MuiList-sizeMd css-1cklc3"]/li[1]' ## 侧滑Objects列表中第一个flag object Xpath!!!!!!
flag_ObjectGroupDetailPage_subObjects_toggleDraw_addButton_posXpath = '//button[@class="MuiIconButton-root MuiIconButton-variantPlain MuiIconButton-colorNeutral MuiIconButton-sizeMd MuiMenuButton-root MuiMenuButton-variantOutlined MuiMenuButton-colorNeutral MuiMenuButton-sizeMd css-83p2rh"]/i' # Flag侧滑窗口的"+"按钮!!!!!
flag_ObjectGroupDetailPage_subObjects_toggleDraw_closeButton_posXpath = '//i[@class="iconfont icon-Clear_aNormal close-icon"]' # Flag侧滑窗口的Close按钮!!!!!
flag_ObjectGroupDetailPage_subObjects_toggleDraw_addButton_flag_posXpath = acc_ObjectGroupDetailPage_subObjects_toggleDraw_addButton_account_posXpath # Flag侧滑窗口的"+"按钮下的Flag
+flagGroup_ObjectDetailPage_subObjectSearchButton_posXpath = "//div[@class='flag-object-included_sub_object_uuids']//input"
+flagGroup_ObjectDetailPage_excludeObjectSearchButton_posXpath = "//div[@class='flag-object-excluded_sub_object_uuids']//input"
+flag_ObjectGroupDetailPage_excludeObjects_addButton_normalAdd_posXpath = '//div[@class="flag-object-excluded_sub_object_uuids"]//i[contains(@class,"Create")]'
+flagGroup_ObjectDetailPage_excludeObjectsSwitch_enableStatus_posXpath = '//div[@class="flag-object-excluded_sub_object_uuids"]//i[@class="iconfont icon-Create1 font-[700]"]'
+
flag_ObjectGroupDetailPage_subObjects_subCreateFlagDrawer_nameInput_posXpath = '(//input[@class="MuiInput-input css-fqt4w4"])[2]' # 侧滑子Create Flag页面Name input Xpath!!!!!
flag_ObjectGroupDetailPage_subObjects_subCreateFlagDrawer_itemsAddButton_posXpath = '//div[@class="mt-[10px] flex justify-center"]//i[@class="iconfont icon-Create1 font-[700]"]' # 侧滑子Create Flag页面中Items下的"+"按钮 Xpath!!!!!
flag_ObjectGroupDetailPage_subObjects_subCreateFlagDrawer_descriptionTextarea_posXpath = '(//textarea[@placeholder="Please enter the content"])[2]' # 侧滑子Create Flag 页面中的Description textarea Xpath!!!!!
flag_ObjectGroupDetailPage_subObjects_subCreateFlagDrawer_itemsValueSaveButton_posXpath = '//i[@class="operate-icon iconfont icon-save"]' # 侧滑子Create Flag页面中Items下的保存按钮 Xpath!!!!!
-flag_ObjectGroupDetailPage_subObjects_subCreateFlagDrawer_okButton_posXpath = '(//button[@class="MuiButtonBase-root MuiButton-root MuiLoadingButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary MuiButton-root MuiLoadingButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary form-action-submit css-1djnbgz"]//span[@class="MuiTouchRipple-root css-w0pj6f"])[2]' # 侧滑子Create Flag 页面中OK按钮!!!!!
+flag_ObjectGroupDetailPage_subObjects_subCreateFlagDrawer_okButton_posXpath = '(//button[@class="MuiButtonBase-root MuiButton-root MuiLoadingButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary MuiButton-root MuiLoadingButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary form-action-submit css-1djnbgz"])[2]' # 侧滑子Create Flag 页面中OK按钮!!!!!
flag_ObjectGroupDetailPage_subObjects_subCreateFlagDrawer_okButton_yes_posXpath = url_ObjectDetailPage_okButton_yes_posXpath # 侧滑子Create Flag 页面确认弹窗的“Yes”按钮
flag_ObjectGroupDetailPage_subObjects_subCreateFlagDrawer_okButton_cancel_posXpath = url_ObjectDetailPage_okButton_cancel_posXpath # 侧滑子Create Flag页面确认弹窗的“Cancel”按钮
flagGroup_ObjectDetailPage_excludeObjectsSwitch_normalAdd_posXpath = '//div[@class="flag-object-excluded_sub_object_uuids"]//i[@class="iconfont icon-Create1 text-[18px] font-[700] text-[--color-primary] cursor-pointer"]' # Exclude Objects有数据时新增按钮Xpath!!!!!
@@ -1496,7 +1501,7 @@ port_ObjectDetailPage_leaveThisPage_yesButton_posXpath = '//button[contains(@cla
port_ObjectDetailPage_clearCounter_posXpath = acc_ObjectDetailPage_clearCounter_posXpath # Clear Counter 按钮
port_ObjectDetailPage_dupAlert_posXpath = '//div[@title="Duplicate data exists"]' # item重复提示
port_ObjectDetailPage_dupAlert_duplicateListTotal_posXpath = '//div[@class="DuplicateList list-box"]//p[contains(@class,"total")]' # duplicateList中的“Total:xx”
-port_ObjectPage_button_cancel_posXpath = "//div[@class=' port-object-page MuiBox-root css-o7xelj']//button[text()='Cancel']" # 详情页cancel按钮xpath!!!!!
+port_ObjectPage_button_cancel_posXpath = "//div[contains(@class,'object-page MuiBox-root')]//button[text()='Cancel']" # 详情页cancel按钮xpath!!!!!
port_ObjectPage_importTipsValue_posXpath_template = '//th[@class="MuiTableCell-root MuiTableCell-body MuiTableCell-sizeMedium css-11hk28a"]' # 导入后valid值!!!!!
port_ObjectPage_importTipsValue_error_item_posXpath = '//div[@class="importTable"]//*[@class="{}"]'
# 列表页
@@ -1547,7 +1552,7 @@ object_page_ln_select_statistics_elaborate_posXpath = '//li[@class="MuiOption-ro
object_page_ln_select_statistics_none_posXpath = '//li[@class="MuiOption-root MuiOption-highlighted Mui-selected css-171tq0k"]//p[@class="MuiTypography-root MuiTypography-title-sm css-kfmwsi"]' # none!!!!!
# 详情页通用元素
port_ObjectDetailPage_mainOkButton_poId = 'OK-_PortDetail_Home_App_anonymousComponent' # OK按钮ID
-port_ObjectDetailPage_mainOkButton_posXpath = "//div[@class=' port-object-page MuiBox-root css-o7xelj']//button[text()='OK']"
+port_ObjectDetailPage_mainOkButton_posXpath = "//div[contains(@class,'object-page MuiBox-root')]//button[text()='OK']"
port_ObjectDetailPage_okButton_yes_posXpath = acc_ObjectDetailPage_okButton_yes_posXpath # 确认弹窗的“Yes”按钮
# 对象组详情页