summaryrefslogtreecommitdiff
path: root/page_element/objects_element_position.py
blob: a6c7432e5b3ee9f1a55d82697c6e04c0a619eff3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
# Object列表页通用元素
listpage_create_button_posXpath = '//span[@class="action-create inline-flex mr-[8px] "]/button' #create按钮Xpath!!!!!
listpage_edit_button_posXpath = '//span[@class="action-edit inline-flex mr-[8px] "]/button'        #edit按钮xpath!!!!!
listpage_delete_button_posXpath = '//span[@class="action-delete inline-flex mr-[8px] "]/button'  #delete按钮Xpath!!!!!
listpage_export_button_posXpath = '//span[@class="action-export inline-flex mr-[8px] "]/button' #export按钮Xpath!!!!!
listpage_delete_yes_button_posXpath = '//button[@class="MuiButtonBase-root MuiButton-root MuiLoadingButton-root MuiButton-contained MuiButton-containedPrimary MuiButton-sizeSmall MuiButton-containedSizeSmall MuiButton-colorPrimary MuiButton-root MuiLoadingButton-root MuiButton-contained MuiButton-containedPrimary MuiButton-sizeSmall MuiButton-containedSizeSmall MuiButton-colorPrimary css-1aub58j"]'  # delete按钮xpath!!!!!
listpage_search_box_posXpath = '//div[@class="MuiAutocomplete-wrapper MuiAutocomplete-multiple css-1h1ala5"]/input' # 查询框Xpath!!!!!
listpage_search_button_posXpath = '//button[@class="MuiButtonBase-root MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary css-1afa66w"]'  #查询按钮Xapth!!!!!
listpage_search_input_posXpath = '//input[@class="MuiAutocomplete-input css-qdyksh"]' #查询输入Xpath!!!!!
listPage_select_first_object_posXpath = '(//div[@aria-colindex="1"]//input)[1]' #列表中第一行数据前的复选框!!!!!
listpage_select_second_object_posXpath = '(//div[@aria-colindex="1"]//input)[2]'#列表中第二行数据前的复选框!!!!!
listpage_no_data_posXpath = '//div[@class="MuiDataGrid-overlay css-14349d1"]' #列表页No Data按钮!!!!!
listpage_reference_count_posXpath = '(//button[@class="MuiButtonBase-root MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeMedium MuiButton-textSizeMedium MuiButton-colorPrimary MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeMedium MuiButton-textSizeMedium MuiButton-colorPrimary css-18studs"])[1]' #列表中第一个元素的reference count!!!!!
listpage_first_row_name_posXpath = '(//span[@class="truncate"])[1]' #第一行nameXpath!!!!!
listpage_delete_no_posXpath = '//button[@class="MuiButtonBase-root MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary css-1hoe4y0"]'
listpage_export_no_button_posXpath = '//button[@class="MuiButtonBase-root MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary css-1hoe4y0"]'
listpage_export_yes_button_posXpath = '//button[@class="MuiButtonBase-root MuiButton-root MuiLoadingButton-root MuiButton-contained MuiButton-containedPrimary MuiButton-sizeSmall MuiButton-containedSizeSmall MuiButton-colorPrimary MuiButton-root MuiLoadingButton-root MuiButton-contained MuiButton-containedPrimary MuiButton-sizeSmall MuiButton-containedSizeSmall MuiButton-colorPrimary css-1k1ho7l"]'
listpage_globalSearch_posXpath = "//ul[@class='base-Popper-root MuiAutocomplete-listbox css-18r31z0']//span[1]"
listPage_objectSearch_select_UUID_posXpath = "//ul[@class='base-Popper-root MuiAutocomplete-listbox css-18r31z0']//span[text()='UUID']"
listPage_objectSearch_select_Name_posXpath = "//ul[@class='base-Popper-root MuiAutocomplete-listbox css-18r31z0']//span[text()='Name']"    #查询Name
listPage_objectSearch_select_Details_posXpath = "//ul[@class='base-Popper-root MuiAutocomplete-listbox css-18r31z0']//span[text()='Detail']" #查询Details
listPage_objectSearch_select_Description_posXpath = "//ul[@class='base-Popper-root MuiAutocomplete-listbox css-18r31z0']//span[text()='Description']" #查询Description
listPage_object_Select_createButton_posXpath = "//ul[@class='base-Popper-root MuiMenu-root Mui-expanded MuiMenu-variantOutlined MuiMenu-colorNeutral MuiMenu-sizeMd css-1iuehdr']//li[1]"
listPage_objectGroup_Select_createButton_posXpath = "//ul[@class='base-Popper-root MuiMenu-root Mui-expanded MuiMenu-variantOutlined MuiMenu-colorNeutral MuiMenu-sizeMd css-1iuehdr']//li[2]"
listPage_view_button_posXpath = '//span[text()="View"]'
# 详情页通用元素
objectPage_group_sub_object_add_new_select_button_posXpath = '//ul[@class="base-Popper-root MuiMenu-root Mui-expanded MuiMenu-variantOutlined MuiMenu-colorNeutral MuiMenu-sizeMd css-131n2dh"]/li[1]'
objectPage_group_sub_objectGroup_add_new_select_button_posXpath = '//ul[@class="base-Popper-root MuiMenu-root Mui-expanded MuiMenu-variantOutlined MuiMenu-colorNeutral MuiMenu-sizeMd css-131n2dh"]/li[2]'
# login page 登录页面
loginPage_userName_posName = "username"
loginPage_passwd_posName = "password"
loginPage_signIn_posId = "login"

# main页面
##上导航栏
mainPage_navigationBar_logo_posCss = ".tsg-img-logo"
mainPage_navigationBar_Menu_posXpath = '//div[@class="header"]//button[@data-desc="Menu"]'
mainPage_navigationBar_Menu_adminArea_posXpath = '//div[contains(text(),"Admin Area")]'  # Admin Area
mainPage_navigationBar_Default_Vsys3_posXpath = '//article/div/ul/li[2]/div[2]/ul/li[1]/div/div[2]/div'  # Default TVsys3

# mainPage_navigationBar_Tvsys10_posXpath = '//article/div/ul/li[2]/div[2]/ul/li[2]/div/div[2]'  # Tvsys10
mainPage_navigationBar_Tvsys3_posXpath = '//*[@class="el-row"]//*[contains(text(),"Vsys3")]'  # Tvsys3
mainPage_navigationBar_Tvsys10_posXpath = '//*[@class="el-row"]//*[contains(text(),"Vsys2")]'  # Tvsys10
mainPage_navigationBar_Mvsys2_Tvsys4_posXpath = '//article/div/ul/li[2]/div[1]/div[2]/div'  # Mvsys2_Tvsys4
# mainPage_navigationBar_Mvsys3_Tvsys5_posXpath = '//article/div/ul/li[1]/div[1]/div[2]'  # Mvsys3_Tvsys5 super_vsys
mainPage_navigationBar_Mvsys3_Tvsys5_posXpath = '//article/div[@class="VsysTree"]//div[not(@class="VsysTree")]//div[@class="menu-desc" and normalize-space(text())="Vsys5"]'  # Mvsys3_Tvsys5 super_vsys
mainPage_navigationBar_super_Tvsys1_posXpath = '//article/div/ul/li[1]/div[2]/ul/li[1]/div/div[2]/div'  # super_Tvsys3
mainPage_navigationBar_super_Tvsys10_posXpath = '//article/div/ul/li[1]/div[2]/ul/li[2]/div/div[2]'  # super_Tvsys10
# test area!!!!======================#test area!!!!======================#test area!!!!======================
# test_mainPage_navigationBar_Tvsys3_posXpath = '//article/div/ul/li[2]/div[2]/ul/li[1]/div/div[2]/div'  # Tvsys3
test_mainPage_navigationBar_Tvsys3_posXpath = '//*[@class="el-row"]//*[contains(text(),"Vsys3")]'  # Tvsys3
test_mainPage_navigationBar_Mvsys2_Tvsys4_posXpath = '//article/div[@class="VsysTree"]//div[not(@class="VsysTree")]//div[@class="menu-desc" and normalize-space(text())="Vsys4"]'  # Mvsys4
test_mainPage_navigationBar_Mvsys3_Tvsys5_posXpath = '//article/div[@class="VsysTree"]//div[not(@class="VsysTree")]//div[@class="menu-desc" and normalize-space(text())="Vsys5"]'  # Mvsys5
# Mvsys2_Tvsys1

# Mvsys4_Tvsys1


# Admin Area菜单栏================================Admin Area菜单栏===================================Admin Area菜单栏================================Admin Area菜单栏==================================Admin Area菜单栏========================Admin Area菜单栏
adminArea_mainPage_firstLevelMenu_globalObjects_posId = "Global_Objects"  # 一级菜单Object
adminArea_mainPage_secondLevelMenu_globalObjects_categories_posId = "Objects_fqdn_category"  # 二级菜单Categories
# 菜单栏================================菜单栏===================================菜单栏================================菜单栏==================================菜单栏========================菜单栏
##菜单栏
mainPage_firstLevelMenu_Objects_posId = "object"  # 一级菜单Global Objects
mainPage_secondLevelMenu_ipAddress_posId = "Objects_ip"  # 二级菜单IP Addresses
mainPage_secondLevelMenu_Ports_posId = "Objects_port"  # 二级菜单Ports
mainPage_secondLevelMenu_FQDNs_posId = "Objects_fqdn"  # 二级菜单FQDNs
mainPage_secondLevelMenu_Subscriber_ids_posId = "Objects_subscriberid"  # 二级菜单Subscriber IDs
mainPage_secondLevelMenu_HTTP_Signatures_posId = "Objects_http_signature"  # 二级菜单HTTP Signatures
mainPage_secondLevelMenu_keywords_posId = "Objects_keywords"  # 二级菜单keywords
mainPage_secondLevelMenu_urls_posId = "Objects_url"  # 二级菜单url
mainPage_secondLevelMenu_Categories_posId = "Objects_fqdn_category"  # 二级菜单Categories
mainPage_secondLevelMenu_Account_posId = "Objects_account"  # 二级菜单Account
mainPage_secondLevelMenu_Mobile_Identities_posId = "Objects_mobile_identity"  # 二级菜单Mobile Identities
mainPage_secondLevelMenu_APNs_posId = "Objects_apn"  # 二级菜单APNs
mainPage_secondLevelMenu_Application_posId = "Application_applications"  # 二级菜单Application_applications
mainPage_secondLevelMenu_Application_appSelectors_posId = "Application_appSelectors"  # 二级菜单Application_appSelectors
mainPage_secondLevelMenu_Application_appGroups_posId = "Application_appGroups"  # 二级菜单Application_appGroups
mainPage_secondLevelMenu_Application_appSignatures_posId = "Application_appSignatures"  # 二级菜单Application_appSignatures
mainPage_secondLevelMenu_Application_customizedAttr_posId = "Application_customizedAttr"  # 二级菜单Application_customizedAttr
mainPage_secondLevelMenu_Tunnel_posId = "Objects_tunnel"  # 二级菜单Tunnel
mainPage_secondLevelMenu_Flags_posId = "Objects_flag"  # 二级菜单Flag
mainPage_secondLevelMenu_Intervals_posId = "Objects_interval"  # 二级菜单Intervals
mainPage_secondLevelMenu_Geolocation_posId = "Advanced/IP_Libraries"  # 二级菜单Geolocation
mainPage_secondLevelMenu_Asns_posId = 'Objects_asn'  # 二级菜单ASNs

mainPage_firstLevelMenu_Objects_posXpath = '//li[@class="MuiListItem-root MuiListItem-gutters menu-object css-1cpzmuh"]'
mainPage_secondLevelMenu_ipAddress_posXpath = "//div[@class='MuiListItem-root MuiListItem-gutters menu-ip-object css-1l56wwh']" # 二级菜单IP Addresses
mainPage_secondLevelMenu_Ports_posXpath = "//div[@class='MuiListItem-root MuiListItem-gutters menu-port-object css-1l56wwh']"
mainPage_secondLevelMenu_FQDNs_posXpath = "//div[@class='MuiListItem-root MuiListItem-gutters menu-fqdn-object css-1l56wwh']"
mainPage_secondLevelMenu_Subscriber_ids_posXpath = "//div[@class='MuiListItem-root MuiListItem-gutters menu-subscriber-id-object css-1l56wwh']"
mainPage_secondLevelMenu_HTTP_Signatures_posXpath = "//div[@class='MuiListItem-root MuiListItem-gutters menu-http-signature-object css-1l56wwh']"
mainPage_secondLevelMenu_keywords_posXpath = "//div[@class='MuiListItem-root MuiListItem-gutters menu-keyword-object css-1l56wwh']"
mainPage_secondLevelMenu_urls_posXpath = "//div[@class='MuiListItem-root MuiListItem-gutters menu-url-object css-1l56wwh']"
mainPage_secondLevelMenu_Account_posXpath = "//div[@class='MuiListItem-root MuiListItem-gutters menu-account-object css-1l56wwh']"
mainPage_secondLevelMenu_Mobile_Identities_posXpath = "//div[@class='MuiListItem-root MuiListItem-gutters menu-mobile-identity-object css-1l56wwh']"
mainPage_secondLevelMenu_APNs_posXpath = "//div[@class='MuiListItem-root MuiListItem-gutters menu-apn-object css-1l56wwh']"
mainPage_secondLevelMenu_Application_posXpath = "//div[@class='MuiListItem-root MuiListItem-gutters menu-application-object css-1l56wwh']"
mainPage_secondLevelMenu_Application_appGroups_posXpath = "//div[@class='MuiListItem-root MuiListItem-gutters menu-app-group css-1l56wwh']"
mainPage_secondLevelMenu_Application_appSignatures_posXpath = "//div[@class='MuiListItem-root MuiListItem-gutters menu-app-signature-object css-1l56wwh']"
mainPage_secondLevelMenu_Application_customizedAttr_posXpath = "//div[@class='MuiListItem-root MuiListItem-gutters menu-traffic-attribute-object css-1l56wwh']"
mainPage_secondLevelMenu_Tunnel_posXpath = "//div[@class='MuiListItem-root MuiListItem-gutters menu-tunnel-object css-1l56wwh']"
mainPage_secondLevelMenu_Flags_posXpath = "//div[@class='MuiListItem-root MuiListItem-gutters menu-flag-object css-1l56wwh']"
mainPage_secondLevelMenu_Intervals_posXpath = "//div[@class='MuiListItem-root MuiListItem-gutters menu-interval-object css-1l56wwh']"



# =====================================================================System界面==========System界面=======================================================================
mainPage_firstLevelMenu_System_posXpath = "//li[@class='MuiListItem-root MuiListItem-gutters menu-system css-1cpzmuh']"  # 一级菜单System
mainPage_secondLevelMenu_auditLogs_posXpath = "//div[contains(@class,'menu-audit-log')]"  # 二级菜单AuditLog
listPage_auditlogSearch_select_TagrgetID_posXpath = "//ul[@class='base-Popper-root MuiAutocomplete-listbox css-18r31z0']//*[normalize-space(text())='Target ID']"  # TagrgetID
listPage_auditlogSearch_select_Operation_posXpath = "//ul[@class='base-Popper-root MuiAutocomplete-listbox css-18r31z0']//*[normalize-space(text())='Operation']"   # operation选择
listPage_auditlogSearch_select_UserName_posXpath = "//ul[@class='base-Popper-root MuiAutocomplete-listbox css-18r31z0']//*[normalize-space(text())='User Name']"  # username选择
listPage_auditlogSearch_select_TargetType_posXpath = "//ul[@class='base-Popper-root MuiAutocomplete-listbox css-18r31z0']//*[normalize-space(text())='Target Type']"   # target type选择
listPage_auditlogSearch_select_Operation_Create_posXpath = '//li[@id="create-_v-select_ListItem_FilteredSearch_ElRow_system_PolicyConfigurationLog_Home_App_anonymousComponent"]'
listPage_auditlogSearch_select_Operation_Edite_posXpath = '//li[@id="edit-_v-select_ListItem_FilteredSearch_ElRow_system_PolicyConfigurationLog_Home_App_anonymousComponent"]'
listPage_auditlogSearch_select_Operation_Delete_posXpath = '//li[@id="delete-_v-select_ListItem_FilteredSearch_ElRow_system_PolicyConfigurationLog_Home_App_anonymousComponent"]'
listPage_auditlogSearch_targetid_text_posXpath = "//div[@class='rel-input v-input input el-input el-input--mini']/input"
listPage_auditlogSearch_username_text_posXpath = "//div[@class='el-input el-input--mini el-input--suffix is-focus']//input"
listPage_auditlogSearch_input_posXpath = "//span[@class='action-search inline-flex mr-[8px] flex-1']//input"
listPage_auditlogSearch_buttonSearch_posXpath = "//i[@class='iconfont icon-sousuo text-[19px]']"
# Object 查询栏===================Object 查询栏=====================Object 查询栏=================Object 查询栏=======================Object 查询栏=================Object 查询栏
##Object模块查询栏

mainPage_ObjectSearch_selectLabel_posId = "select-label"  # 查询框id
mainPage_ObjectSearch_buttonSearch_posId = "searchQuery"  # 查询按钮id
mainPage_ObjectSearch_buttonClear_posId = "searchClear"  # 清空查询按钮id
mainPage_ObjectSearch_buttonClear_posXpath = "//button[@class='MuiAutocomplete-clearIndicator css-25qtv2']" # 清空查询按钮xpath
mainPage_ObjectSearch_buttonSearch_Item_posId = "object_ip_search"  # 查询item输入框id
mainPage_ObjectSearch_buttonSearch_Item_first_content_posXpath = '(//div[@class="h-[100%] min-h-[24px] leading-[24px] truncate"])[1]'  # item搜索框第一个元素
mainPage_ObjectSearch_buttonSearch_Item_posXpath = "//input[@class='MuiInput-input css-za5rna']"  # 查询item输入框Xpath
mainPage_ObjectSearch_buttonAddItem_posId = "temporary_form"  # 添加item_id
mainPage_ObjectSearch_buttonAddItem_posXpath = "//i[@class='iconfont icon-Create1 font-[700]']"
mainPage_ObjectSearch_input_Item_posId = "onlyMarvel"  # 输入item_id
# Group 侧滑框
main_Group_sub_Object_input_frame_posXpath = "//input[@class='MuiInput-input css-za5rna']"  # 新建subObject搜索框
main_Group_sub_Object_input_frame_select_one_posXpath = "//ul[@class='MuiList-root MuiList-vertical MuiList-variantPlain MuiList-colorNeutral MuiList-sizeMd css-1cklc3']/li[1]//div[@class='flex h-[22px] leading-[22px] MuiBox-root css-14di81r']"  # 搜索框第一个元素
# 列表页
main_listPage_object_reference_count_posXpath = "//div[@class='MuiDataGrid-virtualScrollerContent css-0']/div/div[2]//div[@data-field='reference_count']/button"  # 提取reference的数量《断言》
main_listPage_object_statistics_view_postXpath = "(//div[@class='MuiDataGrid-virtualScrollerContent css-0']//div[@data-field='statistics'])[2]"
main_listPage_object_bottomTotal_postXpath = "//div[@class='flex-1 flex items-center justify-center undefined']/span[1]"  # 列表页底部Total元素
# object导入文件Xpath路径
main_ObjectPage_Input_path_Import_files_posXpath = "//div[@class='flex flex-col justify-start flex-1 MuiBox-root css-0']//input[@type='file']"
main_ObjectPage_No_data_text_posXpath = "//DIV[@class='MuiDataGrid-overlay css-14349d1']"

# 列表中元素
main_listPage_object_select_First_object_posXpath = '//div[@data-rowindex="0"]'
main_listPage_object_select_Second_object_posXpath = "//div[@class='MuiDataGrid-virtualScrollerRenderZone css-1inm7gi']/div[2]//span[@class='MuiCheckbox-action css-kit57i']"  # 选择列表中第二个对象
main_listPage_object_total_value_posXpath = '(//div[@class="flex-1 flex items-center justify-center undefined"]/span)[1]'  # 列表页total值
##Object模块列设置
mainPage_ObjectSearch_Column_settings_posXpath = "//i[@class='iconfont icon-SetNormal text-[14px] text-[var(--color-text-disabled)]']"
mainPage_ObjectSearch_Column_settings_select_CheckBox_posXpath = "//input[@name='Show/Hide All']"
mainPage_Object_Title_Name_posXpath = "//div[contains(text(),'Name')]"
mainPage_ObjectSearch_Column_settings_select_allCheckBox_posXpath = "//div[@class='MuiDataGrid-columnsManagementFooter css-1l93brk']//span[@class='MuiTypography-root MuiTypography-body1 MuiFormControlLabel-label css-1hhkft9']"  # ALL选择框----------------
mainPage_ObjectSearch_Column_settings_click_Cancel_Button_posXpath = '//div[@class="choose-button"][1]//span[text()="Cancel"]'  # 点击Cancel
mainPage_ObjectSearch_Column_settings_click_OK_Button_posXpath = '//div[@class="choose-button"][1]//span[text()="OK"]'  # 点击OK
##Object模块列设置
listPage_object_mobileIdentities_Description_Button_posXpath = '//div[@class="ly-eventfixed"]/ul/li[6]/label/span[2]'  # 列设置 Description
# Object table栏===================Object table栏=====================Object table栏=================Object table栏=======================Object table栏=================Object table栏
##Object 列表页通用按钮
listPage_createButton_posXpath = '//button[contains(@id,"reate-_OperateBtns")]'  # Create 按钮
listPage_deleteButton_posXpath = '//button[contains(@id,"appDel-_OperateBtns")]'  # delete 按钮
listPage_editButton_posXpath = '//button[contains(@id,"appEdit-_OperateBtns")]'  # Edit 按钮
listPage_viewButton_posXpath = '//button[contains(@id,"appEdit-_OperateBtns")]//*[@class="iconfont icon-View"]'  # View 按钮

listPage_object_delete_yesButton_posCss = 'body>.el-dialog__wrapper .delComponents-ok span'  # 列表页下 删除提示的Tips的yes按钮Xpath
listPage_object_delete_noButton_posCss = 'body>.el-dialog__wrapper .delComponents-close span'  # 列表页下 删除提示的Tips的No按钮Xpath
##Object模块查询栏
list_first_row_first_column_posXpath = "//div[@class='MuiDataGrid-virtualScrollerContent css-0']/div/div[2]//div[@data-field='name']//span"  # 第一行、第一列--ID
list_second_row_first_column_posXpath = "//div[@class='MuiDataGrid-virtualScrollerContent css-0']/div/div[3]//div[@data-field='name']//span"  # 第二行、第一列--Object对应ID号
listPage_condition_slide_search_frame='//input[@class="MuiInput-input css-za5rna"]'
object_page_total_value = '//span[@class="inline-flex px-[10px] py-[3px] text-[12px] bg-dividerColor min-w-[12px] leading-[1] rounded-[8px] text-center"]'
list_first_row_second_column_posXpath = '//div[@id="ly-table1-listcontent"]//span[text()="Vsys ID"]'  # 第一行、第二列
list_second_row_second_column_posXpath = '//table/tbody/tr[1]/td[2]/div//span'  # 第二行、第二列

list_first_row_third_column_posXpath = "(//div[@class='MuiDataGrid-columnHeaderTitle css-mh3zap'])[2]"  # 第一行、第三列
list_second_row_third_column_posXpath = '//table/tbody/tr[1]/td[3]/div/div/div/span'  # 第二行、第三列
list_second_row_third_column_posXpath_IMSI = '//table/tbody/tr[1]/td[4]/div/div/div/div/div/div[1]/span'  # IMSI
list_second_row_third_column_posXpath_IMSI_Group = '//table/tbody/tr/td[4]/div/div/div/div/div/div/div/span/div/div/div'  # IMSI Group
list_second_row_third_column_posXpath_Phone_Number_IMEI_Group = '//table/tbody/tr/td[4]/div/div/div/div/div/div/div/span/div/div/div'  # Phone Number/IMEI Group
list_second_row_third_column_posXpath_Phone_Number_IMEI = '//table/tbody/tr/td[4]/div/div/div/div/div/div/span'  # Phone Number/IMEI

list_first_row_fourth_column_posXpath = '//table/thead/tr/th[4]/div/div/span'  # 第一行、第四列
list_second_row_fourth_column_posXpath = '//table/tbody/tr[1]/td[4]/div/div/div/div/div/div/div/span'  # 第二行、第四列

list_first_row_fifth_column_posXpath = '//table/thead/tr/th[5]/div/div/span'  # 第一行、第五列
list_second_row_fifth_column_posXpath = '//table/tbody/tr[1]/td[5]/div/div/div'  # 第二行、第五列

list_first_row_sixth_column_posXpath = '//table/thead/tr/th[6]/div/div/span'  # 第一行、第六列
list_second_row_sixth_column_posXpath = '//table/tbody/tr[1]/td[6]/div//p'  # 第二行、第六列

# 列表页翻页元素
listPage_object_pages_maxPageNumber_posXpath = '(//button[@class="MuiButtonBase-root MuiPaginationItem-root MuiPaginationItem-sizeMedium MuiPaginationItem-text MuiPaginationItem-rounded MuiPaginationItem-colorPrimary MuiPaginationItem-textPrimary MuiPaginationItem-page css-x4rueb"])[last()]'  # 列表页最大页码
listPage_object_pages_currentPageNumber_posXpath = "//button[@aria-current='true']"  # 列表页当前页码元素Xpath
listPage_object_pages_currentPageAreaMinNumber_posXpath = '//li[@class="el-icon more btn-quickprev el-icon-more"]/following-sibling::li[1]'  # 列表页当前页码所属区域最小页码元素Xpath
listPage_object_pages_currentPageAreaMaxNumber_posXpath = '(//li[@class="el-icon more btn-quicknext el-icon-more"]/preceding-sibling::li)[last()]'  # 列表页当前页码所属区域最大页码元素Xpath
listPage_object_pages_currentPageArea_MaxNumber_posXpath = '(//li[@class="number"])[last()]'
listPage_object_pages_previousPage_button_poxXpath = "//button[@aria-label='Go to previous page']"  # 前翻页按钮Xpath
listPage_object_pages_nextPage_button_poxXpath = '//button[@aria-label="Go to next page"]'  # 后翻页按钮Xpath
listPage_object_pages_next_2_Page_button_poxXpath = '//div[1]/ul/li[text()="2"]'  # 翻页至第二页
listPage_object_pages_goTo_input_poxXpath = "//div[@class='MuiInputBase-root MuiOutlinedInput-root MuiInputBase-colorPrimary MuiInputBase-sizeSmall ml-[5px] h-[24px] w-[48px] css-1q6u993']/input"  # 页码Go to输入框Xpath
listPage_object_pages_quickPreviousPage_button_poxXpath = '//li[contains(@class,"el-icon more btn-quickprev")]'  # 快速前翻页按钮Xpath
listPage_object_pages_quickNextPage_button_poxXpath = '//li[contains(@class,"el-icon more btn-quicknext")]'  # 快速后翻页按钮Xpath
listPage_fist_object_id_poxXpath = '//div[contains(@class,"el-table__body-wrapper")]//tr[1]//td[count(//div[@class="el-table__header-wrapper"]//span[text()="ID"]/../../../preceding-sibling::th)+1]//div[@class="table-status-item-id"]//span'

# Object Group添加object侧滑页下翻页元素
DrawerlistPage_object_pages_maxPageNumber_posXpath = '//div[@class="ToggleDraw"]//li[contains(@class,"number")][last()]'  # 列表页最大页码
DrawerlistPage_object_pages_currentPageNumber_posXpath = '//div[@class="ToggleDraw"]//li[@class="number active"]'  # 列表页当前页码元素Xpath
DrawerlistPage_object_pages_previousPage_button_poxXpath = '//div[@class="ToggleDraw"]//button[@class="btn-prev"]/i'  # 前翻页按钮Xpath
DrawerlistPage_object_pages_nextPage_button_poxXpath = '//div[@class="ToggleDraw"]//button[@class="btn-next"]'  # 后翻页按钮Xpath
DrawerlistPage_object_pages_currentPageAreaMinNumber_posXpath = listPage_object_pages_currentPageAreaMinNumber_posXpath  # 列表页当前页码所属区域最小页码元素Xpath
DrawerlistPage_object_pages_currentPageAreaMaxNumber_posXpath = listPage_object_pages_currentPageAreaMaxNumber_posXpath  # 列表页当前页码所属区域最大页码元素Xpath
DrawerlistPage_object_pages_currentPageArea_MaxNumber_posXpath = listPage_object_pages_currentPageArea_MaxNumber_posXpath
DrawerlistPage_object_pages_goTo_input_poxXpath = '//div[@class="ToggleDraw"]//*[@class="el-pagination__jump"]//input[@class="el-input__inner"]'  # 页码Go to输入框Xpath
DrawerlistPage_object_pages_quickPreviousPage_button_poxXpath = listPage_object_pages_quickPreviousPage_button_poxXpath  # 快速前翻页按钮Xpath
DrawerlistPage_object_pages_quickNextPage_button_poxXpath = listPage_object_pages_quickNextPage_button_poxXpath  # 快速后翻页按钮Xpath

# 列表页其他通用元素
listPage_object_pages_clearCounter_button_poxXpath = '//div[@class="page-box-containcheck"]//*[normalize-space(text())="Clear Counter"]'  # 列表页中的Clear Counter 按钮
listPage_object_pages_first_quoted_object_elem_posXpath = '(//div[contains(@class,"cursorPointer textCenter") and number(text()>=1)])[1]/ancestor::tr//*[@class="el-checkbox__inner"]'  # 列表页中Reference Count大于等于1的第一个Object的CheckBox
listPage_first_row_checkBox_posXpath = '(//td[@rowspan="1"and @colspan="1"]//span[@class="el-checkbox__inner"])[1]'  # 列表页 第一行的checkBox
listPage_second_row_checkBox_posXpat = '(//td[@rowspan="1"and @colspan="1"]//span[@class="el-checkbox__inner"])[2]'  # 列表页 第二行的checkBox
listPage_item_search_text_posXpath = '//input[@placeholder="Search"]'
listPage_item_search_total_text_posXpath = '//div[@class="text-[--color-text-disabled] h-[18px] mt-[6px] mb-[4px]"]'
listPage_referenceCount_drawerList_ruleOrObject_posXpaths = '//tr[@class="MuiTableRow-root MuiTableRow-hover css-1b1a2s3"]'  # 列表页referenceCount侧滑页面中的所有rule或Object
listPage_referenceCount_drawerList_disabledRuleOrObject_posXpaths = '//div[@class="box-content"]//div[contains(@class,"el-dropdown-menu__item") and contains(@class,"showNamePointer")]'# 列表页referenceCount侧滑页面中的所有不可点击的rule或Object
listPage_referenceCount_drawerList_ruleOrObject_posXpaths_template = '(//div[@class="box-content"]//div[contains(@class,"el-dropdown-menu__item")])[{}]'  # 列表页referenceCount侧滑页面中的所有rule或Object
listPage_referenceCount_posXpaths = '//div[@data-field="reference_count"]/button'
listPage_notLocalVsys_referenceCount_posXpaths = '//div[@class="table-status-box"]/div[2]//*[contains(@class,"icon-lock")]/ancestor::tr//div[contains(@class,"obj-charts-btn")]'#非本Vsys中的Reference Count
listPage_localVsys_referenceCount_posXpaths ='//div[@class="table-status-box"]/div[2][not(*)]/ancestor::tr//div[contains(@class,"obj-charts-btn")]'#本Vsys中的Reference Count
# 详情页通用元素
ObjectDetailPage_mainOkButton_poXpath = '//div[contains(@class,"prox-fixed-footer")]//button[contains(@id,"OK-_")]'  # 详情页底部的OK按钮
ObjectDetailPage_mainCancelButton_poXpath = '//div[contains(@class,"prox-fixed-footer")]//button[contains(@id,"Canc")]'  # 详情页底部的OK按钮
ObjectDetailPage_input_Name_posXpath = '//input[@class="MuiInput-input css-fqt4w4"]'  # 详情页输入框Xpath!!!!!
ObjectDetailPage_okButton_yes_posXpath = '//div[@class="el-message-box__btns"]//button[contains(@class,"operation-confirm")]'  # 确认弹窗的“Yes”按钮
ObjectDetailPage_search_frame = '//input[@class="MuiInput-input css-za5rna"]'
objectDetailPage_total_value = '//*[@id="router-view-container"]//div[@class="total"]'
ObjectDetailPage_audit_log_compare_version_posXpath = "//div[@class='compare-code-box']//div[text()='Version']/following-sibling::div"
ObjectDetailPage_audit_log_compare_id_posXpath = '//div[contains(text(),"Target ID")]/following-sibling::div'
ObjectDetailPage_audit_log_compare_type_posXpath = '//div[contains(text(),"Target Type")]/following-sibling::div'
ObjectDetailPage_audit_log_compare_ip_posXpath = '//div[contains(text(),"Source IP")]/following-sibling::div'
ObjectDetailPage_audit_log_compare_time_posXpath = "//div[@class='compare-code-box']//div[text()='Time']/following-sibling::div"
ObjectDetailPage_audit_log_compare_user_posXpath = '//div[contains(text(),"User")]/following-sibling::div'
ObjectDetailPage_audit_log_cancel_posXpath = "//div[@class='paper-right-content']//span[normalize-space(text())='Close']"
# Group Object详情页通用元素
groupObjectDetailPage_addSubObjecDrawer_searchInput_posXpath = '(//div[@class="css-dob60y"]//input)[1]'  # Group 详情页添加sub Object的侧滑页面中的搜索框
groupObjectDetailPage_addSubObjecDrawer_totalText_posXpath = '//div[@class="px-[12px] pb-[4px] pt-[2px] text-[--color-text-disabled]"]'  # Group 详情页添加sub Object的侧滑页面中的Total文本
groupObjectDetailPage_addSubObjecDrawer_firstSubObject_posXpath = '//ul[@class="MuiList-root MuiList-vertical MuiList-variantPlain MuiList-colorNeutral MuiList-sizeMd css-1cklc3"]/li[1]'  # Group 详情页添加sub Object的侧滑页面中第一个sub object

groupObjectDetailPage_subordinateObjects_search_posXpath = '//div[@class="apn-object-included_sub_object_uuids"]//input'
groupObjectDetailPage_excludeObjects_search_posXpath = '//div[@class="apn-object-excluded_sub_object_uuids"]//input'
groupObjectDetailPage_subordinateObjects_total_value_posXpath = "//div[@data-desc='subObject']//div[@class='total textRight']"
groupObjectDetailPage_excludeObjects_total_value_posXpath = "//div[@data-desc='exclude subObject']//div[@class='total textRight']"
# Object Mobile Identities===================Object Mobile Identities====================Object Mobile Identities=================Object Mobile Identities=======================Object Mobile Identities=================Object Mobile Identities
# Mobile_Identities list page 列表页
listPage_object_mobileIdentities_allButton_posId = '//*[@id="router-view-container"]/div/div[1]/div[4]/label/span[2]'  # all按钮
listPage_object_mobileIdentities_createButton_posXpath = listpage_create_button_posXpath  # create按钮id
listPage_object_mobileIdentities_editButton_posXpath = listpage_edit_button_posXpath  # edit按钮id
listPage_object_mobileIdentities_viewButton_posId = "//button[@id='appEdit-_OperateBtns_ElRow_Objects_mobile_identity_Home_App_anonymousComponent']//p[normalize-space(text()) = 'View']"
listPage_object_mobileIdentities_editButton_content_posXpath = '//button[@id="appEdit-_OperateBtns_ElRow_Objects_mobile_identity_Home_App_anonymousComponent"]/span/div/div[2]/p[1]'
listPage_object_mobileIdentities_delButton_posXpath = '//span[@class="action-delete inline-flex mr-[8px] "]/button'  # del按钮id
listPage_object_mobileIdentities_del_yes_Button_posXpath = '//button[@class="MuiButtonBase-root MuiButton-root MuiLoadingButton-root MuiButton-contained MuiButton-containedPrimary MuiButton-sizeSmall MuiButton-containedSizeSmall MuiButton-colorPrimary MuiButton-root MuiLoadingButton-root MuiButton-contained MuiButton-containedPrimary MuiButton-sizeSmall MuiButton-containedSizeSmall MuiButton-colorPrimary css-1aub58j"]'  # del_yes按钮
listPage_objectSearch_mobileIdentities_selectLabel_posXpath = listpage_search_box_posXpath  # 查询框id
listPage_objectSearch_mobileIdentities_add_watch_posXpath = '//div[@id="router-view-container"]/div/div[1]/div/div[4]/span/span[text() = "Watch"]'  # 添加watch列表页
listPage_objectSearch_mobileIdentities_right_list_watch_posXpath = '//div[@id="fixed-right"]/ul/div/div[1]/li/div/i'  # 右侧watch列表
listPage_objectSearch_mobileIdentities_right_list_watch_select_all_posXpath = '//div[1]/div/div/div[3]/label/span[1]/span'  # 右侧watch列表选择all
listPage_objectSearch_mobileIdentities_right_list_watch_select_clear_posXpath = '//span[@id="watchClean"]'  # 右侧watch列表选择clear
listPage_objectSearch_mobileIdentities_right_list_watch_object_posXpath = '//div[4]/div[1]/div[1]/div/div[1]/div[1]/div/ul/li[2]'  # 选择清空object
listPage_object_mobileIdentities_delButton_is_to_be_click_posXpath = '//button[@class="el-button topicCol-btn el-button--default el-button--small"][@id="appDel-_OperateBtns_ElRow_Objects_mobile_identity_Home_App_anonymousComponent"]'  # 断言<delete按钮是否存在>
listPage_object_keywords_delButton_is_to_be_click_posXpath = '//button[@id="appDel-_OperateBtns_ElRow_Objects_keywords_Home_App_anonymousComponent"][@disabled="disabled"]'
listPage_object_mobileIdentities_reference_count_posXpath = main_listPage_object_reference_count_posXpath
listPage_object_clear_count_posXpath = "//*[@id='objectResetBtn-_anonymousComponent_ElForm_anonymousComponent_VPanel_VEditPanel_FqdnDetail_Home_App_anonymousComponent']"  # clear counter 按钮
listPage_object_clear_count_Yes_posXpath = "//div[@class='el-message-box__btns']//span[normalize-space(text())='Yes']"  # clear counter点击后Yes按钮

listPage_object_mobileIdentities_reference_posXpath = '//div[@id="router-view-container"]/div/div[2]/div[1]/div/div/div[2]/div[2]/div[1]/div/div[3]/div'  # 侧滑引用界面
listPage_object_mobileIdentities_reference_close_posXpath = "//button[@id='interceptionadd_allcancelobject1']"  # 侧滑关闭按钮
listPage_object_reprtition_check_postXpath = '//i[@class="iconfont icon-jinggao1 text-[var(--color-btn-warning)] px-[4px] text-[18px]"]'
listPage_current_object_reprtition_tips_posXpath = '//*[@id="router-view-container"]//div[@title="There are duplicates in the current object"]'
listPage_other_object_reprtition_tips_posXpath = '//*[@id="router-view-container"]//div[@title="Duplicate data exists"]'
listPage_object_reprtition_total_postXpath = "//div[@class='css-dob60y']//div[@class='text-[--color-text-disabled]']"
# '//table/tbody/tr[1]/td[4]/div/div/div/div/div/div[1]/span'  # IMSI提取Details
listPage_object_group_exclude_open_posXpath = '//input[@type="checkbox"]'
listPage_object_group_subobject_fist_posXpath = '//ul[@class="MuiList-root MuiList-vertical MuiList-variantPlain MuiList-colorNeutral MuiList-sizeMd css-1cklc3"]/li[1]//span[@class="truncate"]'
listPage_object_group_subobject_second_posXpath = '//ul[@class="MuiList-root MuiList-vertical MuiList-variantPlain MuiList-colorNeutral MuiList-sizeMd css-1cklc3"]/li[2]//span[@class="truncate"]'
ip_object_group_subobject_close_posXpath = "//div[@class='absolute bottom-0 h-[40px] w-[100%] overflow-hidden text-[16px] truncate bg-[--color-background-secondary] flex  justify-center items-center pl-[12px] pr-[38px]']//button[text()='Cancel']"
fqdn_object_group_subobject_close_posXpath = "//div[@class='FqdnList list-box']//span[normalize-space(text())='Close']"
http_signature_object_group_close_posXpath = "//div[@class='HttpSignatureList list-box']//span[normalize-space(text())='Close']"
subscriber_id_object_group_close_posXpath = "//div[@class='SubscriberidList list-box']//span[normalize-space(text())='Close']"
listPage_object_group_exclude_add_button_posXpath = "//div[@class='ip-object-excluded_sub_object_uuids']//i[@class='iconfont icon-Create1 font-[700]']"
ip_ObjectGroupDetailPage_subObjects_addButton_normalAdd_posXpath = "//div[@class='ip-object-included_sub_object_uuids']//i[@class='iconfont icon-Create1 text-[18px] font-[700] text-[--color-primary] cursor-pointer']"
listPage_object_group_include_add_button_posXpath = "//div[@class='ip-object-included_sub_object_uuids']//i[@class='iconfont icon-Create1 font-[700]']"

# Object Mobile Identities===================Object Mobile Identities====================Object Mobile Identities=================Object Mobile Identities=======================Object Mobile Identities=================Object Mobile Identities
# 导入导出文件设置
main_ObjectPage_Input_Import_files_button_posXpath = "//i[@class='iconfont icon-export']"  # main导出文件按钮
mobileIdentitiesObjectPage_Button_Import_Mobile_Identity_files_posXpath = "//button[@class='MuiButtonBase-root MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary css-bc4t0x']"  # Create Import Mobile Identity Button
mobileIdentitiesObjectPage_Input_path_Import_Mobile_Identity_files_posXpath = main_ObjectPage_Input_path_Import_files_posXpath  # Create Import Mobile Identity path
main_ObjectPage_Import_Mobile_Identity_files_OK_Button_posXpath = "//div[@class='absolute bottom-0 h-[40px] w-[100%] overflow-hidden text-[16px] truncate bg-[--color-background-secondary] flex  justify-center items-center pl-[12px] pr-[38px]']//button[text()='OK']"  # 导入文件OK
mobileIdentitiesObjectPage_Import_Mobile_Identity_files_OK_Button_posXpath = main_ObjectPage_Import_Mobile_Identity_files_OK_Button_posXpath  # 导入文件OK
mobileIdentitiesObjectPage_Import_Mobile_Identity_files_Cancel_Button_posXpath = "//div[5]/div/div[1]/div/div/div[2]/div[2]/button[2]/span"  # 导入文件Cancel
mobileIdentitiesObjectPage_Import_Mobile_Identity_files_IMSI_Group_Cancel_Button_posXpath = '//div[2]/div/div[1]/div/div/div[2]/div[2]/button[2]/span'
main_item_error_format_posXpath = "//div[@class='subscriber-id-object-expression']/div[2]"  # 错误格式提示语
main_Import_files_error_format_posXpath = "//i[@class='iconfont icon-Dashboarddisablepolicy text-[var(--color-error)] pr-[4px]']//parent::div"  # 导入文件格式错误提示语
main_Item_length_error_posXpath = "//div[@class='subscriber-id-object-expression']/div[2]"  # item 长度校验错误
mobileIdentitiesObjectPage_Import_Mobile_Identity_files_error_format_posXpath = main_Import_files_error_format_posXpath  # mobile identities 导入文件格式错误提示语
main_Import_Mobile_Identity_files_error_type_posXpath = "//div[@class='MuiFormHelperText-root css-koslx8']"  # 错误类型提示语
main_Import_Mobile_Identity_files_item_error_posXpath = '//div/div/div[1]/div[2]/form/div[3]/div/div/div[2]/span'  # 错误item提示语
mobileIdentitiesObjectPage_Import_Mobile_Identity_files_error_type_posXpath = main_Import_Mobile_Identity_files_error_type_posXpath  # mobile identities 错误弹出提示语
main_ObjectPage_import_files_error_type_posXpath = "//div[@class='items']/div[2]"  # 错误弹出提示语
main_ObjectPage_import_files_error_format_posXpath = mobileIdentitiesObjectPage_Import_Mobile_Identity_files_error_format_posXpath  # 导入文件格式错误提示语
# 置灰按钮
mobileIdentitiesObjectPage_Export_Mobile_Identity_Button_posXpath = '//button[@id="objectExport-_importAndExport_ElRow_Objects_mobile_identity_Home_App_anonymousComponent"][@disabled="disabled"]/i'  # 导出按钮置灰
mobileIdentitiesObjectPage_Edit_Mobile_Identity_Button_posXpath = '//button[@id="appEdit-_OperateBtns_ElRow_Objects_mobile_identity_Home_App_anonymousComponent"][@disabled="disabled"]'  # 编辑按钮置灰
# 删除按钮置灰
main_Delete_Mobile_Identity_Button_posXpath = '//button[@class="MuiButtonBase-root MuiButton-root MuiButton-contained MuiButton-containedPrimary MuiButton-sizeSmall MuiButton-containedSizeSmall MuiButton-colorPrimary Mui-disabled MuiButton-root MuiButton-contained MuiButton-containedPrimary MuiButton-sizeSmall MuiButton-containedSizeSmall MuiButton-colorPrimary css-15h645i"]'  # 删除按钮置灰
mobileIdentitiesObjectPage_Delete_Mobile_Identity_Button_posXpath = main_Delete_Mobile_Identity_Button_posXpath  # 删除按钮置灰
mobileIdentitiesObjectPage_selete_Mobile_Identity_Button_posXpath = '//table/tbody/tr[1]/td[1]/div/div/div[1]/div/label[@class="el-checkbox"]/span[@class="el-checkbox__input"]'  # 不勾选Object置灰

mobileIdentitiesObjectPage_import_files_Mobile_Identity_Button_posXpath = '//button[@class="el-button el-button--primary el-button--small is-disabled"][@disabled="disabled"]'  # 导入文件按钮置灰
mobileIdentitiesObjectPage_Exclude_Objects_close_Mobile_Identity_Button_posXpath = '//div[@role="switch"][@class="el-switch"]'  # 关闭的Exclude_Objects_close
mobileIdentitiesObjectPage_Exclude_Objects_operation_Mobile_Identity_Button_posXpath = '//div/div/div[1]/div[2]/form/div[4]/div[2]/div/div/span'  # Exclude_Objects开关按钮
mobileIdentitiesObjectPage_Exclude_Objects_open_Mobile_Identity_Button_posXpath = '//div[@role="switch"][@class="el-switch is-checked"]'  # 打开的Exclude_Objects_open
#  置灰按钮
mobileIdentitiesObjectPage_Export_Mobile_Identity_files_OK_Button_posXpath = '//div/button[contains(@class,"Export")]/i'  # 导出文件按钮
mobileIdentitiesObjectPage_Export_Mobile_type_imsi_posXpath = '//label[@id="objectAdd_ip0"]/span'  # imsi展示
mobileIdentitiesObjectPage_Export_Mobile_type_phone_number_posXpath = '//label[@id="objectAdd_ip1"]/span'  # phone_number展示
mobileIdentitiesObjectPage_Export_Mobile_type_imei_posXpath = '//label[@id="objectAdd_ip2"]/span'  # imsi展示
# Object Mobile Identities===================Object Mobile Identities====================Object Mobile Identities=================Object Mobile Identities=======================Object Mobile Identities=================Object Mobile Identities
mobileIdentitiesObjectPage_Import_Mobile_Identity_Group_files_OK_Button_posXpath = "//button[@class='MuiButtonBase-root MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary css-k5thc0']"  # Group 导入文件OK
# Object Mobile Identities===================Object Mobile Identities====================Object Mobile Identities=================Object Mobile Identities=======================Object Mobile Identities=================Object Mobile Identities
# 查询框输入并选择
listPage_objectSearch_mobileIdentities_select_Id_posXpath = '//li[@id="1-_FilteredSearch_ElRow_Objects_mobile_identity_Home_App_anonymousComponent"]'
listPage_objectSearch_mobileIdentities_select_Name_posXpath = "//ul[@class='base-Popper-root MuiAutocomplete-listbox css-18r31z0']//span[text()='Name']"
listPage_objectSearch_mobileIdentities_select_Details_posXpath = "//ul[@class='base-Popper-root MuiAutocomplete-listbox css-18r31z0']//span[text()='Detail']"
listPage_objectSearch_mobileIdentities_select_subType_posXpath = "//ul[@class='base-Popper-root MuiAutocomplete-listbox css-18r31z0']//span[text()='Sub Type']"
listPage_objectSearch_mobileIdentities_select_Description_posXpath = "//ul[@class='base-Popper-root MuiAutocomplete-listbox css-18r31z0']//span[text()='Description']"
listPage_objectSearch_mobileIdentities_select_CreateBy_posXpath = '//*[@id="5-_FilteredSearch_ElRow_Objects_mobile_identity_Home_App_anonymousComponent"]'
mobileIdentities_listPage_object_searchId_posId = '1-_FilteredSearch_ElRow_Objects_mobile_identity_Home_App_anonymousComponent'
listPage_objectSearch_mobileIdentities_buttonSearch_posId = mainPage_ObjectSearch_buttonSearch_posId  # 查询按钮id
listPage_objectSearch_mobileIdentities_buttonClear_posId = mainPage_ObjectSearch_buttonClear_posId  # 清空查询按钮id
listPage_object_mobileIdentities_create_Mobile_Identity_Button_posId = "//ul[@class='base-Popper-root MuiMenu-root Mui-expanded MuiMenu-variantOutlined MuiMenu-colorNeutral MuiMenu-sizeMd css-1iuehdr']//li[1]"  # 创建Mobile Identity
listPage_object_mobileIdentities_create_Mobile_Identity_Group_Button_posId = "//ul[@class='base-Popper-root MuiMenu-root Mui-expanded MuiMenu-variantOutlined MuiMenu-colorNeutral MuiMenu-sizeMd css-1iuehdr']//li[2]"  # 创建Mobile Identity_Group

listPage_profileSearch_mobileIdentities_dropDown_item_posXpath = ""  # 下拉菜单定位
listPage_profileSearch_mobileIdentities_input_itemContent_posXpath = ""  # 输入item的值,replaceName替换实际查询值
listPage_profileSearch_mobileIdentities_dropDown_typeItem_posXpath = ""  # 查询中type的下拉item定位,replaceName替换实际查询值
listPage_profilTable_mobileIdentities_tableTbody_posXpath = ""  # 列表tabel body  xpath
listPage_profilTable_mobileIdentities_tableHeader_posXpath = ""  # 列表table 表头xpath

# listPage->Tips dialog  列表页 tips对话框
listPage_dialogTips_mobileIdentities_button_yes_posCss = ".delComponents-ok span"  # 删除提示的Tips的yes按钮
listPage_dialogTips_mobileIdentities_button_no_posCss = ".delComponents-close span"  # 删除提示的Tips的close按钮
listPage_dialogTips_mobileIdentities_Tips_len_Name_posXpath = "//div[contains(@class,'object-name')]/div[2]"
listPage_dialogTips_main_Tips_len_Name_posXpath = listPage_dialogTips_mobileIdentities_Tips_len_Name_posXpath
# Mobile_Identities list page 列表页提取元素--列表页
listPage_object_mobileIdentities_new_ID_extract_posXpath = '//table/tbody/tr[1]/td[1]/div/div/div[4]/span'  # 提取ID
listPage_object_mobileIdentities_new_Name_extract_posXpath = '//table/tbody/tr[1]/td[3]/div/div/div/span'  # 提取Name
listPage_object_mobileIdentities_new_Description_extract_posXpath = '//table/tbody/tr[1]/td[6]/div/div/p'  # 提取Description
listPage_object_mobileIdentities_new_Details_extract_posXpath = '//table/tbody/tr[1]/td[4]/div/div/div/div/div/div/span'  # 提取Detail
listPage_object_mobileIdentities_del_after_ele_posXpath = '//div[@class="MuiDataGrid-overlay css-14349d1"]'  # 删除后提示"No Data"
# Mobile_Identities list page 列表页操作
listPage_object_mobileIdentities_select_First_object_posXpath = listPage_select_first_object_posXpath  # 选择列表中第一个对象

listPage_object_mobileIdentities_select_Second_object_posXpath = main_listPage_object_reference_count_posXpath  # 选择列表中第二个对象

# Create mobile Identities Object 和 Edit mobile Identities Object   新增和编辑页
mobileIdentitiesObjectPage_input_Name_posXpath = "//div[@class='MuiInput-root MuiInput-variantOutlined MuiInput-colorNeutral MuiInput-sizeMd MuiInput-formControl css-uzf287']//input"  # name输入框Xpath
mobileIdentitiesObjectPage_radioButton_IMSI_posId = "IMSIimsi"  # IMSI单选按钮id
mobileIdentitiesObjectPage_input_searchFor_posId = mainPage_ObjectSearch_buttonSearch_Item_posId  # search for item搜索输入框id
mobileIdentitiesObjectPage_button_addItem_posXpath = mainPage_ObjectSearch_buttonAddItem_posXpath  # 添加item按钮id
mobileIdentitiesObjectPage_button_inputItem_posId = mainPage_ObjectSearch_input_Item_posId  # 输入item内容
mobileIdentitiesObjectPage_button_inputItem_posXpath = "//input[@class='MuiInput-input css-1u0jcuo']"

mobileIdentitiesObjectPage_content_inputItem1_posId = ""  # 第一行输入item的内容
mobileIdentitiesObjectPage_IMSI_button_Save_Item_posXpath = "//i[@class='operate-icon iconfont icon-save']"  # 创建保存item按钮

mobileIdentitiesObjectPage_IMSI_button_Edit_Save_Item_posXpath = "//i[@class='operate-icon iconfont icon-save']"  # 编辑保存item按钮
mobileIdentitiesObjectPage_IMSI_button_Edit_assert_first_Item_content_posXpath = "//div[@class='object-item-box']//div[@class='item-box']/div/div[1]/span/span"  ## <断言>第一个item的内容


mobileIdentitiesObjectPage_sub_Phone_Number_button_Edit_assert_first_Item_count_posXpath = "//div[@class='CommonSubObjects']/div[2]/div[2]"  # sub Phone_Numbeurl_ObjectDetailPage_itemsTotal_posXpathr<断言>新增item的个数

mobileIdentitiesObjectPage_radioButton_phone_number_posId = "Phone Numberphone_number"  # Phone Number单选按钮id
mobileIdentitiesObjectPage_radioButton_phone_number_posXpath = "//div[@class='mobile-identity-object-sub_type']//button[text()='Phone Number']"
mobileIdentitiesObjectPage_Phone_Number_button_Save_phone_number_Item_posXpath = "//i[@class='operate-icon iconfont icon-save']"  # 保存item按钮
mobileIdentitiesObjectPage_Phone_Number_button_inputItem_posXpath = "//input[@class='MuiInput-input css-1u0jcuo']"  # 输入Phone_item内容
mobileIdentitiesObjectPage_Phone_Number_button_input_more_Item_posXpath = "(//input[@class='MuiInput-input css-1u0jcuo'])['replace']"  # 输入Phone_item内容 多次输入

mobileIdentitiesObjectPage_Phone_Number_button_add_Item_input_posXpath = "//div[@class='mobile-identity-object-expression']//i[@class='iconfont icon-Create1 font-[700]']"


mobileIdentitiesObjectPage_radioButton_IMEI_posId = "IMEIimei"  # IMEI单选按钮id
mobileIdentitiesObjectPage_radioButton_IMSI_posXpath = "//div[@class='mobile-identity-object-sub_type']//button[text()='IMEI']"
mobileIdentitiesObjectPage_IMEI_button_inputItem_posXpath = "//input[@class='MuiInput-input css-1u0jcuo']"
mobileIdentitiesObjectPage_IMEI_button_Save_Item_posXpath = "//i[@class='operate-icon iconfont icon-save']"  # 保存item按钮
mobile_Identities_ObjectPage_button_editgroup_posXpath = "//i[@class='row-edit iconfont icon-Edit cursor fontsize18']"  # object group组 item编辑按钮
mobileIdentitiesObjectPage_textArea_Description_posXpath = "//div[@class='MuiTextarea-root MuiTextarea-variantOutlined MuiTextarea-colorNeutral MuiTextarea-sizeMd MuiTextarea-formControl css-v35t8h']/textarea[1]"  # description文本输入区Xpath
mobileIdentitiesObjectPage_button_SaveYes_posXpath = "//div[@class='form-action bg-[--color-background] flex justify-center py-[12px] absolute bottom-0 w-full']//button[text()='OK']"  # OK按钮
mobileIdentitiesObjectPage_button_warningSaveYes_posXpath = "//div[@class='el-message-box__wrapper']/div/div[3]/button[2]/span"  # 提示保存ok按钮警告框
mobileIdentitiesObjectPage_button_warningSaveCancel_posCss = '//div[@class="el-message-box__wrapper"]/div/div[3]/button[1]/span'  # 提示保存取消按钮警告框
mobileIdentitiesObjectPage_button_cancel_posXpath = "//button[@id='Cancle-_mobileIdDetail_Home_App_anonymousComponent']/span"  # Cancel按钮
# Audit ele
mobileIdentitiesObjectPage_button_audit_button_posXpath = '//div[@class="paper-grid-right"]//span[normalize-space(text())="Audit Logs"][1]'  # create audit button
mobileIdentitiesObjectPage_button_audit_first_object_posXpath = '//table/tbody/tr'  ## create audit first ele
mobileIdentitiesObjectPage_button_audit_second_posXpath = '//table/tbody/tr[2]/td[3]/div'  ## create audit second ele
## Audit ele
# Create mobile Identities Group Object 和 Edit Create mobile Identities Group   新增和编辑页
mobile_Identities_Group_sub_Object_addButton_posXpath = "//div[@class='mobile-identity-object-included_sub_object_uuids']//i[@class='iconfont icon-Create1 font-[700]']"  # mobile_Identities_Group添加sub Object按钮

mobile_Identities_Group_sub_Object_input_frame_posXpath = main_Group_sub_Object_input_frame_posXpath  # sub Object 搜索输入框

mobile_Identities_Group_sub_Object_input_frame_select_one_posXpath = main_Group_sub_Object_input_frame_select_one_posXpath  # 搜索框第一个元素
mobile_Identities_Group_confirm_leave_posXpath = '//div/div[3]/button[2]/span[contains(text(),"OK")]'  # 确认离开
mobile_Identities_Group_sub_Object_Edit_Button_posXpath = "//div[@class='object-item-box']//div[@class='OperateBtn']/i"  # mobile_Identities_Group编辑sub Object按钮
mobile_Identities_Group_sub_Object_add_new_Button_posXpath = "//i[@class='iconfont icon-Create1']"  # 新建sub_mobile_Identities按钮
mobile_Identities_Group_sub_Object_add_new_Select_one_Button_posXpath = "//ul[@class='base-Popper-root MuiMenu-root Mui-expanded MuiMenu-variantOutlined MuiMenu-colorNeutral MuiMenu-sizeMd css-131n2dh']//li[1]"  # 新建选择mobile_Identities按钮
mobile_Identities_Group_sub_Object_add_new_Select_Group_Button_posXpath = "//ul[@class='base-Popper-root MuiMenu-root Mui-expanded MuiMenu-variantOutlined MuiMenu-colorNeutral MuiMenu-sizeMd css-131n2dh']//li[2]"  # 新建选择mobile_Identities_Group按钮
mobile_Identities_Group_sub_Object_add_new_one_inputName_posXpath = "//div[@class='MuiBox-root css-1krxo6z']//input[@class='MuiInput-input css-fqt4w4']"  # new mobile_Identities input Name
mobile_Identities_Group_sub_Object_add_new_add_item_Button_posXpath = "//div[@class='MuiBox-root css-1krxo6z']//i[@class='iconfont icon-Create1 font-[700]']"  # new mobile_Identities add items
mobile_Identities_Group_sub_Object_add_new_addIMSI_item_inputName_posXpath = "//div[@class='MuiBox-root css-1krxo6z']//input[@class='MuiInput-input css-1u0jcuo']"  # new IMSI inputItemName
mobile_Identities_Group_sub_Object_add_new_addphoneNumber_item_inputName_posXpath = "//div[@class='MuiBox-root css-1krxo6z']//input[@class='MuiInput-input css-1u0jcuo']"  # new PhoneNumber inputItemName
mobile_Identities_Group_sub_Object_add_new_addIMEI_item_inputName_posXpath = "//div[@class='MuiBox-root css-1krxo6z']//input[@class='MuiInput-input css-1u0jcuo']"  # new IMEI inputItemName
mobile_Identities_Group_sub_Object_add_new_add_itemIMSI_Save_Button_posXpath = "//i[@class='operate-icon iconfont icon-save']"  # 保存item按钮
mobile_Identities_Group_sub_Object_add_new_add_item_phoneNumber_Save_Button_posXpath = "//i[@class='operate-icon iconfont icon-save']"
mobile_Identities_Group_sub_Object_add_new_add_item_IMEI_Save_Button_posXpath = "//i[@class='operate-icon iconfont icon-save']"
mobile_Identities_Group_sub_Object_exclude_open_posXpath = "//div[@class='mobile-identity-object-excluded_sub_object_uuids']//i[@class='iconfont icon-Create1 font-[700]']"

mobile_Identities_Group_sub_Object_add_new_one_OK1_Button_posXpath = "//div[@class='MuiBox-root css-1krxo6z']//button[text()='OK']"  # new mobile_Identities CreateOK1
mobile_Identities_Group_sub_Object_add_new_one_OK1_Warning_Yes_Button_posXpath = "//div[@class='el-message-box__btns']//span[normalize-space(text())='Yes']"  # 再次确认创建new mobile_Identities
mobile_Identities_Group_sub_Object_add_new_one_OK1_Warning_Cancel_Button_posXpath = "//div[@class='el-message-box__btns']//span[normalize-space(text())='Yes']"  # 再次确认取消new mobile_Identities
mobile_Identities_Group_sub_Object_add_new_one_Cancel2_Button_posXpath = '//div/div/div[2]/div/div/div[1]/div/div/div[1]/div[3]/button[2]/span'  # new mobile_Identities CreateCancel2
mobile_Identities_Group_sub_Object_add_first_posXpath = "(//ul[@class='row-container tableList'])[2]/li[1]/div[2]"  # 添加subObject索引框第一个元素
# link页
mobile_Identities_listpage_linkButton_posId = "btnCopy-_OperateBtns_ElRow_Objects_mobile_identity_Home_App_anonymousComponent"  # link按钮ID
mobile_Identities_listpage_linkSave_posXpath = '//*[@id="clusterSave-_ClusterTable_ElDialog_copyComponents_Objects_mobile_identity_Home_App_anonymousComponent"]'  # Cluster和Vsys保存按钮ID
mobile_Identities_listpage_linkAdd_posXpath = '//*[@id="temporary_form-_ClusterTable_ElDialog_copyComponents_Objects_mobile_identity_Home_App_anonymousComponent"]'  # 添加新的Cluster和Vsys按钮ID
mobile_Identities_listpage_linkOk_posXpath = '//*[@id="copyOk-_copyComponents_Objects_mobile_identity_Home_App_anonymousComponent"]'
# Mobile_Identities
# Object Mobile Identities===================Object Mobile Identities====================Object Mobile Identities=================Object Mobile Identities=======================Object Mobile Identities=================Object Mobile Identities


# Object URLs elements area top===================Object URLs elements area top===================Object URLs elements area top===================Object URLs elements area top===================Object URLs elements area top===================Object URLs elements area top
# Object URLs elements area top===================Object URLs elements area top===================Object URLs elements area top===================Object URLs elements area top===================Object URLs elements area top===================Object URLs elements area top
# 全局页面
mainPage_rightTopTips_closeButton_posXpath = '(//i[@class="iconfont icon-Delete_X"])[last()]'  # 全局右上提示窗关闭按钮(最新的一个)
##URLs列表页
listPage_object_urls_createButton_posXpath = listpage_create_button_posXpath  # Create按钮id
listPage_object_urls_createButton_url_posId = "//ul[@class='base-Popper-root MuiMenu-root Mui-expanded MuiMenu-variantOutlined MuiMenu-colorNeutral MuiMenu-sizeMd css-1iuehdr']//li[1]"  # Create下的URL选项id
listPage_object_urls_createButton_urlGroup_posId = "//ul[@class='base-Popper-root MuiMenu-root Mui-expanded MuiMenu-variantOutlined MuiMenu-colorNeutral MuiMenu-sizeMd css-1iuehdr']//li[2]"  # Create下的URL Group选项id
listPage_object_urls_editButton_posXpath = listpage_edit_button_posXpath  # Edit 按钮id
listPage_object_urls_delButton_posXpath = listpage_delete_button_posXpath  # Delete 按钮id
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_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
listPage_object_urls_tableDetails_selected_detailsRow_posXpaths = '//span[@class="el-checkbox__input is-checked"]/ancestor::tr//div[@class="itemDetails cursor"]'  # list页被选中的对象details 值Xpath
listPage_object_urls_tableDetails_detailsRow_firstDetailValue_posXpaths = '(//div[@class="itemDetails cursor"][1]/span)[1]'  # 列表页某行第一个details值 Xpath
listPage_object_urls_tableDetails_selected_checkBox_posXpaths = '//div[@class="ly-table1"]//span[@class="el-checkbox__input is-checked"]'  # list页被选中的对象 CheckBox Xpath
listPage_object_urls_tableDetails_firstRowValues_span_posXpaths = '//li[@class="row el-dropdown-menu__item"]//span[@class="ellipsis list-popover"]'  # list页点击Details后展示的数据Xpaths_span
listPage_object_urls_tableDetails_firstRowValues_div_posXpaths = '//li[@class="row el-dropdown-menu__item"]//div[@class="row-content-cell"]'  # list页点击Details后展示的数据Xpaths_div
listPage_object_urls_importButton_posXpath = '//div[@class="ly-tablecontrol-1 el-row"]//div[@class="functional"]//i[@class="iconfont icon-Import"]'  # 导入文件按钮 Xpath
listPage_object_urls_exportButton_posXpath = "//i[@class='iconfont icon-export']"  # 导出文件按钮 Xpath
listPage_object_urls_exportPopYes_posXpath = "//div[@class='MuiPaper-root MuiPaper-elevation MuiPaper-rounded MuiPaper-elevation24 MuiDialog-paper MuiDialog-paperScrollPaper MuiDialog-paperWidthSm css-xguxzj']//button[contains(text(),'Yes')]"  # 导出数据选择确认弹窗 yes Xpath
listPage_object_urls_exportPopNo_posXpath = "//div[@class='MuiPaper-root MuiPaper-elevation MuiPaper-rounded MuiPaper-elevation24 MuiDialog-paper MuiDialog-paperScrollPaper MuiDialog-paperWidthSm css-xguxzj']//button[contains(text(),'No')]"  # 导出数据选择确认弹窗 no Xpath
listPage_object_urls_exportPopSelectAll_posXpath = '(//div[@role="dialog"]//input[@type="checkbox"])[1]'  # 导出数据选择确认弹窗全选CheckBox Xpath
listPage_object_urls_exportPopCheckbox_posXpaths = '//div[@role="dialog"]//div[@role="rowgroup"]//input[@type="checkbox"]'  # 导出数据选择确认弹窗CheckBox(多个)
listPage_object_urls_exportPopCheckbox_posXpaths_template = '(//div[@class="el-dialog__body"]//div[@class="el-table__body-wrapper is-scrolling-none"]//span[@class="el-checkbox__inner"])[{}]'  # 导出数据选择确认弹窗CheckBox(多个)
listPage_object_urls_clearCounterPopYes_posXpath = '//*[contains(text(),"Confirm to Clear Counter")]/../..//span[contains(text(),"Yes")]'  # Clear Counter 选择确认弹窗中的Yes确认按钮
# listPage_object_urls_tableCheckbox_posXpaths = '//table[@class="el-table__body"]//span[@class="el-checkbox__inner"]'  # 列表页CheckBox(50)
listPage_object_urls_tableCheckbox_posXpaths = '//table[@class="el-table__body"]//span[@class="el-checkbox__input"]'  # 列表页CheckBox(50)
# listPage_object_urls_tableCheckbox_singleObject_posXpaths = '//span[contains(@class,"name-fontFamily")]/preceding-sibling::i[not(contains(@class,"icon-URLgroup"))]/ancestor::tr//span[@class="el-checkbox__inner"]'  # 列表页CheckBox(50)
# listPage_object_urls_tableCheckbox_singleObject_posXpaths = '//span[contains(@class,"name-fontFamily")]/preceding-sibling::i[not(contains(@class,"group"))]/ancestor::tr//span[@class="el-checkbox__inner"]'  # 列表页CheckBox(50),不包含Object Group和锁定对象
# 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和锁定对象)
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和锁定对象)

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和锁定对象)
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和锁定对象)
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和锁定对象)

# 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和锁定对象)
listPage_object_urls_tableCheckbox_firstNotLocalVsys_objectOrGroup_posXpath = '(//i[@class="iconfont icon-lock text-[18px] text-[--color-text-decoration]"]/ancestor::div[@class="css-16m40q9 MuiDataGrid-cell MuiDataGrid-cell--textLeft"]/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)
# listPage_object_tableCheckbox_localVsysAndReferenceEqualO_objectOrGroup_posXpaths = '//*[contains(@class,"table-status-item-id")]/preceding-sibling::div[2][not(*)]/ancestor::tr//div[(contains(@id,"Count-_Objects") or contains(@id,"objectReferenceData") or contains(@id,"ReferenceData-")) and number(text())=0]/ancestor::tr//span[@class="el-checkbox__inner"]'  # 列表页中本Vsys的Object 或Group(不包含其他Vsys)且Reference Count==0
# listPage_object_tableCheckbox_localVsysAndReferenceEqualO_objectOrGroup_posXpaths = '((//*[contains(@class, "table-status-item-id")][preceding-sibling::div[position() = 1 and not(*)] and preceding-sibling::div[position() = 2 and not(*)]] | //*[@class="checkBox" and not(*)])/ancestor::tr//div[contains(@class,"obj-charts-btn") and text()=0])/ancestor::tr//span[@class="el-checkbox__inner"]'  # 列表页中本Vsys的Object 或Group(不包含其他Vsys)且Reference Count==0
listPage_object_tableCheckbox_localVsysAndReferenceEqualO_objectOrGroup_posXpaths = "//div[@class='MuiDataGrid-virtualScrollerRenderZone css-1inm7gi']/div[1]//span[@class='MuiCheckbox-action css-kit57i']"
listPage_object_tableCheckbox_localVsysAndReferenceEqualO_objectOrGroup_posXpaths_template = '(((//*[contains(@class, "table-status-item-id")][preceding-sibling::div[position() = 1 and not(*)] and preceding-sibling::div[position() = 2 and not(*)]] | //*[@class="checkBox" and not(*)])/ancestor::tr//div[contains(@class,"obj-charts-btn") and text()=0])/ancestor::tr//span[@class="el-checkbox__inner"])[{}]'  # 列表页中本Vsys的Object 或Group(不包含其他Vsys)且Reference Count==0

listPage_object_urls_tableCheckbox_localVsys_firstObjectOrGroup_posXpath = '(//*[contains(@class,"table-status-item-id")]/preceding-sibling::div[2][not(*)]/ancestor::tr//span[@class="el-checkbox__inner"])[1]'  # 列表页中第一个本Vsys的Object 或Group(不包含其他Vsys)
url_listPage_usage_policies_elems_posXpaths = "//div[contains(@class,'LocalationDraswer ')]//div[contains(@class,'el-dropdown-menu')]"  # 点击Reference count后展开的侧滑页面,其中的引用条数

url_listPage_noDataText_posXpath = '//div[@class="ly-table1"]//span[@class="el-table__empty-text"]'  # 列表页无数据时的no data文本 Xpath
# listPage->Tips dialog  列表页 tips对话框
listPage_object_urls_button_yes_posCss = 'body>.el-dialog__wrapper .delComponents-ok span'  # 删除提示的Tips的yes按钮Xpath
url_listPage_object_delete_yesButton_posCss = "//div[@class='MuiPaper-root MuiPaper-elevation MuiPaper-rounded MuiPaper-elevation24 MuiDialog-paper MuiDialog-paperScrollPaper MuiDialog-paperWidthSm css-xguxzj']//button[text()='Yes']"  # 删除提示的Tips的yes按钮Xpath
url_listPage_object_urls_delete_noButton_posCss = "//div[@class='MuiPaper-root MuiPaper-elevation MuiPaper-rounded MuiPaper-elevation24 MuiDialog-paper MuiDialog-paperScrollPaper MuiDialog-paperWidthSm css-xguxzj']//button[text()='No']"  # 删除提示的Tips的No按钮Xpath
listPage_object_urls_button_no_posCss = 'body>.el-dialog__wrapper .delComponents-close span'  # 删除提示的Tips的No按钮Xpath

# 列表页搜索选项
listPage_object_urls_fuzzySearch_posXpath = '(//div[@class="el-scrollbar"]//li[contains(@class,"el-select-dropdown__item flex")])[1]'  # 模糊搜索
listPage_object_urls_searchId_posId = '1-_FilteredSearch_ElRow_Objects_url_Home_App_anonymousComponent'  # ID 搜索
listPage_object_urls_searchName_posId = "//ul[@class='base-Popper-root MuiAutocomplete-listbox css-18r31z0']//span[text()='Name']"  # name 搜索
listPage_object_urls_searchDetails_posId = "//ul[@class='base-Popper-root MuiAutocomplete-listbox css-18r31z0']//span[text()='Detail']"  # details搜索
listPage_object_urls_searchDescription_posId = "//ul[@class='base-Popper-root MuiAutocomplete-listbox css-18r31z0']//span[text()='Description']"  # Description 搜索
listPage_object_urls_searchCreatedBy_posId = '5-_FilteredSearch_ElRow_Objects_url_Home_App_anonymousComponent'  # created by 搜索

# URLs对象详情页
url_ObjectDetailPage_nameInput_posXpath = '//input[@class="MuiInput-input css-fqt4w4"]'  # Name输入框Xpath
url_ObjectDetailPage_nameLenthNumber_posXpath = "//div[@class='MuiInput-endDecorator css-tob0ta']/span"  # Name输入框中字符长度数值Xpath
url_ObjectDetailPage_addButton_posXpath = "//i[@class='iconfont icon-Create1 font-[700]']"  # “+”按钮id
url_ObjectDetailPage_itemsText_posXpath = "//div[@data-testid='virtuoso-item-list']//div[@class='leading-[24px]']"  # Items 列表下所有Item的文本元素
url_ObjectDetailPage_item_subAddButton_poXpath = "//div[@class='url-object-expression']//i[@class='iconfont icon-Create1 font-[700]']"  # 单个Item中新增多条数据的"+"按钮
# url_ObjectDetailPage_itemValue_posXpath = '//*[@id="router-view-container"]/div/div[1]/div[1]/div/div/div/div[1]/div[2]/form/div[3]/div/div/div[1]/div[1]/div[1]/div[2]/div[1]/div[1]/div/div/div[2]/div/div/div[1]/div[1]/div/input'  # Item value输入框Xpath
url_ObjectDetailPage_itemValue_posXpath = "//input[@class='MuiInput-input css-1u0jcuo']"  # Item value输入框Xpath
# url_ObjectDetailPage_itemSaveButton_posXpath = '//div[@class="row-header"]/div[2]'  # 保存按钮Xpath
url_ObjectDetailPage_itemSaveButton_posXpath = "//i[@class='operate-icon iconfont icon-save']"  # item 下value保存按钮Xpath
url_ObjectDetailPage_subObjectAddButton_posXpath = "//div[@class='url-object-included_sub_object_uuids']"  # Subordinate Objects + 按钮Xpath
url_ObjectDetailPage_subObjectAddButtonWhenHadData_posXpath = "//div[@class='url-object-included_sub_object_uuids']//i[@class='iconfont icon-Create1 text-[18px] text-weight-700] text-[--color-primary] cursor-pointer']"  # 有数据时Subordinate Objects + 按钮Xpath
url_ObjectDetailPage_firstUrlObject = "//ul[@class='MuiList-root MuiList-vertical MuiList-variantPlain MuiList-colorNeutral MuiList-sizeMd css-1cklc3']//li[1]//span"  # URL Object中第一个url Xpath
url_ObjectDetailPage_secondUrlObject = "//ul[@class='MuiList-root MuiList-vertical MuiList-variantPlain MuiList-colorNeutral MuiList-sizeMd css-1cklc3']//li[2]//span"  # URL Object中第二个url Xpath
url_ObjectDetailPage_description_posXpath = "//div[@class='url-object-description']//textarea[1]"  # Description textarea Xpath
url_ObjectDetailPage_object_ip_search_posId = 'object_ip_search'  # url item 搜索框id
url_ObjectDetailPage_object_ip_search_posXpath = "//input[@class='MuiInput-input css-za5rna']"
url_ObjectDetailPage_urlDelCross_posXpath = "//i[@class='iconfont icon-Delete_X text-[18px] text-[--color-text]']"  # url item "X"按钮Xpath
url_ObjectDetailPage_auditLogs_posXpath = '//div[@class="audit_log"]/span'  # Audit Logs Xpath
url_ObjectDetailPage_auditLogsDrawer_firstRowLog_checkBox_posXpath = '(//div[@class="LocalationDraswer lstsub right-show-edit right-show-edit-other"]//table[@class="el-table__body"]//span[@class="el-checkbox__input"])[1]'  # Audit Logs 侧滑页第一条日志CheckBox Xpath
url_ObjectDetailPage_auditLogsDrawer_compareButton_posXpath = '//div[@class="LocalationDraswer lstsub right-show-edit right-show-edit-other"]//button[contains(@id,"test-compare-_")]'  # Audit Logs 侧滑页Compare 按钮Xpath
url_ObjectDetailPage_auditLogsDrawer_compareDrawer_operationText_posXpath = '//div[contains(text(),"Operation")]/following-sibling::div'  # Audit Logs 侧滑页点击Compare后的 operation text Xpath
url_ObjectDetailPage_itemsTotal_posXpath = "//div[@class='items']//div[@class='flex flex-row justify-between mt-[4px]']/div[2]/span[2]" # 详情页Items Total Xpath
url_ObjectDetailPage_importFromFile_posXpath = '//button[contains(text(),"import from file")]'  # Import From File 按钮Xpath
url_ObjectDetailPage_importFromFile_button_posXpath = "//div[@class='flex flex-row justify-between mt-[4px]']//button[text()='import from file']"  # Import From File 按钮Xpath
# url_ObjectDetailPage_pleaseUpload_posXpath = '//span[contains(text(),"Please Upload")]/../../input'  # Please Upload input标签Xpath
url_ObjectDetailPage_pleaseUpload_posXpath = "//div[@class='flex flex-col justify-start flex-1 MuiBox-root css-0']//input[@type='file']"  # Please Upload input标签Xpath
url_ObjectDetailPage_importUrlOk_posXpath = "//div[@class='relative w-[100%] h-[100%] pt-[46px] pb-[56px] flex overflow-hidden']//button[text()='OK']"  # Import URL 下的OK按钮Xpath

url_ObjectDetailPage_importedFile_posXpath = '//div[@class="flex-1 truncate"]'  # 导入文件元素位置(Import From File 按钮旁)
url_ObjectDetailPage_importedFile_delete_posXpath = '//i[@class="iconfont icon-Delete_X text-[14px] hidden"]'  # 文件删除按钮
url_ObjectDetailPage_importedFile_download_posXpath = '//i[@class="iconfont icon-DownNormal text-[14px] hidden"]'  # 文件下载按钮

# Create URL Group对象详情页
urlGroup_ObjectDetailPage_addButton_posId = 'temporary_form'  # Subordinate Objects下 “+”按钮id
urlGroup_ObjectDetailPage_addButton_posXpath = "//div[@class='url-object-included_sub_object_uuids']//i[@class='iconfont icon-Create1 text-[18px] text-weight-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
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='MuiBox-root css-1krxo6z']//div[@class='url-object-name']//input"  # 子Name输入框Xpath
urlGroup_ObjectDetailPage_subSubAddButton_posXpath = "//div[@class='MuiBox-root css-1krxo6z']//i[@class='iconfont icon-Create1 font-[700]']"  # 子“+”按钮Xpath
urlGroup_ObjectDetailPage_subItemSearch_posXpath = "//input[@class='MuiInput-input css-za5rna']"  # 侧滑Item栏搜索框Xpath
# urlGroup_ObjectDetailPage_subItemSearch_posXpath = '//div[@class="EditDraw"]//input[@id="object_ip_search"][1]' # 侧滑Item栏搜索框Xpath
urlGroup_ObjectDetailPage_subTotalField_posXpath = '//div[@class="ToggleDraw"]//p[contains(text(),"Total")]'  # 侧滑Total:xx 元素Xpath
# 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[@class='MuiBox-root css-1krxo6z']//div[@class='MuiInput-root MuiInput-variantOutlined MuiInput-colorNeutral MuiInput-sizeMd MuiInput-formControl css-aioqkf']/input"  # 子Item value输入框Xpath
urlGroup_ObjectDetailPage_subItemSaveButton_posXpath = "//div[@class='MuiBox-root css-1krxo6z']//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_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='MuiBox-root css-1krxo6z']//div[@class='url-object-description']//textarea[1]"  # 子Description textarea Xpath
urlGroup_ObjectDetailPage_subOkButton_posId = 'OK-_URLDetail_VDraswer_EditDraw_URLDetail_Home_App_anonymousComponent'  # 子“OK”按钮id
urlGroup_ObjectDetailPage_subOkButton_posXpath = "//div[@class='MuiBox-root css-1krxo6z']//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']"
urlGroup_ObjectDetailPage_subOkButton_yes_posXpath = "//div[@class='el-message-box__wrapper']/div/div[3]/button[2]/span"  # 子确认弹窗的“Yes”按钮
url_ObjectDetailPage_subImportUrlOk_posXpath = "//button[@class='MuiButtonBase-root MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary css-k5thc0']"  # 子Import URL 下的OK按钮Xpath
urlGroup_ObjectDetailPage_subObjectEdit_posXpath = '//div[@class="infinite-list-wrapper"]//div[@class="OperateBtn"]'  # 编辑object group 中编辑object的编辑按钮Xpath
urlGroup_ObjectDetailPage_excludeObjectsSwitch_posXpath = "//div[@class='url-object-']//span[@class='MuiButtonBase-root MuiSwitch-switchBase MuiSwitch-colorPrimary PrivateSwitchBase-root MuiSwitch-switchBase MuiSwitch-colorPrimary css-y2jqxi']"  # Exclude Objects Switch Xpath
urlGroup_ObjectDetailPage_excludeObjectsSwitch_enableStatus_posXpath = "//div[@class='url-object-']//span[@class='MuiButtonBase-root MuiSwitch-switchBase MuiSwitch-colorPrimary Mui-checked PrivateSwitchBase-root MuiSwitch-switchBase MuiSwitch-colorPrimary Mui-checked Mui-checked css-y2jqxi']"  # Exclude Objects Switch Xpath开启状态
urlGroup_ObjectDetailPage_excludeObjectsSwitch_newAdd_posXpath = "//div[@class='url-object-excluded_sub_object_uuids']//i[@class='iconfont icon-Create1 font-[700]']"  # Exclude Objects无数据时新增按钮Xpath
urlGroup_ObjectDetailPage_excludeObjectsSwitch_normalAdd_posXpath = "//div[@class='url-object-excluded_sub_object_uuids']//i[@class='iconfont icon-Create1 text-[18px] text-weight-700] text-[--color-primary] cursor-pointer']"  # Exclude Objects有数据时新增按钮Xpath
urlGroup_ObjectDetailPage_excludeObjects_itemsArea_posXpath = "//div[@class='url-object-excluded_sub_object_uuids']"  # Exclude Objects下的item区域div Xpath
url_ObjectGroupDetailPage_subObjects_toggleDraw_closeButton_posXpath = '//i[@class="iconfont icon-Clear_aNormal close-icon"]'  # url侧滑窗口的Close按钮
url_ObjectDetailPage_clearCounter_posXpath = '//button[contains(@id,"objectResetBtn-_anonymousComponent_ElForm_anonymousComponent_VPanel_VEditPanel_")]'  # Clear Counter按钮
urlGroup_ObjectDetailPage_editgroup_posXpath = "//i[@class='row-edit iconfont icon-Edit cursor fontsize18']"
url_ObjectDetailPage_okButton_posId = 'OK-_URLDetail_Home_App_anonymousComponent'  # “OK”按钮id
url_ObjectDetailPage_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']"
url_ObjectDetailPage_cancelButton_posId = 'Cancle-_URLDetail_Home_App_anonymousComponent'  # “Cancel”按钮id
url_ObjectDetailPage_cancelButton_posXpath = "//button[@class='MuiButtonBase-root MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary form-action-cancel css-5vcc8t']"
url_ObjectDetailPage_okButton_yes_posXpath = '//div[@class="el-message-box__btns"]//button[contains(@class,"operation-confirm")]'  # 确认弹窗的“Yes”按钮
url_ObjectDetailPage_okButton_cancel_posXpath = '//div[@class="el-message-box__btns"]//button[contains(@class,"operation-cancel")]'  # 确认弹窗的“Cancel”按钮
urlGroup_ObjectDetailPage_excludeTotal_posXpath = '//div[@class="panel-content"]//div[contains(@class,"total")]'  # Group 详情页 exclude obj Total Xpath

# link页
url_listpage_linkButton_posId = "btnCopy-_OperateBtns_ElRow_Objects_url_Home_App_anonymousComponent"  # link按钮ID
url_listpage_linkSave_posXpath = '//*[@id="clusterSave-_ClusterTable_ElDialog_copyComponents_Objects_url_Home_App_anonymousComponent"]'  # Cluster和Vsys保存按钮ID
url_listpage_linkAdd_posXpath = '//*[@id="temporary_form-_ClusterTable_ElDialog_copyComponents_Objects_url_Home_App_anonymousComponent"]'  # 添加新的Cluster和Vsys按钮ID
url_listpage_linkOk_posXpath = '//*[@id="copyOk-_copyComponents_Objects_url_Home_App_anonymousComponent"]'
# Object URLs elements area bottom===================Object URLs elements area bottom===================Object URLs elements area bottom===================Object URLs elements area bottom===================Object URLs elements area bottom
# Object URLs elements area bottom===================Object URLs elements area bottom===================Object URLs elements area bottom===================Object URLs elements area bottom===================Object URLs elements area bottom
# Object IP address===================Object IP address====================Object IP address=================Object IP address=======================Object IP address=================Object IP address
# Mobile_Identities list page 列表页
listPage_object_ip_address_createButton_posId = "objectCreate-_OperateBtns_ElRow_Objects_ip_Home_App_anonymousComponent"  # create按钮id
listPage_object_ip_address_createButton_posXpath = '//span[@class="action-create inline-flex mr-[8px] "]/button'  # create按钮!!!!!
listPage_object_ip_address_editButton_posId = "appEdit-_OperateBtns_ElRow_Objects_ip_Home_App_anonymousComponent"  # edit按钮id
listPage_object_ip_address_editButton_posXpath = '//span[@class="action-edit inline-flex mr-[8px] "]/button'  # edit按钮!!!!!
listPage_object_ip_address_delButton_disable_posXpath = '//button[@class="MuiButtonBase-root MuiButton-root MuiButton-contained MuiButton-containedPrimary MuiButton-sizeSmall MuiButton-containedSizeSmall MuiButton-colorPrimary Mui-disabled MuiButton-root MuiButton-contained MuiButton-containedPrimary MuiButton-sizeSmall MuiButton-containedSizeSmall MuiButton-colorPrimary css-15h645i"]'  # del按钮Xpath置灰!!!!!
listPage_object_ip_address_delButton_posId = "appDel-_OperateBtns_ElRow_Objects_ip_Home_App_anonymousComponent"  # del按钮id
listPage_object_ip_address_delButton_posXpath = '//span[@class="action-delete inline-flex mr-[8px] "]/button'   # del按钮!!!!!
listPage_object_ip_address_del_yes_Button_posXpath = '//button[@class="MuiButtonBase-root MuiButton-root MuiLoadingButton-root MuiButton-contained MuiButton-containedPrimary MuiButton-sizeSmall MuiButton-containedSizeSmall MuiButton-colorPrimary MuiButton-root MuiLoadingButton-root MuiButton-contained MuiButton-containedPrimary MuiButton-sizeSmall MuiButton-containedSizeSmall MuiButton-colorPrimary css-1aub58j"]'  # del_yes按钮!!!!!
listPage_objectSearch_ip_address_selectLabel_posXpath = listpage_search_box_posXpath  # 查询框id
ip_address_listPage_first_row_checkBox_posXpath = '//div[@data-id="039114ae-34b2-30dd-ac87-710d69427f7a"]//input'  # 第一行checkbox
listPage_object_ip_address_viewButton_posXpath = "//button[@id='appEdit-_OperateBtns_ElRow_Objects_ip_Home_App_anonymousComponent']//p[normalize-space(text()) = 'View']"

# 查询框输入并选择
listPage_objectSearch_ip_address_select_Id_posXpath = "//ul[@class='base-Popper-root MuiAutocomplete-listbox css-18r31z0']//span[text()='UUID']" # 查询ID
listPage_objectSearch_ip_address_select_Name_posXpath = "//ul[@class='base-Popper-root MuiAutocomplete-listbox css-18r31z0']//span[text()='Name']"  # 查询Name
listPage_objectSearch_ip_address_select_Details_posXpath = "//ul[@class='base-Popper-root MuiAutocomplete-listbox css-18r31z0']//span[text()='Detail']"  # 查询Details
listPage_objectSearch_ip_address_select_subType_posXpath = "//ul[@class='base-Popper-root MuiAutocomplete-listbox css-18r31z0']//span[text()='Sub Type']"  # 查询SubType
listPage_objectSearch_ip_address_select_Description_posXpath = "//ul[@class='base-Popper-root MuiAutocomplete-listbox css-18r31z0']//span[text()='Description']"  # 查询Description
listPage_objectSearch_ip_address_select_CreateBy_posXpath = "//ul[@class='base-Popper-root MuiAutocomplete-listbox css-18r31z0']//span[text()='Create By']"  # 查询CreateBy
listPage_objectSearch_ip_address_select_IP_posXpath = "//ul[@class='base-Popper-root MuiAutocomplete-listbox css-18r31z0']//span[text()='IP']"
listPage_objectSearch_ip_address_select_Search_posXpath = "//ul[@class='base-Popper-root MuiAutocomplete-listbox css-18r31z0']//li[1]"
listPage_objectSearch_geo_select_IP_posXpath = "//li[@id='100-_FilteredSearch_ElRow_Geography_List_Home_App_anonymousComponent']"
listPage_objectSearch_geo_select_GeoNameID_posXpath = "//li[@id='56-_FilteredSearch_ElRow_Geography_List_Home_App_anonymousComponent']"
listPage_objectSearch_geo_select_CountryAbbreviation_posXpath = "//li[@id='156-_FilteredSearch_ElRow_Geography_List_Home_App_anonymousComponent']"
listPage_objectSearch_geo_select_CountryandRegion_posXpath = "//li[@id='58-_FilteredSearch_ElRow_Geography_List_Home_App_anonymousComponent']"
listPage_objectSearch_geo_select_SuperAdministrativeArea_posXpath = "//li[@id='150-_FilteredSearch_ElRow_Geography_List_Home_App_anonymousComponent']"
listPage_objectSearch_geo_select_AdministrativeArea_posXpath = "//li[@id='59-_FilteredSearch_ElRow_Geography_List_Home_App_anonymousComponent']"
listPage_objectSearch_geo_select_SubAdministrativeArea_posXpath = "//li[@id='151-_FilteredSearch_ElRow_Geography_List_Home_App_anonymousComponent']"

listPage_objectSearch_ip_address_buttonSearch_posXpath = listpage_search_button_posXpath  # 查询按钮id
# main_Export_ObjectPage_Button_posXpath = '//div/button[contains(@class,"Export")]/i' # 导出按钮
main_Export_ObjectPage_Button_posXpath = "//button[@class='MuiButtonBase-root MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeMedium MuiButton-textSizeMedium MuiButton-colorPrimary MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeMedium MuiButton-textSizeMedium MuiButton-colorPrimary css-epitc3']"  # 导出按钮
listPage_objectSearch_ip_address_buttonClear_posId = mainPage_ObjectSearch_buttonClear_posId  # 清空查询按钮id
listPage_object_ip_address_create_ip_address_Button_posXpath = "//ul[@class='base-Popper-root MuiMenu-root Mui-expanded MuiMenu-variantOutlined MuiMenu-colorNeutral MuiMenu-sizeMd css-1iuehdr']//li[1]" # 创建IP Address
listPage_object_ip_address_create_ip_address_Group_Button_posXpath = "//ul[@class='base-Popper-root MuiMenu-root Mui-expanded MuiMenu-variantOutlined MuiMenu-colorNeutral MuiMenu-sizeMd css-1iuehdr']//li[2]"  # 创建IP Address_Group

listPage_profileSearch_ip_address_dropDown_item_posXpath = ""  # 下拉菜单定位
listPage_profileSearch_ip_address_input_itemContent_posXpath = ""  # 输入item的值,replaceName替换实际查询值
listPage_profileSearch_ip_address_dropDown_typeItem_posXpath = ""  # 查询中type的下拉item定位,replaceName替换实际查询值
listPage_profilTable_ip_address_tableTbody_posXpath = ""  # 列表tabel body  xpath
listPage_profilTable_ip_address_tableHeader_posXpath = ""  # 列表table 表头xpath

# ip_address list page 列表页提取元素--列表页
listPage_object_ip_address_new_ID_extract_posXpath = '//table/tbody/tr[1]/td[1]/div/div/div[4]/span'  # 提取ID
listPage_object_ip_address_new_Name_extract_posXpath = '//table/tbody/tr[1]/td[3]/div/div/div/span'  # 提取Name
listPage_object_ip_address_new_Description_extract_posXpath = '//table/tbody/tr[1]/td[6]/div/div/p'  # 提取Description
listPage_object_ip_address_new_Details_extract_posXpath = '//table/tbody/tr[1]/td[4]/div/div/div/div/div/div/span'  # 提取Detail
listPage_object_ip_address_del_after_ele_posXpath = '//div[@id="ly-table1-listcontent"]/div/div[3]/div/span'  # 删除后提示"No Data"
# ip_address list page 列表页操作
listPage_object_ip_address_select_First_object_posXpath = "//div[@class='MuiDataGrid-virtualScrollerRenderZone css-1inm7gi']/div[1]//span[@class='MuiCheckbox-action css-kit57i']"  # 选择列表中第一个对象
listPage_object_ip_address_select_Second_object_posXpath = "//div[@class='MuiDataGrid-virtualScrollerRenderZone css-1inm7gi']/div[2]//span[@class='MuiCheckbox-action css-kit57i']"  # 选择列表中第二个对象
listPage_First_object_ID_posXpath = '//div[@aria-rowindex="2"]//div[@data-field="uuid"]'
listPage_First_object_Name_posXpath = "(//div[@data-field='name'])[2]//span"
listPage_First_object_Description_posXpath = "(//div[@data-field='description'])[2]"
listPage_Second_object_ID_posXpath = '//div[@aria-rowindex="3"]//div[@data-field="uuid"]'
# Create IP Address Object 和 Edit IP Address Object   新增和编辑页
ip_addressObjectPage_input_Name_posXpath = "//div[@class='ip-object-name']//input"  # name输入框Xpath
ip_addressObjectPage_radioButton_IP_posId = "IPendpoint"  # IP单选按钮id
ip_addressObjectPage_input_searchFor_posId = mainPage_ObjectSearch_buttonSearch_Item_posId  # search for item搜索输入框id
ip_addressObjectPage_button_addItem_posId = mainPage_ObjectSearch_buttonAddItem_posId  # 添加item按钮id
ip_addressObjectPage_button_addItem_posXpath = "//i[@class='iconfont icon-Create1 font-[700]']"
ip_addressObjectPage_button_addItem_first_item_posXpath = "//div[@class='MuiFormControl-root MuiFormControl-horizontal MuiFormControl-sizeMd css-90yvhw']/div[@class='ip-object-ip']/div"  # item 搜索框第一个元素
ip_addressObjectPage_addItem_error_tips_posXpath = "//div[contains(@class,'object-ip')]//div[2]"  # IP error_format 错误提示
ip_addressObjectPage_button_inputItem_posXpath = "//div[@class='MuiTableCell-root MuiTableCell-sizeMedium css-h2ab6y']//div[@class='MuiAutocomplete-wrapper css-1gurlra']/input"  # 输入item内容
ip_addressObjectPage_button_editItem_posXpath = "//i[@class='iconfont icon-Edit']"  # object item编辑按钮
ip_addressObjectPage_button_editgroup_posXpath = "//i[@class='row-edit iconfont icon-Edit cursor fontsize18']"  # object group组 item编辑按钮
ip_addressObjectPage_button_ip_text_posXpath = "//div[@class='ip-object-ip']//input[@class='MuiAutocomplete-input css-1lv7pyi']"  # ip object item文本编辑框
ip_addressObjectPage_button_ip_learing_text_posXpath = "//div[@class='ip-object-from_fqdns']//input[@class='MuiInput-input css-1u0jcuo']"  # ip_learing object item文本编辑框
ip_address_listPage_object_searchId_posId = '1-_FilteredSearch_ElRow_Objects_ip_Home_App_anonymousComponent'  # ID 搜索
ip_address_statistics_select_posXpath = "//button[@class='MuiSelect-button css-1qmzz5g']"
ip_addressObjectPage_radioButton_Geography_posId = "Geographygeo_location"  # Geography单选按钮id
ip_addressObjectPage_radioButton_Geography_Select_Asia = '//div[4]/div//div[3]/div/div/span[text()="Europa"]'  # countryRegion选择1亚洲
ip_addressObjectPage_radioButton_Geography_Select_replace = '//div[4]/div//div[2]/div/div/span[text()="replace"]'  # countryRegion选择1亚洲
ip_addressObjectPage_radioButton_Geography_Select_Asia_China = '//div[4]/div/div//div[3]/div[2]/div[8]/div/label/span/span'  # countryRegion选择2中国

ip_addressObjectPage_radioButton_IP_learning_posId = "IP Learningip_learning"  # IP Learning单选按钮id
ip_addressObjectPage_radioButton_IP_learning_posXpath = "//div[@class='ip-object-sub_type']//button[text()='IP Learning']"
ip_addressObjectPage_IP_learning_inputItem_posXpath = "//div[@class='ip-object-from_fqdns']//input[@class='MuiInput-input css-1u0jcuo']"  # IP Learning中Item输入

ip_addressObjectPage_button_Save_Item_posXpath = '//i[@class="operate-icon iconfont icon-save"]'  # 保存item按钮
ip_address_Geography_list_first_ele_posXpath = '//div[@role="group"][@aria-expanded="true"]/div[1]/div/label/span'  # Geography所选列表下第一个元素
ip_addressObjectPage_button_IP_learn_from_protocols_posXpath = "//div[@class='ip-object-from_protocol']//button[@title='Open']"  # Learn From Protocols选择框
ip_addressObjectPage_button_IP_learn_from_protocols_up_posXpath = "//div[@class='MuiSelect-root Mui-expanded MuiSelect-variantOutlined MuiSelect-colorNeutral MuiSelect-sizeMd css-n6bil4']"  # Learn From Protocols_up选择框
ip_addressObjectPage_button_IP_learn_from_protocols_Select_HTTP_posXpath = "//ul[@class='base-Popper-root MuiAutocomplete-listbox css-19hxmvv']/li[text()='HTTP']"  # Learn From Protocols选择HTTP
ip_addressObjectPage_button_IP_learn_from_protocols_Select_SSL_posXpath = "//ul[@class='base-Popper-root MuiAutocomplete-listbox css-19hxmvv']/li[text()='SSL']"  # Learn From Protocols选择SSL
ip_addressObjectPage_button_IP_learn_from_protocols_Select_DNS_posXpath ="//ul[@class='base-Popper-root MuiAutocomplete-listbox css-19hxmvv']/li[text()='DNS']"
ip_addressObjectPage_button_Input_Aging_Times_posXpath = "//div[@class='ip-object-aging_time']/div/input"  # Aging Times输入框
ip_addressObjectPage_button_Input_Vote_Clients_Number_posXpath = "//div[@class='ip-object-vote_client_num']/div/input"  # Vote Clients Number输入框
ip_addressObjectPage_button_Input_Learned_IP_Limits_posXpath = "//div[@class='ip-object-goal_upper_limit']/div/input"  # Learned IP Limits 输入框

ip_addressObjectPage_textArea_Description_posXpath = "//div[@class='ip-object-description']//textarea[1]"  # description文本输入区Xpath
ip_addressObjectPage_button_OK_posXpath = "//div[@class=' ip-object-page MuiBox-root css-o7xelj']//button[text()='OK']"  # Group保存主页面OK按钮
ip_addressObjectPage_button_SaveYes_posXpath = "//div[@class='MuiBox-root css-1krxo6z']//button[text()='OK']"  # Group引用创建OK按钮
ip_addressObjectPage_button_warningSaveYes_posXpath = "//div[@class='el-message-box__wrapper']/div/div[3]/button[2]/span"  # 提示保存ok按钮警告框
ip_addressObjectPage_button_warningSaveCancel_posCss = '//div[@class="el-message-box__wrapper"]/div/div[3]/button[1]/span'  # 提示保存取消按钮警告框
ip_addressObjectPage_button_cancel_posCss = "//div[@class=' ip-object-page MuiBox-root css-o7xelj']//button[text()='Cancel']"  # Cancel按钮

# Create IP Address Group Object 和 Edit Create IP Address Group   新增和编辑页
ip_address_Group_sub_Object_addButton_posXpath = "//div[@class='ip-object-included_sub_object_uuids']//i[@class='iconfont icon-Create1 font-[700]']"  # ip_address_Group添加sub Object按钮
ip_address_Group_sub_Object_add_new_Button_posXpath = "//i[@class='iconfont icon-Create1']"  # 新建sub_ip_address按钮
ip_address_Group_sub_Object_add_new_Select_one_Button_posXpath = "//ul[@class='base-Popper-root MuiMenu-root Mui-expanded MuiMenu-variantOutlined MuiMenu-colorNeutral MuiMenu-sizeMd css-131n2dh']//li[1]"  # 新建选择ip_address按钮
ip_address_Group_sub_Object_edit_subObject_Button_posXpath = "//i[@class='row-edit iconfont icon-Edit cursor fontsize18']"  # 编辑group 下的object 按钮
ip_address_Group_sub_Object_add_new_Select_Group_Button_posXpath = "//ul[@x-placement='bottom-start']/li[2]"  # 新建选择ip_address_Group按钮
ip_address_Group_sub_Object_add_new_one_inputName_posXpath = "//div[@class='MuiBox-root css-1krxo6z']//div[@class='ip-object-name']//input"  # new ip_address input Name
ip_address_Group_sub_Object_add_new_add_item_Button_posXpath = "//div[@class='MuiBox-root css-1krxo6z']//i[@class='iconfont icon-Create1 font-[700]']"  # new ip_address add items
ip_address_Group_sub_Object_add_new_addIP_item_inputName_posXpath = "//div[@class='MuiBox-root css-1krxo6z']//input[@class='MuiAutocomplete-input css-1lv7pyi']"  # new IP Item input
ip_address_ObjectDetailPage_okButton_yes_posXpath = url_ObjectDetailPage_okButton_yes_posXpath  # 确认弹窗的“Yes”按钮
# ================= Geography =============== Geography================= Geography =============== Geography================= Geography =============== Geography================= Geography =============== Geography
ip_address_Group_sub_Object_add_new_addphoneNumber_item_inputName_posXpath = '//form/div[4]/div[1]/div/div/div[1]/div[1]/div[1]/div[2]/div[1]/div[1]/div/div/div[2]/div/div/div[1]/div[1]/div/input'  # new PhoneNumber inputItemName
ip_address_Group_sub_Object_add_new_addIMEI_item_inputName_posXpath = '//input[@id="onlyMarvel"]'  # new IMEI inputItemName
ip_address_Group_sub_Object_add_new_add_itemIP_Save_Button_posXpath = "//i[@class='operate-icon iconfont icon-save']"  # 保存item按钮
ip_address_Group_sub_Object_add_new_one_OK1_Button_posXpath = "//div[@class='MuiBox-root css-1krxo6z']//button[text()='OK']"  # new ip_address CreateOK1
ip_address_Group_sub_Object_add_new_one_OK1_Warning_Yes_Button_posXpath = "//div[@class='el-message-box__btns']//span[normalize-space(text())='Yes']"  # 再次确认创建new ip_address
ip_address_Group_sub_Object_add_new_one_OK1_Warning_Cancel_Button_posXpath = "//div[@class='el-message-box__btns']//span[normalize-space(text())='Cancel']"  # 再次确认取消new ip_address

# link页
ip_address_listpage_linkButton_posId = "btnCopy-_OperateBtns_ElRow_Objects_ip_Home_App_anonymousComponent"  # link按钮ID
ip_address_listpage_linkSave_posXpath = '//*[@id="clusterSave-_ClusterTable_ElDialog_copyComponents_Objects_ip_Home_App_anonymousComponent"]'  # Cluster和Vsys保存按钮ID
ip_address_listpage_linkAdd_posXpath = '//*[@id="temporary_form-_ClusterTable_ElDialog_copyComponents_Objects_ip_Home_App_anonymousComponent"]'  # 添加新的Cluster和Vsys按钮ID
ip_address_listpage_linkOk_posXpath = '//*[@id="copyOk-_copyComponents_Objects_ip_Home_App_anonymousComponent"]'

# Object FQDNs===================Object FQDNs====================Object FQDNs=================Object FQDNs=======================Object FQDNs=================Object FQDNs
### Object-FQDNs
# Object FQDNs===================Object FQDNs====================Object FQDNs=================Object FQDNs=======================Object FQDNs=================Object FQDNs
# FQDNs list page 列表页
listPage_object_FQDNs_createButton_posXpath = listPage_object_ip_address_createButton_posXpath  # create按钮id
listPage_object_FQDNs_editButton_posXpath = listPage_object_ip_address_editButton_posXpath  # edit按钮id
listPage_object_FQDNs_delButton_posXpath = listPage_object_ip_address_delButton_posXpath  # del按钮id
listPage_object_FQDNs_del_disabled_Button_posXpath = '//button[@class="el-button topicCol-btn el-button--default el-button--small is-disabled"][@disabled="disabled"]'  # FQDN删除按钮置灰
listPage_object_FQDNs_del_yes_Button_posXpath = listPage_object_ip_address_del_yes_Button_posXpath  # del_yes按钮
listPage_objectSearch_FQDNs_selectLabel_posXpath = listpage_search_box_posXpath  # 查询框id
listPage_object_FQDNs_viewButton_posId = "//button[@id='appEdit-_OperateBtns_ElRow_Objects_fqdn_Home_App_anonymousComponent']//p[normalize-space(text()) = 'View']"
# 查询框输入并选择
listPage_objectSearch_FQDNs_select_Id_posXpath = '//li[@id="1-_FilteredSearch_ElRow_Objects_fqdn_Home_App_anonymousComponent"]'  # 查询ID
listPage_objectSearch_FQDNs_select_Name_posXpath = "//ul[@class='base-Popper-root MuiAutocomplete-listbox css-18r31z0']//span[text()='Name']"  # 查询Name
listPage_objectSearch_FQDNs_select_Details_posXpath = "//ul[@class='base-Popper-root MuiAutocomplete-listbox css-18r31z0']//span[text()='Detail']"  # 查询Details
listPage_objectSearch_FQDNs_select_Description_posXpath = "//ul[@class='base-Popper-root MuiAutocomplete-listbox css-18r31z0']//span[text()='Description']"  # 查询Description
listPage_objectSearch_FQDNs_select_CreateBy_posXpath = '//*[@id="5-_FilteredSearch_ElRow_Objects_fqdn_Home_App_anonymousComponent"]'  # 查询CreateBy

listPage_objectSearch_FQDNs_buttonSearch_posId = mainPage_ObjectSearch_buttonSearch_posId  # 查询按钮id
listPage_objectSearch_FQDNs_buttonClear_posId = mainPage_ObjectSearch_buttonClear_posId  # 清空查询按钮id
listPage_object_FQDNs_create_FQDNs_Button_posXpath = listPage_object_ip_address_create_ip_address_Button_posXpath  # 创建FQDNs
listPage_object_FQDNs_create_FQDNs_Group_Button_posXpath = listPage_object_ip_address_create_ip_address_Group_Button_posXpath  # 创建FQDNs Group

listPage_profileSearch_FQDNs_dropDown_item_posXpath = ""  # 下拉菜单定位
listPage_profileSearch_FQDNs_input_itemContent_posXpath = ""  # 输入item的值,replaceName替换实际查询值
listPage_profileSearch_FQDNs_dropDown_typeItem_posXpath = ""  # 查询中type的下拉item定位,replaceName替换实际查询值
listPage_profilTable_FQDNs_tableTbody_posXpath = ""  # 列表tabel body  xpath
listPage_profilTable_FQDNs_tableHeader_posXpath = ""  # 列表table 表头xpath

# FQDNs list page 列表页提取元素--列表页
listPage_object_FQDNs_new_ID_extract_posXpath = '//table/tbody/tr[1]/td[1]/div/div/div[4]/span'  # 提取ID
listPage_object_FQDNs_new_Name_extract_posXpath = '//table/tbody/tr[1]/td[3]/div/div/div/span'  # 提取Name
listPage_object_FQDNs_new_Description_extract_posXpath = '//table/tbody/tr[1]/td[6]/div/div/p'  # 提取Description
listPage_object_FQDNs_new_Details_extract_posXpath = '//table/tbody/tr[1]/td[4]/div/div/div/div/div/div/span'  # 提取Detail
listPage_object_FQDNs_del_after_ele_posXpath = '//div[@id="ly-table1-listcontent"]/div/div[3]/div/span'  # 删除后提示"No Data"
# FQDNs list page 列表页操作
listPage_object_FQDNs_select_First_object_posXpath = listPage_object_ip_address_select_First_object_posXpath # 选择列表中第一个对象
FQDNs_listPage_object_searchId_posId = '1-_FilteredSearch_ElRow_Objects_fqdn_Home_App_anonymousComponent'  # ID 搜索
# Create FQDNs Object 和 Edit FQDNs Object   新增和编辑页
FQDNsObjectPage_input_Name_posXpath = "//div[@class='fqdn-object-name']//input"  # name输入框Xpath

FQDNsObjectPage_input_searchFor_posId = mainPage_ObjectSearch_buttonSearch_Item_posId  # search for item搜索输入框id
FQDNsObjectPage_button_addItem_posXpath = mainPage_ObjectSearch_buttonAddItem_posXpath  # 添加item按钮id
FQDNsObjectPage_button_inputItem_posXpath = "//div[@class='fqdn-object-expression']//input"  # 输入item内容
FQDNsObjectPage_button_Save_Item_posXpath = "//i[@class='operate-icon iconfont icon-save']"  # 保存item按钮

FQDNsObjectPage_textArea_Description_posXpath = "//div[@class='fqdn-object-description']//textarea[1]"  # description文本输入区Xpath
FQDNsObjectPage_button_SaveYes_posXpath = "//div[@class=' fqdn-object-page MuiBox-root css-o7xelj']//button[text()='OK']"  # OK按钮
FQDNsObjectPage_button_warningSaveYes_posXpath = "//div[@class='el-message-box__wrapper']/div/div[3]/button[2]/span"  # 提示保存ok按钮警告框
FQDNsObjectPage_button_warningSaveCancel_posCss = '//div[@class="el-message-box__wrapper"]/div/div[3]/button[1]/span'  # 提示保存取消按钮警告框
FQDNsObjectPage_button_cancel_posCss = "//div[@class=' fqdn-object-page MuiBox-root css-o7xelj']//button[text()='Cancel']"  # Cancel按钮

# Create FQDNs Group Object 和 Edit CreateFQDNs Group   新增和编辑页
FQDNs_Group_sub_Object_addButton_posXpath = "//div[@class='fqdn-object-included_sub_object_uuids']//i[@class='iconfont icon-Create1 font-[700]']"  # FQDNs_Group添加sub Object按钮
FQDNs_Group_sub_Object_add_new_Button_posXpath = "//i[@class='iconfont icon-Create1']"  # 新建sub_FQDNs按钮
FQDNs_Group_sub_Object_add_new_Select_one_Button_posXpath = "//ul[@class='base-Popper-root MuiMenu-root Mui-expanded MuiMenu-variantOutlined MuiMenu-colorNeutral MuiMenu-sizeMd css-131n2dh']//li[1]"  # 新建选择FQDNs按钮
FQDNs_Group_sub_Object_add_new_Select_Group_Button_posXpath = "//ul[@class='base-Popper-root MuiMenu-root Mui-expanded MuiMenu-variantOutlined MuiMenu-colorNeutral MuiMenu-sizeMd css-131n2dh']//li[2]"  # 新建选择FQDNs_Group按钮
FQDNs_Group_sub_Object_add_new_one_inputName_posXpath = "(//div[@class='fqdn-object-name']//input)[2]"  # new FQDNs input Name
FQDNs_Group_sub_Object_add_new_add_item_Button_posXpath = '(//div[@class="css-103las5"]//i[@class="iconfont icon-Create1 font-[700]"])'  # new FQDNs add items Button
FQDNs_Group_sub_Object_add_new_addIP_item_inputName_posXpath = "//div[@class='MuiBox-root css-1krxo6z']//div[@class='fqdn-object-expression']//input"  # new FQDNs Item input
FQDNs_Group_sub_Object_add_new_add_itemIP_Save_Button_posXpath = "//i[@class='operate-icon iconfont icon-save']"  # new FQDNs 保存item按钮
FQDNs_Group_sub_Object_add_new_one_OK1_Button_posXpath = "(//button[text()='OK'])[2]"  # new FQDNs CreateOK1
FQDNs_Group_sub_Object_add_new_one_OK1_Warning_Yes_Button_posXpath = "//div[@class='el-message-box__btns']//span[normalize-space(text())='Yes']"  # 再次确认创建new FQDNs
FQDNs_Group_sub_Object_add_new_one_OK1_Warning_Cancel_Button_posXpath = "//div[@class='el-message-box__btns']//span[normalize-space(text())='Cancel']"  # 再次确认取消new FQDNs
FQDNs_Group_sub_Object_add_new_one_Cancel2_Button_posXpath = '//div/div/div[2]/div/div/div[1]/div/div/div[1]/div[3]/button[2]/span'  # new FQDNs CreateCancel2
FQDNs_Group_sub_Object_group_exclude_open_posXpath = "//div[@class='fqdn-object-']"
FQDNs_group_include_add_button_posXpath = "//div[@class='fqdn-object-included_sub_object_uuids']//i[@class='iconfont icon-Create1 font-[700]']"
FQDNs_group_exclude_add_button_posXpath = "//div[@class='fqdn-object-excluded_sub_object_uuids']//i[@class='iconfont icon-Create1 font-[700]']"
FQDNs_ObjectGroupDetailPage_subObjects_addButton_normalAdd_posXpath = "//div[@class='fqdn-object-included_sub_object_uuids']//i[@class='iconfont icon-Create1 text-[18px] font-[700] text-[--color-primary] cursor-pointer']"
# link页
FQDNs_listpage_linkButton_posId = "btnCopy-_OperateBtns_ElRow_Objects_fqdn_Home_App_anonymousComponent"  # link按钮ID
FQDNs_listpage_linkSave_posXpath = '//*[@id="clusterSave-_ClusterTable_ElDialog_copyComponents_Objects_fqdn_Home_App_anonymousComponent"]'  # Cluster和Vsys保存按钮ID
FQDNs_listpage_linkAdd_posXpath = '//*[@id="temporary_form-_ClusterTable_ElDialog_copyComponents_Objects_fqdn_Home_App_anonymousComponent"]'  # 添加新的Cluster和Vsys按钮ID
FQDNs_listpage_linkOk_posXpath = '//*[@id="copyOk-_copyComponents_Objects_fqdn_Home_App_anonymousComponent"]'
#
# Object FQDNs===================Object FQDNs====================Object FQDNs=================Object FQDNs=======================Object FQDNs=================Object FQDNs
### Object-FQDNs
# Object FQDNs===================Object FQDNs====================Object FQDNs=================Object FQDNs=======================Object FQDNs=================Object FQDNs


# Object Subscriber_IDs===================Object Subscriber_IDs====================Object Subscriber_IDs=================Object Subscriber_IDs=======================Object Subscriber_IDs=================Object Subscriber_IDs
### Object-Subscriber_IDs
# Object Subscriber_IDs===================Object Subscriber_IDs====================Object Subscriber_IDs=================Object Subscriber_IDs=======================Object Subscriber_IDs=================Object Subscriber_IDs
# Subscriber_IDs list page 列表页
listPage_object_Subscriber_IDs_createButton_posXpath = listPage_object_ip_address_createButton_posXpath  # create按钮id
listPage_object_Subscriber_IDs_editButton_posXpath = listPage_object_ip_address_editButton_posXpath  # edit按钮id
listPage_object_Subscriber_IDs_delButton_posXpath = listPage_object_ip_address_delButton_posXpath  # del按钮id
listPage_object_Subscriber_IDs_viewButton_posId = "//button[@id='appEdit-_OperateBtns_ElRow_Objects_subscriberid_Home_App_anonymousComponent']//p[normalize-space(text()) = 'View']"
listPage_object_Subscriber_IDs_delButton_disable_posXpath = '//button[@id="appDel-_OperateBtns_ElRow_Objects_subscriberid_Home_App_anonymousComponent"][@disabled="disabled"]'  # del按钮置灰
listPage_object_Subscriber_IDs_reference_count_posXpath = "(//div[@data-field='reference_count']//span)[2]//parent::button"  # 引用计数
listPage_object_main_reference_count_posXpath = listPage_object_Subscriber_IDs_reference_count_posXpath
listPage_object_Subscriber_IDs_first_reference_list_posXpath = "//div[@class='overflow-y-auto h-[100%] pt-0']//table/tbody/tr[1]"  # 侧滑引用列表第一列
listPage_object_Subscriber_IDs_second_reference_list_posXpath = "//div[@class='overflow-y-auto h-[100%] pt-0']//table/tbody/tr[2]"  # 侧滑引用列表第二列
listPage_profilTable_FQDNs_reference_first_row_posXpath = listPage_object_Subscriber_IDs_first_reference_list_posXpath
listPage_profilTable_FQDNs_reference_Second_row_posXpath = listPage_object_Subscriber_IDs_second_reference_list_posXpath
listPage_object_Subscriber_IDs_del_yes_Button_posXpath = listPage_object_ip_address_del_yes_Button_posXpath  # del_yes按钮
listPage_objectSearch_Subscriber_IDs_selectLabel_posId = mainPage_ObjectSearch_selectLabel_posId  # 查询框id
# 查询框输入并选择
listPage_objectSearch_Subscriber_IDs_select_Id_posXpath = '//li[@id="1-_FilteredSearch_ElRow_Objects_subscriberid_Home_App_anonymousComponent"]'  # 查询ID
listPage_objectSearch_Subscriber_IDs_select_Name_posXpath = "//ul[@class='base-Popper-root MuiAutocomplete-listbox css-18r31z0']//span[text()='Name']" # 查询Name
listPage_objectSearch_Subscriber_IDs_select_Details_posXpath ="//ul[@class='base-Popper-root MuiAutocomplete-listbox css-18r31z0']//span[text()='Detail']"  # 查询Details
listPage_objectSearch_Subscriber_IDs_select_Description_posXpath = "//ul[@class='base-Popper-root MuiAutocomplete-listbox css-18r31z0']//span[text()='Description']"  # 查询Description
listPage_objectSearch_Subscriber_IDs_select_CreateBy_posXpath = '//*[@id="5-_FilteredSearch_ElRow_Objects_subscriberid_Home_App_anonymousComponent"]'  # 查询CreateBy

listPage_objectSearch_Subscriber_IDs_buttonSearch_posId = mainPage_ObjectSearch_buttonSearch_posId  # 查询按钮id
listPage_objectSearch_Subscriber_IDs_buttonClear_posId = mainPage_ObjectSearch_buttonClear_posId  # 清空查询按钮id
listPage_object_Subscriber_IDs_create_Subscriber_IDs_Button_posId = "//ul[@class='base-Popper-root MuiMenu-root Mui-expanded MuiMenu-variantOutlined MuiMenu-colorNeutral MuiMenu-sizeMd css-1iuehdr']//li[1]"  # 创建Subscriber_IDs
listPage_object_Subscriber_IDs_create_Subscriber_IDs_Group_Button_posId = "//ul[@class='base-Popper-root MuiMenu-root Mui-expanded MuiMenu-variantOutlined MuiMenu-colorNeutral MuiMenu-sizeMd css-1iuehdr']//li[2]"  # 创建Subscriber_IDs Group

listPage_profileSearch_Subscriber_IDs_dropDown_item_posXpath = ""  # 下拉菜单定位
listPage_profileSearch_Subscriber_IDs_input_itemContent_posXpath = ""  # 输入item的值,replaceName替换实际查询值
listPage_profileSearch_Subscriber_IDs_dropDown_typeItem_posXpath = ""  # 查询中type的下拉item定位,replaceName替换实际查询值
listPage_profilTable_Subscriber_IDs_tableTbody_posXpath = ""  # 列表tabel body  xpath
listPage_profilTable_Subscriber_IDs_tableHeader_posXpath = ""  # 列表table 表头xpath

# Subscriber_IDs list page 列表页提取元素--列表页
listPage_object_Subscriber_IDs_new_ID_extract_posXpath = '//table/tbody/tr[1]/td[1]/div/div/div[4]/span'  # 提取ID
listPage_object_Subscriber_IDs_new_Name_extract_posXpath = '//table/tbody/tr[1]/td[3]/div/div/div/span'  # 提取Name
listPage_object_Subscriber_IDs_new_Description_extract_posXpath = '//table/tbody/tr[1]/td[6]/div/div/p'  # 提取Description
listPage_object_Subscriber_IDs_new_Details_extract_posXpath = '//table/tbody/tr[1]/td[4]/div/div/div/div/div/div/div/span/div/span'  # 提取Detail
listPage_object_Subscriber_IDs_del_after_ele_posXpath = '//div[@id="ly-table1-listcontent"]/div/div[3]/div/span'  # 删除后提示"No Data"
# Subscriber_IDs list page 列表页操作
listPage_object_Subscriber_IDs_select_First_object_posXpath = listPage_object_ip_address_select_First_object_posXpath  # 选择列表中第一个对象
Subscriber_ID_listPage_object_searchId_posId = '1-_FilteredSearch_ElRow_Objects_subscriberid_Home_App_anonymousComponent'  # ID 搜索
# Create Subscriber_IDs Object 和 Edit Subscriber_IDs Object   新增和编辑页
Subscriber_IDsObjectPage_input_Name_posXpath = "//div[@class='MuiInput-root MuiInput-variantOutlined MuiInput-colorNeutral MuiInput-sizeMd MuiInput-formControl css-uzf287']/input"  # name输入框Xpath

Subscriber_IDsObjectPage_input_searchFor_posId = mainPage_ObjectSearch_buttonSearch_Item_posId  # search for item搜索输入框id
Subscriber_IDsObjectPage_button_addItem_posXpath = mainPage_ObjectSearch_buttonAddItem_posXpath  # 添加item按钮id
Subscriber_IDsObjectPage_button_inputItem_posXpath = '//div[@class="subscriber-id-object-expression"]//input' # 输入item内容
Subscriber_IDsObjectPage_button_Save_Item_posXpath = "//i[@class='operate-icon iconfont icon-save']"  # 保存item按钮

Subscriber_IDsObjectPage_textArea_Description_posXpath = "//div[@class='MuiTextarea-root MuiTextarea-variantOutlined MuiTextarea-colorNeutral MuiTextarea-sizeMd MuiTextarea-formControl css-v35t8h']/textarea[1]"  # Subscriber IDs_description文本输入区Xpath
Subscriber_IDs_GroupObjectPage_textArea_Description_posXpath = "//div[@class='MuiTextarea-root MuiTextarea-variantOutlined MuiTextarea-colorNeutral MuiTextarea-sizeMd MuiTextarea-formControl css-v35t8h']/textarea[1]"  # Subscriber IDs Group_description文本输入区Xpath
Subscriber_IDsObjectPage_button_SaveYes_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']"  # OK按钮
Subscriber_IDsObjectPage_button_warningSaveYes_posXpath = "//div[@class='el-message-box__wrapper']/div/div[3]/button[2]/span"  # 提示保存ok按钮警告框
Subscriber_IDsObjectPage_button_warningSaveCancel_posCss = '//div[@class="el-message-box__wrapper"]/div/div[3]/button[1]/span'  # 提示保存取消按钮警告框
Subscriber_IDsObjectPage_button_cancel_posCss = "//div[@class=' subscriber-id-object-page MuiBox-root css-o7xelj']//button[text()='Cancel']"  # Cancel按钮

# Create Subscriber_IDs Group Object 和 Edit CreateSubscriber_IDs Group   新增和编辑页
Subscriber_IDs_Group_sub_Object_include_addButton_posXpath = "//div[@class='subscriber-id-object-included_sub_object_uuids']//i[@class='iconfont icon-Create1 font-[700]']"  # Subscriber_IDs_Group添加sub Object按钮
Subscriber_IDs_Group_sub_Object_exclude_addButton_posXpath = "//div[@class='subscriber-id-object-excluded_sub_object_uuids']//i[@class='iconfont icon-Create1 font-[700]']"
Subscriber_IDs_Group_sub_Object_add_new_Button_posXpath = "//button[@class='MuiIconButton-root MuiIconButton-variantPlain MuiIconButton-colorNeutral MuiIconButton-sizeMd MuiMenuButton-root MuiMenuButton-variantOutlined MuiMenuButton-colorNeutral MuiMenuButton-sizeMd css-83p2rh']//i[@class='iconfont icon-Create1']"  # 新建sub_Subscriber_IDs按钮
Subscriber_IDs_Group_sub_Object_add_new_Select_one_Button_posXpath = "//ul[@class='base-Popper-root MuiMenu-root Mui-expanded MuiMenu-variantOutlined MuiMenu-colorNeutral MuiMenu-sizeMd css-131n2dh']//li[1]"  # 新建选择Subscriber_IDs按钮
Subscriber_IDs_Group_sub_Object_add_new_Select_Group_Button_posXpath = "//ul[@class='base-Popper-root MuiMenu-root Mui-expanded MuiMenu-variantOutlined MuiMenu-colorNeutral MuiMenu-sizeMd css-131n2dh']//li[2]"  # 新建选择Subscriber_IDs_Group按钮
Subscriber_IDs_Group_sub_Object_export_files_Button_posXpath = "//i[@class='iconfont icon-export']"  # 导出文件按钮
Subscriber_IDs_Group_sub_Object_import_files_Button_posXpath = "//button[text()='import from file']"  # object导入文件按钮
Subscriber_IDs_Group_sub_Object_import_files_Path_posXpath = "//input[@type='file']"  # 导入文件路径
Subscriber_IDs_Group_sub_Object_import_files_OK_posXpath = "//button[@class='MuiButtonBase-root MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary css-k5thc0']"  # 导入文件OK
Subscriber_IDs_Group_sub_Object_export_files_yes_Button_posXpath = "//button[@class='MuiButtonBase-root MuiButton-root MuiLoadingButton-root MuiButton-contained MuiButton-containedPrimary MuiButton-sizeSmall \
MuiButton-containedSizeSmall MuiButton-colorPrimary MuiButton-root MuiLoadingButton-root MuiButton-contained MuiButton-containedPrimary MuiButton-sizeSmall MuiButton-containedSizeSmall MuiButton-colorPrimary css-1k1ho7l']"  # 导出文件Yes按钮
list_PageObject_Export_files_yes_button_posXpath = Subscriber_IDs_Group_sub_Object_export_files_yes_Button_posXpath  # 导出文件Yes按钮
main_sub_Object_edit_sub_object_Button_posXpath = "//i[@class='row-edit iconfont icon-Edit cursor fontsize18']"
Subscriber_IDs_Group_sub_Object_edit_sub_object_Button_posXpath = main_sub_Object_edit_sub_object_Button_posXpath  # Subscriber_IDs_Group编辑subObject按钮
Subscriber_IDs_Group_sub_Object_add_new_one_inputName_posXpath = '(//input[@class="MuiInput-input css-fqt4w4"])[2]'  # new Subscriber_IDs input Name
Subscriber_IDs_Group_sub_Object_add_new_add_item_Button_posXpath = '(//div[@class="css-103las5"]//i[@class="iconfont icon-Create1 font-[700]"])[1]'  # new Subscriber_IDs add items Button
Subscriber_IDs_Group_sub_Object_add_new_addIP_item_inputName_posXpath = '//div[@class="subscriber-id-object-expression"]//input'  # new Subscriber_IDs Item input
Subscriber_IDs_Group_sub_Object_add_new_add_itemIP_Save_Button_posXpath = "//i[@class='operate-icon iconfont icon-save']"  # new Subscriber_IDs 保存item按钮
Subscriber_IDs_Group_sub_Object_add_new_one_OK1_Button_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]"  # new Subscriber_IDs CreateOK1
Subscriber_IDs_Group_sub_Object_add_new_one_OK1_Warning_Yes_Button_posXpath = "//div[@class='el-message-box__btns']//span[normalize-space(text())='Yes']"  # 再次确认创建new Subscriber_IDs
Subscriber_IDs_Group_sub_Object_add_new_one_OK1_Warning_Cancel_Button_posXpath = "//div[@class='el-message-box__btns']//span[normalize-space(text())='Cancel']"  # 再次确认取消new Subscriber_IDs
Subscriber_IDs_Group_sub_Object_add_new_one_Cancel2_Button_posXpath = '//div/div/div[2]/div/div/div[1]/div/div/div[1]/div[3]/button[2]/span'  # new Subscriber_IDs CreateCancel2
Subscriber_IDs_Group_sub_object_group_exclude_open_posXpath = "//div[@class='subscriber-id-object-']"
# link页
Subscriber_IDs_listpage_linkButton_posId = "btnCopy-_OperateBtns_ElRow_Objects_subscriberid_Home_App_anonymousComponent"  # link按钮ID
Subscriber_IDs_listpage_linkSave_posXpath = '//*[@id="clusterSave-_ClusterTable_ElDialog_copyComponents_Objects_subscriberid_Home_App_anonymousComponent"]'  # Cluster和Vsys保存按钮ID
Subscriber_IDs_listpage_linkAdd_posXpath = '//*[@id="temporary_form-_ClusterTable_ElDialog_copyComponents_Objects_subscriberid_Home_App_anonymousComponent"]'  # 添加新的Cluster和Vsys按钮ID
Subscriber_IDs_listpage_linkOk_posXpath = '//*[@id="copyOk-_copyComponents_Objects_subscriberid_Home_App_anonymousComponent"]'
# Object Subscriber_IDs===================Object Subscriber_IDs====================Object Subscriber_IDs=================Object Subscriber_IDs=======================Object Subscriber_IDs=================Object Subscriber_IDs
### Object-Subscriber_IDs
# Object Subscriber_IDs===================Object Subscriber_IDs====================Object Subscriber_IDs=================Object Subscriber_IDs=======================Object Subscriber_IDs=================Object Subscriber_IDs


# Object HTTP_Signatures===================Object HTTP_Signatures====================Object HTTP_Signatures=================Object HTTP_Signatures=======================Object HTTP_Signatures=================Object HTTP_Signatures
### Object-HTTP_Signatures
# Object HTTP_Signatures===================Object HTTP_Signatures====================Object HTTP_Signatures=================Object HTTP_Signatures=======================Object HTTP_Signatures=================Object HTTP_Signatures
# HTTP_Signatures list page 列表页
listPage_object_HTTP_Signatures_createButton_posXpath = listPage_object_ip_address_createButton_posXpath  # create按钮id
listPage_object_HTTP_Signatures_editButton_posXpath = listPage_object_ip_address_editButton_posXpath  # edit按钮id
listPage_object_HTTP_Signatures_delButton_posXpath = listPage_object_ip_address_delButton_posId  # del按钮id
listPage_object_HTTP_Signatures_viewButton_posId = "//button[@id='appEdit-_OperateBtns_ElRow_Objects_http_signature_Home_App_anonymousComponent']//p[normalize-space(text()) = 'View']"
listPage_object_HTTP_Signatures_delButton_display_posXpath = '//button[@id="appDel-_OperateBtns_ElRow_Objects_http_signature_Home_App_anonymousComponent"][@disabled="disabled"]'  # del按钮置灰状态
list_quote_content_object_HTTP_Signatures_posXpath = "//div[@class='MuiDataGrid-virtualScrollerContent css-0']/div/div[2]//div[@data-field='reference_count']/button"  # quote计数
list_Column_settings_HTTP_Signatures_Description_posXpath = "//span[text()='Description']"  # 列设置选择Description
list_HTTP_Signatures_Export_files_button_posXpath = '//div/button[contains(@class,"Export")]/i'  # 导出文件按钮
list_HTTP_Signatures_Export_files_yes_button_posXpath = '//div/div[3]/span/button[1]/span[contains(text(),"Yes")]'  # 导出文件Yes按钮
list_quote_first_row_object_HTTP_Signatures_posXpath = "//div[@class='overflow-y-auto h-[100%] pt-0']//table/tbody/tr[1]"  # quote侧滑第一行
list_quote_second_row_object_HTTP_Signatures_posXpath = "//div[@class='overflow-y-auto h-[100%] pt-0']//table/tbody/tr[2]"  # quote侧滑第二行
list_quote_object_Edit_posXpath = "//div[@class='px-[12px] py-[4px] h-[32px] flex absolute left-0 right-0 top-0']//button[text()='Edit']"
Create_item_second_row_object_HTTP_Signatures_posXpath = "(//div[@class='infinite-list-wrapper']//div[@class='view-row'])[2]//div[@class='keywords-txt']/span"  # item第二行
listPage_object_HTTP_Signatures_del_yes_Button_posXpath = listPage_object_ip_address_del_yes_Button_posXpath  # del_yes按钮
listPage_objectSearch_HTTP_Signatures_selectLabel_posId = mainPage_ObjectSearch_selectLabel_posId  # 查询框id
# 查询框输入并选择
listPage_objectSearch_HTTP_Signatures_select_Id_posXpath = '//li[@id="1-_FilteredSearch_ElRow_Objects_http_signature_Home_App_anonymousComponent"]'  # 查询ID
listPage_objectSearch_HTTP_Signatures_select_Name_posXpath = "//ul[@class='base-Popper-root MuiAutocomplete-listbox css-18r31z0']//span[text()='Name']"  # 查询Name
listPage_objectSearch_HTTP_Signatures_select_Details_posXpath = "//ul[@class='base-Popper-root MuiAutocomplete-listbox css-18r31z0']//span[text()='Detail']"  # 查询Details
listPage_objectSearch_HTTP_Signatures_select_Description_posXpath = "//ul[@class='base-Popper-root MuiAutocomplete-listbox css-18r31z0']//span[text()='Description']"  # 查询Description
listPage_objectSearch_HTTP_Signatures_select_CreateBy_posXpath = '//*[@id="5-_FilteredSearch_ElRow_Objects_http_signature_Home_App_anonymousComponent"]'  # 查询CreateBy

listPage_objectSearch_HTTP_Signatures_buttonSearch_posId = mainPage_ObjectSearch_buttonSearch_posId  # 查询按钮id
listPage_objectSearch_HTTP_Signatures_buttonClear_posId = mainPage_ObjectSearch_buttonClear_posId  # 清空查询按钮id
listPage_object_HTTP_Signatures_create_HTTP_Signatures_Button_posId = 'object0-_OperateBtns_ElRow_Objects_http_signature_Home_App_anonymousComponent'  # 创建HTTP_Signatures
listPage_object_HTTP_Signatures_create_HTTP_Signatures_Group_Button_posId = "object1-_OperateBtns_ElRow_Objects_http_signature_Home_App_anonymousComponent"  # 创建HTTP_Signatures Group

listPage_profileSearch_HTTP_Signatures_dropDown_item_posXpath = ""  # 下拉菜单定位
listPage_profileSearch_HTTP_Signatures_input_itemContent_posXpath = ""  # 输入item的值,replaceName替换实际查询值
listPage_profileSearch_HTTP_Signatures_dropDown_typeItem_posXpath = ""  # 查询中type的下拉item定位,replaceName替换实际查询值
listPage_profilTable_HTTP_Signatures_tableTbody_posXpath = ""  # 列表tabel body  xpath
listPage_profilTable_HTTP_Signatures_tableHeader_posXpath = ""  # 列表table 表头xpath

# HTTP_Signatures list page 列表页提取元素--列表页
listPage_object_HTTP_Signatures_new_ID_extract_posXpath = '//table/tbody/tr[1]/td[1]/div/div/div[4]/span'  # 提取ID
listPage_object_HTTP_Signatures_new_Name_extract_posXpath = '//table/tbody/tr[1]/td[3]/div/div/div/span'  # 提取Name
listPage_object_HTTP_Signatures_new_Description_extract_posXpath = '//table/tbody/tr[1]/td[6]/div/div/p'  # 提取Description
listPage_object_HTTP_Signatures_new_Details_extract_posXpath = '//table/tbody/tr[1]/td[4]/div/div/div/div/div/div/span'  # 提取Detail
listPage_object_HTTP_Signatures_del_after_ele_posXpath = '//div[@id="ly-table1-listcontent"]/div/div[3]/div/span'  # 删除后提示"No Data"
# HTTP_Signatures list page 列表页操作
listPage_object_HTTP_Signatures_select_First_object_posXpath = listPage_object_ip_address_select_First_object_posXpath  # 选择列表中第一个对象
HTTP_Signatures_listPage_object_searchId_posId = '1-_FilteredSearch_ElRow_Objects_http_signature_Home_App_anonymousComponent'  # ID 搜索
# Create HTTP_Signatures Object 和 Edit HTTP_Signatures Object   新增和编辑页
HTTP_SignaturesObjectPage_input_Name_posXpath = "//div[@class='MuiInput-root MuiInput-variantOutlined MuiInput-colorNeutral MuiInput-sizeMd MuiInput-formControl css-uzf287']/input"  # name输入框Xpath
HTTP_SignaturesObjectPage_button_SaveYes_posXpath = '//*[@id="OK-_HttpSigDetail_Home_App_anonymousComponent"]'  # OK按钮
HTTP_SignaturesObjectPage_input_searchFor_posId = mainPage_ObjectSearch_buttonSearch_Item_posId  # search for item搜索输入框id
HTTP_SignaturesObjectPage_button_addItem_posXpath = mainPage_ObjectSearch_buttonAddItem_posXpath  # 添加item按钮id
HTTP_SignaturesObjectPage_button_inputItem_posXpath = "//div[@class='MuiInput-root MuiInput-variantOutlined MuiInput-colorNeutral MuiInput-sizeMd MuiInput-formControl css-grqzrl']/input"  # 输入item内容
HTTP_SignaturesObjectPage_sub_inputItem_posXpath = '//div/div/div[2]/div[2]/div[2]/div/div/div[1]/div[1]/div/input'
HTTP_SignaturesObjectPage_button_input_Item_posXpath = "//div[@class='MuiInput-root MuiInput-variantOutlined MuiInput-colorNeutral MuiInput-sizeMd MuiInput-formControl css-1qymgs6']/input"  # 输入& 所需要元素
HTTP_SignaturesObjectPage_button_select_HEX_posXpath = "//div[@class='flex items-center pt-0']//button[text()='HEX']"  # 选择HEX
HTTP_SignaturesObjectPage_button_select_REGEX_posXpath = "//div[@class='flex items-center pt-0']//button[text()='REGEX']"  # 选择REGEX
HTTP_SignaturesObjectPage_button_Save_Item_posXpath = "//i[@class='operate-icon iconfont icon-save']"  # 保存item按钮
HTTP_SignaturesObjectPage_button_sub_add_Item_posXpath = "//div[@class='ItemRow infinite-list-item']//i[@class='iconfont icon-Create1 cursor']"  # &添加按钮
HTTP_SignaturesObjectPage_textArea_Description_posXpath = "//div[@class='MuiTextarea-root MuiTextarea-variantOutlined MuiTextarea-colorNeutral MuiTextarea-sizeMd MuiTextarea-formControl css-v35t8h']/textarea[1]"  # HTTP_Signatures_description文本输入区Xpath
HTTP_Signatures_GroupObjectPage_textArea_Description_posXpath = "//div[@class='MuiTextarea-root MuiTextarea-variantOutlined MuiTextarea-colorNeutral MuiTextarea-sizeMd MuiTextarea-formControl css-v35t8h']/textarea[1]"  # HTTP_Signatures Group_description文本输入区Xpath
HTTP_SignaturesObjectPage_button_warningSaveYes_posXpath = "//div[@class='el-message-box__wrapper']/div/div[3]/button[2]/span"  # 提示保存ok按钮警告框
HTTP_SignaturesObjectPage_button_warningSaveCancel_posCss = '//div[@class="el-message-box__wrapper"]/div/div[3]/button[1]/span'  # 提示保存取消按钮警告框
HTTP_SignaturesObjectPage_button_cancel_posCss = "//button[@id='Cancle-_HttpSigDetail_Home_App_anonymousComponent']/span"  # Cancel按钮

# Create HTTP_Signatures Group Object 和 Edit CreateHTTP_Signatures Group   新增和编辑页
HTTP_Signatures_Group_sub_Object_addButton_posXpath = "//div[@class='CommonSubObjects']//i[@class='iconfont icon-Create1 cursor']"  # HTTP_Signatures_Group添加sub Object按钮
# main_button_audit_button_posXpath = '//div/div/form/div[8]/div/div[1]/span'
main_button_audit_button_posXpath = '//*[contains(@class,"icon-a-Adminlogs")]'
HTTP_SignaturesObjectPage_button_audit_button_posXpath = main_button_audit_button_posXpath  # Audit Logs 按钮
main_button_import_files_button_posXpath = '//button[contains(text(),"import from file")]'  # 导入文件按钮
HTTP_SignaturesObjectPage_button_import_files_button_posXpath = main_button_import_files_button_posXpath  # 导入文件按钮
HTTP_SignaturesObjectPage_button_import_files_path_button_posXpath = '//form/div/div/div/div[1]/input[@type="file"]'  # 导入文件路径
HTTP_SignaturesObjectPage_button_import_error_files_tips_posXpath = '//div/div[2]/div[2]/ul/li/div[3]/span'  # 导入错误文件提示
HTTP_SignaturesObjectPage_first_item_content_button_posXpath = '//form/div[3]/div/div/div[1]/div[1]/div[1]/div[2]/div[1]/div[1]/div/div/div[1]/div/span'  # 第一个item的内容
HTTP_Signatures_Group_sub_Object_add_new_Button_posXpath = "//i[@class='iconfont icon-Create1']"  # 新建sub_HTTP_Signatures按钮
HTTP_Signatures_Group_sub_Object_add_new_Select_one_Button_posXpath = "//ul[@x-placement='bottom-start']/li[1]"  # 新建选择HTTP_Signatures按钮
HTTP_Signatures_Group_sub_Object_add_new_Select_Group_Button_posXpath = "//ul[@x-placement='bottom-start']/li[2]"  # 新建选择HTTP_Signatures_Group按钮
HTTP_Signatures_Group_sub_Object_add_new_one_inputName_posXpath = "//div[@class='MuiBox-root css-1krxo6z']//input[@class='MuiInput-input css-fqt4w4']"  # new HTTP_Signatures input Name
HTTP_Signatures_Group_sub_Object_add_new_add_item_Button_posXpath = "//div[@class='MuiBox-root css-1krxo6z']//i[@class='iconfont icon-Create1 font-[700]']"  # new HTTP_Signatures add items Button
HTTP_Signatures_Group_sub_Object_edit_posXpath = "//i[@class='row-edit iconfont icon-Edit cursor fontsize18']"  # 修改HTTP_Signatures下的sub object
HTTP_Signatures_Select_Key_Button_posXpath = "//div[@class='type-icon-box']//input[@placeholder='Select']"  # new HTTP_Signatures select Key
HTTP_Signatures_Select_Key_Select_Set_Cookie_Button_posXpath = '//li/span[text()="Set-Cookie"]'  # Key选择Set-Cookie
HTTP_Signatures_Select_Key_Select_Content_Type_Button_posXpath = '//li/span[text()="Content-Type"]'  # Key选择Content-Type
HTTP_Signatures_Select_Key_Select_User_Agent_Button_posXpath = '//li/span[text()="User-Agent"]'  # Key选择User-Agent
HTTP_Signatures_Select_Key_Select_Cookie_Button_posXpath = '//li/span[text()="Cookie"]'  # Key选择Cookie
HTTP_Signatures_Group_sub_Object_add_new_add_item_inputName_posXpath = "//div[@class='MuiBox-root css-1krxo6z']//input[@class='MuiInput-input css-1u0jcuo']"  # new HTTP_Signatures Item input
HTTP_Signatures_Group_sub_Object_add_new_add_item_Save_Button_posXpath = "//i[@class='operate-icon iconfont icon-save']"  # new HTTP_Signatures 保存item按钮
HTTP_Signatures_Group_sub_Object_add_new_one_OK1_Button_posXpath = "//button[@id='OK-_HttpSigDetail_VDraswer_EditDraw_HttpSigDetail_Home_App_anonymousComponent']"  # new HTTP_Signatures CreateOK1
HTTP_Signatures_Group_sub_Object_add_new_one_OK1_Warning_Yes_Button_posXpath = "//div[@class='el-message-box__btns']//span[normalize-space(text())='Yes']"  # 再次确认创建new HTTP_Signatures
HTTP_Signatures_Group_sub_Object_add_new_one_OK1_Warning_Cancel_Button_posXpath = "//div[@class='el-message-box__btns']//span[normalize-space(text())='Cancel']"  # 再次确认取消new HTTP_Signatures
HTTP_Signatures_Group_sub_Object_add_new_one_Cancel2_Button_posXpath = '//div/div/div[2]/div/div/div[1]/div/div/div[1]/div[3]/button[2]/span'  # new HTTP_Signatures CreateCancel2
# link页
HTTP_Signatures_listpage_linkButton_posId = "btnCopy-_OperateBtns_ElRow_Objects_http_signature_Home_App_anonymousComponent"  # link按钮ID
HTTP_Signatures_listpage_linkSave_posXpath = '//*[@id="clusterSave-_ClusterTable_ElDialog_copyComponents_Objects_http_signature_Home_App_anonymousComponent"]'  # Cluster和Vsys保存按钮ID
HTTP_Signatures_listpage_linkAdd_posXpath = '//*[@id="temporary_form-_ClusterTable_ElDialog_copyComponents_Objects_http_signature_Home_App_anonymousComponent"]'  # 添加新的Cluster和Vsys按钮ID
HTTP_Signatures_listpage_linkOk_posXpath = '//*[@id="copyOk-_copyComponents_Objects_http_signature_Home_App_anonymousComponent"]'
# Object HTTP_Signatures===================Object HTTP_Signatures====================Object HTTP_Signatures=================Object HTTP_Signatures=======================Object HTTP_Signatures=================Object HTTP_Signatures
### Object-HTTP_Signatures
# Object HTTP_Signatures===================Object HTTP_Signatures====================Object HTTP_Signatures=================Object HTTP_Signatures=======================Object HTTP_Signatures=================Object HTTP_Signatures


# Object Keywords===================Object Keywords====================Object Keywords=================Object Keywords=======================Object Keywords=================Object Keywords
### Object-Keywords
# Object Keywords===================Object Keywords====================Object Keywords=================Object Keywords=======================Object Keywords=================Object Keywords
# Keywords list page 列表页
listPage_object_Keywords_createButton_posXpath = listPage_object_ip_address_createButton_posXpath  # create按钮id
listPage_object_Keywords_editButton_posXpath = listPage_object_ip_address_editButton_posXpath  # edit按钮id
listPage_object_Keywords_editButton_disable_posXpath = '//button[@id="appEdit-_OperateBtns_ElRow_Objects_keywords_Home_App_anonymousComponent"][@disabled="disabled"]'  # edit按钮xpath
listPage_object_Keywords_delButton_posXpath = listPage_object_ip_address_delButton_posXpath  # del按钮id
listPage_object_Keywords_del_yes_Button_posXpath = listPage_object_ip_address_del_yes_Button_posXpath  # del_yes按钮
listPage_object_Keywords_viewButton_posId = "//button[@id='appEdit-_OperateBtns_ElRow_Objects_keywords_Home_App_anonymousComponent']//p[normalize-space(text()) = 'View']"
listPage_objectSearch_Keywords_selectLabel_posXpath = listpage_search_box_posXpath  # 查询框id
# 查询框输入并选择
listPage_objectSearch_Keywords_select_Id_posXpath = '//li[@id="1-_FilteredSearch_ElRow_Objects_keywords_Home_App_anonymousComponent"]'  # 查询ID
listPage_objectSearch_Keywords_select_Name_posXpath = "//ul[@class='base-Popper-root MuiAutocomplete-listbox css-18r31z0']//span[text()='Name']"  # 查询Name
listPage_objectSearch_Keywords_select_Details_posXpath = "//ul[@class='base-Popper-root MuiAutocomplete-listbox css-18r31z0']//span[text()='Detail']"  # 查询Details
listPage_objectSearch_Keywords_select_Description_posXpath = "//ul[@class='base-Popper-root MuiAutocomplete-listbox css-18r31z0']//span[text()='Description']" # 查询Description
listPage_objectSearch_Keywords_select_CreateBy_posXpath = '//*[@id="5-_FilteredSearch_ElRow_Objects_keywords_Home_App_anonymousComponent"]'  # 查询CreateBy

listPage_objectSearch_Keywords_buttonSearch_posId = mainPage_ObjectSearch_buttonSearch_posId  # 查询按钮id
listPage_objectSearch_Keywords_buttonClear_posId = mainPage_ObjectSearch_buttonClear_posId  # 清空查询按钮id
listPage_object_Keywords_create_Keywords_Button_posId = "//ul[@class='base-Popper-root MuiMenu-root Mui-expanded MuiMenu-variantOutlined MuiMenu-colorNeutral MuiMenu-sizeMd css-1iuehdr']//li[1]"  # 创建Keywords
Create_page_import_from_file_button_xpath = main_button_import_files_button_posXpath  # 创建Keywords import button
listPage_object_Keywords_create_Keywords_Group_Button_posId = "//ul[@class='base-Popper-root MuiMenu-root Mui-expanded MuiMenu-variantOutlined MuiMenu-colorNeutral MuiMenu-sizeMd css-1iuehdr']//li[2]"  # 创建Keywords Group

listPage_profileSearch_Keywords_dropDown_item_posXpath = ""  # 下拉菜单定位
listPage_profileSearch_Keywords_input_itemContent_posXpath = ""  # 输入item的值,replaceName替换实际查询值
listPage_profileSearch_Keywords_dropDown_typeItem_posXpath = ""  # 查询中type的下拉item定位,replaceName替换实际查询值
listPage_profilTable_Keywords_tableTbody_posXpath = ""  # 列表tabel body  xpath
listPage_profilTable_Keywords_tableHeader_posXpath = ""  # 列表table 表头xpath

# Keywords list page 列表页提取元素--列表页
listPage_object_Keywords_new_ID_extract_posXpath = '//table/tbody/tr[1]/td[1]/div/div/div[4]/span'  # 提取ID
listPage_object_Keywords_new_Name_extract_posXpath = '//table/tbody/tr[1]/td[3]/div/div/div/span'  # 提取Name
listPage_object_Keywords_new_Description_extract_posXpath = '//table/tbody/tr[1]/td[6]/div/div/p'  # 提取Description
listPage_object_Keywords_new_Details_extract_posXpath = '//table/tbody/tr[1]/td[4]/div/div/div/div/div/div/span'  # 提取Detail
listPage_object_Keywords_del_after_ele_posXpath = '//div[@id="ly-table1-listcontent"]/div/div[3]/div/span'  # 删除后提示"No Data"

# Keywords list page 列表页操作
listPage_object_Keywords_select_First_object_posXpath = listPage_object_ip_address_select_First_object_posXpath  # 选择列表中第一个对象
keywords_listPage_object_searchId_posId = '1-_FilteredSearch_ElRow_Objects_keywords_Home_App_anonymousComponent'  # ID 搜索
# Create Keywords Object 和 Edit Keywords Object   新增和编辑页

KeywordsObjectPage_input_Name_posXpath = "//div[@class='MuiInput-root MuiInput-variantOutlined MuiInput-colorNeutral MuiInput-sizeMd MuiInput-formControl css-uzf287']/input"  # name输入框Xpath

KeywordsObjectPage_input_searchFor_posId = mainPage_ObjectSearch_buttonSearch_Item_posId  # search for item搜索输入框id
KeywordsObjectPage_button_addItem_posXpath = mainPage_ObjectSearch_buttonAddItem_posXpath  # 添加item按钮id
KeywordsObjectPage_first_Item_content_posXpath = "(//div[@data-testid='virtuoso-item-list']//div[@class='keyword-object-expression']/div[1]/span)[1]"  # 第一个item的内容
main_first_Item_count_posXpath = "//div[@class='flex flex-row justify-between mt-[4px]']/div[2]/span[2]"
KeywordsObjectPage_first_Item_count_posXpath = main_first_Item_count_posXpath  ## 断言新增item的个数
KeywordsObjectPage_Audit_Logs_Button_posXpath = '//div/div/div[3]/div/div/form/div[8]/div/div[1]/span'  # Audit Logs编辑框
KeywordsObjectPage_Audit_Logs_First_create_posXpath = '//table/tbody/tr/td[3]/div'  # Audit Logs第一条编辑记录
KeywordsObjectPage_Audit_Logs_First_edit_posXpath = '//div/div/div/div/div[2]/div[2]/div/div[2]/div[3]/table/tbody/tr[2]'  # Audit Logs第二条编辑记录
KeywordsObjectPage_button_item_select_HEX_posXpath = "//div[@class='flex items-center pt-0']//button[text()='HEX']"  # HEX按钮
KeywordsObjectPage_button_item_select_REGEX_posXpath = "//div[@class='flex items-center pt-0']//button[text()='REGEX']"  # REGEX按钮
KeywordsObjectPage_button_inputItem_posXpath = "//div[@class='keyword-object-expression']//input[@class='MuiInput-input css-1u0jcuo']"  # 输入item内容
KeywordsObjectPage_button_add_Item_input_posXpath = "//div[@class='keyword-object-expression']//i[@class='iconfont icon-Create1 font-[700]']"
KeywordsObjectPage_button_Save_Item_posXpath = "//i[@class='operate-icon iconfont icon-save']"  # 保存item按钮
KeywordsObjectPage_import_files_ok1_posXpath = "//div[@class='relative w-[100%] h-[100%] pt-[46px] pb-[56px] flex overflow-hidden']//button[text()='OK']"  # 导入文件确定ok
KeywordsObjectPage_textArea_Description_posXpath = "//div[@class='MuiTextarea-root MuiTextarea-variantOutlined MuiTextarea-colorNeutral MuiTextarea-sizeMd MuiTextarea-formControl css-v35t8h']/textarea[1]"  # Keywords_description文本输入区Xpath
Keywords_GroupObjectPage_textArea_Description_posXpath = "//div[@class='MuiTextarea-root MuiTextarea-variantOutlined MuiTextarea-colorNeutral MuiTextarea-sizeMd MuiTextarea-formControl css-v35t8h']/textarea[1]"  # Keywords Group_description文本输入区Xpath
KeywordsObjectPage_button_SaveYes_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']"  # OK按钮
KeywordsObjectPage_button_warningSaveYes_posXpath = "//div[@class='el-message-box__wrapper']/div/div[3]/button[2]/span"  # 提示保存ok按钮警告框
KeywordsObjectPage_button_warningSaveCancel_posCss = '//div[@class="el-message-box__wrapper"]/div/div[3]/button[1]/span'  # 提示保存取消按钮警告框
KeywordsObjectPage_button_cancel_posCss = "//div[@class=' keyword-object-page MuiBox-root css-o7xelj']//button[text()='Cancel']"  # Cancel按钮
KeywordsObjectPage_button_range_posXpath = "//div[@class='keyword-object-expression']//input[@class='MuiCheckbox-input css-1jj0cvj']"
KeywordsObjectPage_error_text_posXpath = "//div[@class='keyword-object-expression']/div[2]"
# Create Keywords Group Object 和 Edit CreateKeywords Group   新增和编辑页
main_ObjectPage_tips_Name_input_Xpath = "//div[contains(@class,'object-name')]//div[2]"
KeywordsObjectPage_tips_Name_input_Xpath = main_ObjectPage_tips_Name_input_Xpath  # 删除失败,Name提示框
Keywords_list_reference_content_first_raw = "//div[@class='overflow-y-auto h-[100%] pt-0']//table/tbody/tr[1]"  # 列表页引用第一行
Keywords_list_reference_content_second_raw = "//div[@class='overflow-y-auto h-[100%] pt-0']//table/tbody/tr[2]"  # 列表引用第二行
Keywords_ObjectPage_content_inputItem1_posXpath = '//div/div[1]/div[1]/div[1]/div[2]/div[1]/div[1]/div/div/div[1]/span'  # 第一行输入item的内容
Keywords_Group_sub_Object_addButton_posXpath = "//div[@class='keyword-object-included_sub_object_uuids']"  # Keywords_Group添加sub Object按钮
KeywordsObjectPage_Keywords_button_input_more_Item_posXpath = "(//div[@class='MuiFormControl-root MuiFormControl-vertical MuiFormControl-sizeMd css-w2y0fh']//input[@class='MuiInput-input css-1u0jcuo'])['replace']"  # 输入keywords_item内容
Keywords_Group_sub_Object_add_new_Button_posXpath = "//i[@class='iconfont icon-Create1']"  # 新建sub_Keywords按钮
Keywords_Group_sub_Object_edit_posXpath = "//div[@class='list-container']//i[@class='row-edit iconfont icon-Edit cursor fontsize18']"  # 修改Keyword下的sub object
Keywords_Group_sub_Object_add_new_Select_one_Button_posXpath = "//ul[@class='base-Popper-root MuiMenu-root Mui-expanded MuiMenu-variantOutlined MuiMenu-colorNeutral MuiMenu-sizeMd css-131n2dh']//li[1]"  # 新建选择Keywords按钮
Keywords_Group_sub_Object_add_new_Select_Group_Button_posXpath = "//ul[@class='base-Popper-root MuiMenu-root Mui-expanded MuiMenu-variantOutlined MuiMenu-colorNeutral MuiMenu-sizeMd css-131n2dh']//li[2]"  # 新建选择Keywords_Group按钮
Keywords_Group_sub_Object_add_new_one_inputName_posXpath = "//div[@class='MuiBox-root css-1krxo6z']//input[@class='MuiInput-input css-fqt4w4']"  # new Keywords input Name
Keywords_Group_sub_Object_add_new_add_item_Button_posXpath = "//div[@class='MuiBox-root css-1krxo6z']//i[@class='iconfont icon-Create1 font-[700]']"  # new Keywords add items Button
Keywords_Group_sub_Object_add_new_addIP_item_inputName_posXpath = "//div[@class='MuiBox-root css-1krxo6z']//input[@class='MuiInput-input css-1u0jcuo']"  # new Keywords Item input
Keywords_Group_sub_Object_add_new_add_itemIP_Save_Button_posXpath = "//i[@class='operate-icon iconfont icon-save']"  # new Keywords 保存item按钮
Keywords_Group_sub_Object_add_new_one_OK1_Button_posXpath = "//div[@class='MuiBox-root css-1krxo6z']//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']"  # new Keywords CreateOK1
Keywords_Group_sub_Object_add_new_one_OK1_Warning_Yes_Button_posXpath = "//div[@class='el-message-box__btns']//span[normalize-space(text())='Yes']"  # 再次确认创建new Keywords
Keywords_Group_sub_Object_add_new_one_OK1_Warning_Cancel_Button_posXpath = '//div[@class="el-message-box__wrapper"]/div/div[3]/button[1]/span'  # 再次确认取消new Keywords
Keywords_Group_sub_Object_add_new_one_Cancel2_Button_posXpath = '//div/div/div[2]/div/div/div[1]/div/div/div[1]/div[3]/button[2]/span'  # new Keywords CreateCancel2
keywords_ObjectPage_button_OK_posXpath = "//*[@id='OK-_keywordsDetail_Home_App_anonymousComponent']"  # 详情页ok按钮Xpath
Keywords_Group_sub_Object_exclude_open_posXpath = "//div[@class='keyword-object-']"
Keywords_Group_sub_object_group_include_add_button_posXpath = "//div[@class='keyword-object-included_sub_object_uuids']//i[@class='iconfont icon-Create1 font-[700]']"
Keywords_Group_sub_object_group_exclude_add_button_posXpath = "//div[@class='keyword-object-excluded_sub_object_uuids']//i[@class='iconfont icon-Create1 font-[700]']"
Keywords_ObjectGroupDetailPage_subObjects_addButton_normalAdd_posXpath = "//div[@class='keyword-object-included_sub_object_uuids']//i[@class='iconfont icon-Create1 text-[18px] font-[700] text-[--color-primary] cursor-pointer']"
# link页
keywords_listpage_linkButton_posId = "btnCopy-_OperateBtns_ElRow_Objects_keywords_Home_App_anonymousComponent"  # link按钮ID
keywords_listpage_linkSave_posXpath = '//*[@id="clusterSave-_ClusterTable_ElDialog_copyComponents_Objects_keywords_Home_App_anonymousComponent"]'  # Cluster和Vsys保存按钮ID
keywords_listpage_linkAdd_posXpath = '//*[@id="temporary_form-_ClusterTable_ElDialog_copyComponents_Objects_keywords_Home_App_anonymousComponent"]'  # 添加新的Cluster和Vsys按钮ID
keywords_listpage_linkOk_posXpath = '//*[@id="copyOk-_copyComponents_Objects_keywords_Home_App_anonymousComponent"]'
# Object Keywords===================Object Keywords====================Object Keywords=================Object Keywords=======================Object Keywords=================Object Keywords
### Object-Keywords
# Object Keywords===================Object Keywords====================Object Keywords=================Object Keywords=======================Object Keywords=================Object Keywords


# Object Categories elements area top===================Object Categories elements area top===================Object Categories elements area top===================Object Categories elements area top===================Object Categories elements area top===================
# Object Categories elements area top===================Object Categories elements area top===================Object Categories elements area top===================Object Categories elements area top===================Object Categories elements area top===================
global_loading_elem_whenNotDisplaied_xpath = '//*[@class="el-loading-mask" and @style="display: none;"]'  # Loading不展示时的Xpath

admin_listPage_object_categories_createButton_posId = 'objectCreate-_OperateBtns_ElRow_Objects_fqdn_category_Home_App_anonymousComponent'  # create按钮id
admin_listPage_object_categories_createButton_category_posId = 'object0-_OperateBtns_ElRow_Objects_fqdn_category_Home_App_anonymousComponent'  # create按钮下category选项id
admin_listPage_object_categories_editButton_posId = "appEdit-_OperateBtns_ElRow_Objects_fqdn_category_Home_App_anonymousComponent"  # edit按钮id
admin_listPage_object_categories_delButton_posId = "appDel-_OperateBtns_ElRow_Objects_fqdn_category_Home_App_anonymousComponent"  # del按钮id
# admin_listPage_second_row_fourth_column_posXpath = '//table/tbody/tr[1]/td[4]//p'  # 第二行,第四列(description)
# admin_listPage_second_row_fifth_column_posXpath = '//table/tbody/tr[1]/td[5]/div/div/div/div'  # 第二行、第五列(Reference Count)
admin_listPage_first_row_checkBox_posXpath = url_listPage_first_row_checkBox_posXpath  # 列表页第一行对象多选框Xpath
listPage_object_cate_tableDetails_firstRowValues_div_posXpaths = listPage_object_urls_tableDetails_firstRowValues_div_posXpaths  # list页点击Details后展示的数据Xpaths_div
# listPage->Tips dialog  列表页 tips对话框
admin_listPage_object_cate_button_yes_posCss = listPage_object_urls_button_yes_posCss  # 删除提示的Tips的yes按钮Xpath
admin_listPage_object_cate_button_no_posCss = listPage_object_urls_button_no_posCss  # 删除提示的Tips的No按钮Xpath
# object Categories列表页
# cate_listPage_object_exportButton_posXpath = '//button[contains(@id,"objectExport-_importAndExport_ElRow_Objects_fqdn_category_Home_App_anonymousComponent")]'  # 导出文件按钮 Xpath
# cate_listPage_object_exportButton_posXpath = '//button[contains(@class,"importAndExport")]'  # 导出文件按钮 Xpath
cate_listPage_object_importButton_posXpath = listPage_object_urls_importButton_posXpath  # 导入文件按钮 Xpath
cate_listPage_object_exportButton_posXpath = listPage_object_urls_exportButton_posXpath  # 导出文件按钮 Xpath
cate_listPage_object_exportPopYes_posXpath = listPage_object_urls_exportPopYes_posXpath  # 导出数据选择确认弹窗 yes Xpath
cate_listPage_first_row_checkBox_posXpath = url_listPage_first_row_checkBox_posXpath  # 列表页第一行对象多选框Xpath
cate_listPage_object_exportPopNo_posXpath = listPage_object_urls_exportPopNo_posXpath  # 导出数据选择确认弹窗 no Xpath
cate_listPage_object_exportPopSelectAll_posXpath = listPage_object_urls_exportPopSelectAll_posXpath  # 导出数据选择确认弹窗全选CheckBox Xpathcat
cate_listPage_object_exportPopCheckbox_posXpaths = listPage_object_urls_exportPopCheckbox_posXpaths  # 导出数据选择确认弹窗CheckBox(多个)
cate_listPage_object_clearCounterPopYes_posXpath = listPage_object_urls_clearCounterPopYes_posXpath  # Clear Counter 选择确认弹窗中的Yes确认按钮
cate_object_columnSetting_descriptionOption_posXpath = listPage_object_urls_columnSetting_descriptionOption_posXpath  # 列设置中的description选项元素Xpath
cate_listPage_usage_policies_elems_posXpaths = url_listPage_usage_policies_elems_posXpaths  # 点击Reference count后展开的侧滑页面,其中的引用条数
cate_listPage_common_reference_count_elem_posXpath = '(//div[contains(@id,"-_Objects_fqdn_category_Home_App_anonymousComponent") and text()={}])[1]'  # reference_count通用模板
cate_listPage_object_tableCheckbox_firstSingleObject_posXpath = listPage_object_urls_tableDetails_firstSingleObject_posXpath  # 列表页中第一个列表页中第一个Single Object 的CheckBox
# cate_object_urls_tableDetails_singleObject_posXpaths = listPage_object_urls_tableDetails_singleObject_posXpaths  # 列表页中所有对象(不包含对象组)的DetailsXpath
cate_listPage_object_tableCheckbox_singleObject_posXpaths = listPage_object_urls_tableCheckbox_singleObject_posXpaths  # 列表页中Object 的CheckBoxs(不包含Group和锁定对象)
cate_listPage_object_tableCheckbox_notLocalVsys_objectOrGroup_posXpaths = listPage_object_urls_tableCheckbox_notLocalVsys_objectOrGroup_posXpaths  # 列表页中不是本Vsys的对象或对象组的CheckBox
cate_listPage_object_tableCheckbox_firstSingleObject_posXpaths = listPage_object_urls_tableDetails_firstSingleObject_posXpath  # 列表页中第一个Object 的CheckBox(不包含Group和锁定对象)
cate_listPage_object_tableCheckbox_firstNotLocalVsys_objectOrGroup_posXpath = listPage_object_urls_tableCheckbox_firstNotLocalVsys_objectOrGroup_posXpath  # 列表页中第一个不是本Vsys的对象或对象组的CheckBox
cate_listPage_object_tableCheckbox_firstObjectGroup_posXpath = listPage_object_urls_tableDetails_firstObjectGroup_posXpath  ## 列表页中第一个Object Group 的CheckBox(不包含single Object和锁定对象)
cate_listPage_object_tableCheckbox_objectGroup_posXpaths = listPage_object_urls_tableCheckbox_objectGroup_posXpaths  ## 列表页Object Group 的CheckBoxs(不包含single Object和锁定对象)
cate_ObjectDetailPage_clearCounter_posXpath = url_ObjectDetailPage_clearCounter_posXpath  # Clear Counter 按钮
cate_listPage_editButton_posId = 'appEdit-_OperateBtns_ElRow_Objects_fqdn_category_Home_App_anonymousComponent'  # 列表页 Edit 按钮ID
cate_listPage_deleteButton_posId = 'appDel-_OperateBtns_ElRow_Objects_fqdn_category_Home_App_anonymousComponent'  # 列表页 delete 按钮ID
cate_listPage_yesButton_posXpath = '//button[@class="el-button delComponents-ok role-disconnect-btn el-button--default el-button--small"]//span[contains(text(),"Yes")]'  # 列表页 yes 按钮ID
# link页
cate_listpage_linkButton_posId = "btnCopy-_OperateBtns_ElRow_Objects_fqdn_category_Home_App_anonymousComponent"  # link按钮ID
cate_listpage_linkSave_posXpath = '//*[@id="clusterSave-_ClusterTable_ElDialog_copyComponents_Objects_fqdn_category_Home_App_anonymousComponent"]'  # Cluster和Vsys保存按钮ID
cate_listpage_linkAdd_posXpath = '//*[@id="temporary_form-_ClusterTable_ElDialog_copyComponents_Objects_fqdn_category_Home_App_anonymousComponent"]'  # 添加新的Cluster和Vsys按钮ID
cate_listpage_linkOk_posXpath = '//*[@id="copyOk-_copyComponents_Objects_fqdn_category_Home_App_anonymousComponent"]'

# 列表页搜索选项
cate_listPage_object_input_posId = 'select-label'
cate_listPage_object_searchId_posId = '1-_FilteredSearch_ElRow_Objects_fqdn_category_Home_App_anonymousComponent'  # ID 搜索
cate_listPage_object_ssearchName_posId = '2-_FilteredSearch_ElRow_Objects_fqdn_category_Home_App_anonymousComponent'  # name 搜索
cate_listPage_object_searchDetails_posId = '6-_FilteredSearch_ElRow_Objects_fqdn_category_Home_App_anonymousComponent'  # details搜索
cate_listPage_object_searchDescription_posId = '4-_FilteredSearch_ElRow_Objects_fqdn_category_Home_App_anonymousComponent'  # Description 搜索
cate_listPage_object_searchCreatedBy_posId = '5-_FilteredSearch_ElRow_Objects_fqdn_category_Home_App_anonymousComponent'  # created by 搜索
cate_listPage_object_tableDetails_detailsRow_firstDetailValue_posXpaths = listPage_object_urls_tableDetails_detailsRow_firstDetailValue_posXpaths  # 列表页某行第一个details值 Xpath
# cate_list_objectPage_second_row_third_column_posXpath = '(//table[@class="el-table__body"]/tbody//td)[3]//span'  # 第二行、第三列(Name)
# cate_list_objectPage_second_row_fifth_column_posXpath = '//table/tbody/tr[1]/td[5]//p'  # 第二行、第五列
# cate_list_objectPage_second_row_sixth_column_posXpath = '(//table/tbody/tr[1]/td[6]/div/div//div)[last()]'  # 第二行、第六列
cate_listPage_noDataText_posXpath = url_listPage_noDataText_posXpath  # 列表页无数据时的no data文本 Xpath
# Categories详情页
cate_ObjectPage_InputName_posXpath = '//*[@id="router-view-container"]//*[@placeholder="Please enter the content" and @type]'
cate_ObjectDetailPage_nameInput_posXpath = '//div[@data-label="Name"]//input'  # 对象详情页Name输入框Xpath
cate_ObjectDetailPage_nameLenthNumber_posXpath = url_ObjectDetailPage_nameLenthNumber_posXpath  # Name输入框中字符长度数值Xpath
cate_ObjectDetailPage_item_search_posId = url_ObjectDetailPage_object_ip_search_posId  # 对象详情页对象搜索框 ID
cate_ObjectDetailPage_item_addButton_posId = url_ObjectDetailPage_addButton_posXpath  # item下"+"按钮
cate_ObjectDetailPage_itemValueInput_posId = 'onlyMarvel'  # item 下value输入框Xpath
cate_ObjectDetailPage_itemsText_posXpath = '//div[@class="ItemRow infinite-list-item" and  not(@style)]//div[@class="item-box"]//div[@class="v-fill-available row-info"]'  # Items 列表下所有Item的文本元素
cate_ObjectDetailPage_itemValueInput_posXpath = '//*[@id="onlyMarvel"]'
cate_ObjectDetailPage_item_subAddButton_poId = url_ObjectDetailPage_item_subAddButton_poXpath  # 单个Item中新增多条数据的"+"按钮
# cate_ObjectDetailPage_itemSaveButton_poXpath = '//div[@class="el-form-item margin-bottom6 el-form-item--small"]//i[@class="operate-icon iconfont icon-save save-color"]'  # item 下value保存按钮Xpath
cate_ObjectDetailPage_itemSaveButton_poXpath = url_ObjectDetailPage_itemSaveButton_posXpath  # item 下value保存按钮Xpath
cate_ObjectDetailPage_descriptionInput_posXpath = url_ObjectDetailPage_description_posXpath  # Create Category 页面下Description input Xpath
cate_ObjectDetailPage_auditLogs_posXpath = url_ObjectDetailPage_auditLogs_posXpath  # Audit Logs Xpath
cate_ObjectDetailPage_auditLogsDrawer_firstRowLog_checkBox_posXpath = url_ObjectDetailPage_auditLogsDrawer_firstRowLog_checkBox_posXpath  # Audit Logs 侧滑页第一条日志CheckBox Xpath
cate_ObjectDetailPage_auditLogsDrawer_compareButton_posXpath = url_ObjectDetailPage_auditLogsDrawer_compareButton_posXpath  # Audit Logs 侧滑页Compare 按钮Xpath
cate_ObjectDetailPage_auditLogsDrawer_compareDrawer_operationText_posXpath = url_ObjectDetailPage_auditLogsDrawer_compareDrawer_operationText_posXpath  # Audit Logs 侧滑页点击Compare后的 operation text Xpath
cate_ObjectDetailPage_itemsTotal_posXpath = url_ObjectDetailPage_itemsTotal_posXpath  # Items Total Xpath
cate_ObjectDetailPage_importFromFile_posXpath = url_ObjectDetailPage_importFromFile_posXpath  # Import From File 按钮Xpath
cate_ObjectDetailPage_pleaseUpload_posXpath = url_ObjectDetailPage_pleaseUpload_posXpath  # Please Upload input标签Xpath
cate_ObjectDetailPage_importUrlOk_posXpath = url_ObjectDetailPage_importUrlOk_posXpath  # Import URL 下的OK按钮Xpath

cate_ObjectDetailPage_mainOkButton_poId = 'OK-_fqdnCategorieDetail_Home_App_anonymousComponent'  # OK按钮ID
cate_ObjectDetailPage_okButton_yes_posXpath = url_ObjectDetailPage_okButton_yes_posXpath  # 确认弹窗的“Yes”按钮
# Object Categories elements area bottom===================Object Categories elements area bottom===================Object Categories elements area bottom===================Object Categories elements area bottom===================Object Categories elements area bottom===================
# Object Categories elements area bottom===================Object Categories elements area bottom===================Object Categories elements area bottom===================Object Categories elements area bottom===================Object Categories elements area bottom===================

# Object Accounts elements area top===================Object Accounts elements area top===================Object Accounts elements area top===================Object Accounts elements area top===================Object Accounts elements area top===================
# Object Accounts elements area top===================Object Accounts elements area top===================Object Accounts elements area top===================Object Accounts elements area top===================Object Accounts elements area top===================
# 列表页
acc_listPage_createButton_posXpath = listPage_object_ip_address_createButton_posXpath  # 列表页create 按钮ID
acc_listPage_createButton_account_posId = "//ul[@class='base-Popper-root MuiMenu-root Mui-expanded MuiMenu-variantOutlined MuiMenu-colorNeutral MuiMenu-sizeMd css-1iuehdr']//li[1]"  # 列表页create下account ID
acc_listPage_createButton_accountGroup_posId = "//ul[@class='base-Popper-root MuiMenu-root Mui-expanded MuiMenu-variantOutlined MuiMenu-colorNeutral MuiMenu-sizeMd css-1iuehdr']//li[2]"  # 列表页create下account group ID
acc_listPage_editButton_posXpath = listPage_object_ip_address_editButton_posXpath  # 列表页 Edit 按钮ID
acc_listPage_deleteButton_posXpath = listPage_object_ip_address_delButton_posXpath  # 列表页 Delete 按钮ID
acc_object_columnSetting_descriptionOption_posXpath = listPage_object_urls_columnSetting_descriptionOption_posXpath  # 列设置中的description选项元素Xpath
acc_listPage_first_row_checkBox_posXpath = listPage_object_ip_address_select_First_object_posXpath  # 列表页第一行对象多选框Xpath
acc_listPage_noDataText_posXpath = url_listPage_noDataText_posXpath  # 列表页无数据时的no data文本 Xpath
acc_listPage_object_importButton_posXpath = listPage_object_urls_importButton_posXpath  # 导入文件按钮 Xpath
acc_listPage_object_exportButton_posXpath = listPage_object_urls_exportButton_posXpath  # 导出文件按钮 Xpath
acc_listPage_object_exportPopYes_posXpath = listPage_object_urls_exportPopYes_posXpath  # 导出数据选择确认弹窗 yes Xpath
acc_listPage_object_clearCounterPopYes_posXpath = listPage_object_urls_clearCounterPopYes_posXpath  # Clear Counter 选择确认弹窗中的Yes确认按钮
acc_listPage_object_exportPopNo_posXpath = listPage_object_urls_exportPopNo_posXpath  # 导出数据选择确认弹窗 no Xpath
acc_listPage_object_exportPopSelectAll_posXpath = listPage_object_urls_exportPopSelectAll_posXpath  # 导出数据选择确认弹窗全选CheckBox Xpathcat
acc_listPage_object_exportPopCheckbox_posXpaths = listPage_object_urls_exportPopCheckbox_posXpaths  # 导出数据选择确认弹窗CheckBox(多个)
acc_listPage_object_tableDetails_firstRowValues_div_posXpaths = listPage_object_urls_tableDetails_firstRowValues_div_posXpaths  # list页点击Details后展示的数据Xpaths_div
acc_listPage_object_tableDetails_selected_detailsRow_posXpaths = listPage_object_urls_tableDetails_selected_detailsRow_posXpaths  # list页被选中的对象details 值Xpath
acc_listPage_object_tableCheckbox_posXpaths = listPage_object_urls_tableCheckbox_posXpaths  # 列表页CheckBox(50)
acc_listPage_object_tableCheckbox_singleObject_posXpaths = listPage_object_urls_tableCheckbox_singleObject_posXpaths  # 列表页中Object 的CheckBoxs(不包含Group和锁定对象)
acc_listPage_object_tableCheckbox_firstSingleObject_posXpath = listPage_object_urls_tableDetails_firstSingleObject_posXpath  # 列表页中第一个Object 的CheckBox(不包含Group和锁定对象)
acc_listPage_object_tableCheckbox_objectGroup_posXpaths = listPage_object_urls_tableCheckbox_objectGroup_posXpaths  # 列表页对象组的CheckBox(多个)
acc_listPage_object_tableCheckbox_firstObjectGroup_posXpath = listPage_object_urls_tableDetails_firstObjectGroup_posXpath  # 列表页中第一个Object Group 的CheckBox
acc_listPage_object_tableCheckbox_notLocalVsys_objectOrGroup_posXpaths = listPage_object_urls_tableCheckbox_notLocalVsys_objectOrGroup_posXpaths  # 列表页中不是本Vsys的对象或对象组的CheckBox
acc_listPage_object_tableCheckbox_firstNotLocalVsys_objectOrGroup_posXpath = listPage_object_urls_tableCheckbox_firstNotLocalVsys_objectOrGroup_posXpath  # 列表页中第一个不是本Vsys的对象或对象组的CheckBox
acc_listPage_object_tableDetails_singleObject_posXpaths = listPage_object_urls_tableDetails_singleObject_posXpaths  # 列表页中所有对象(不包含对象组)的DetailsXpath
acc_listPage_object_tableCheckbox_selectedCheckBox_posXpaths = listPage_object_urls_tableDetails_selected_checkBox_posXpaths  # list页被选中的对象 CheckBox Xpath
## listPage->Tips dialog  列表页 tips对话框
acc_listPage_object_delete_yesButton_posXpath = "//div[@class='MuiPaper-root MuiPaper-elevation MuiPaper-rounded MuiPaper-elevation24 MuiDialog-paper MuiDialog-paperScrollPaper MuiDialog-paperWidthSm css-xguxzj']//button[text()='Yes']"  # 删除提示的Tips的yes按钮Xpath
acc_listPage_object_urls_delete_noButton_posXpath = "//div[@class='MuiPaper-root MuiPaper-elevation MuiPaper-rounded MuiPaper-elevation24 MuiDialog-paper MuiDialog-paperScrollPaper MuiDialog-paperWidthSm css-xguxzj']//button[text()='No']"  # 删除提示的Tips的No按钮Xpath

# link页
acc_listpage_linkButton_posId = "btnCopy-_OperateBtns_ElRow_Objects_account_Home_App_anonymousComponent"  # link按钮ID
acc_listpage_linkSave_posXpath = '//*[@id="clusterSave-_ClusterTable_ElDialog_copyComponents_Objects_account_Home_App_anonymousComponent"]'  # Cluster和Vsys保存按钮ID
acc_listpage_linkAdd_posXpath = '//*[@id="temporary_form-_ClusterTable_ElDialog_copyComponents_Objects_account_Home_App_anonymousComponent"]'  # 添加新的Cluster和Vsys按钮ID
acc_listpage_linkOk_posXpath = '//*[@id="copyOk-_copyComponents_Objects_account_Home_App_anonymousComponent"]'

# 列表页搜索选项
acc_listPage_object_fuzzySearch_posXpath = listPage_object_urls_fuzzySearch_posXpath  # 模糊搜索选项x
acc_listPage_object_searchId_posId = '1-_FilteredSearch_ElRow_Objects_account_Home_App_anonymousComponent'  # ID 搜索
acc_listPage_object_searchName_posId = "//ul[@class='base-Popper-root MuiAutocomplete-listbox css-18r31z0']//span[text()='Name']"  # name 搜索
acc_listPage_object_searchDetails_posId = "//ul[@class='base-Popper-root MuiAutocomplete-listbox css-18r31z0']//span[text()='Detail']"  # details搜索
acc_listPage_object_searchDescription_posId = "//ul[@class='base-Popper-root MuiAutocomplete-listbox css-18r31z0']//span[text()='Description']"  # Description 搜索
acc_listPage_object_searchCreatedBy_posId = '5-_FilteredSearch_ElRow_Objects_account_Home_App_anonymousComponent'  # created by 搜索
acc_listPage_object_tableDetails_detailsRow_firstDetailValue_posXpaths = listPage_object_urls_tableDetails_detailsRow_firstDetailValue_posXpaths  # 列表页某行第一个details值 Xpath

# 对象详情页
acc_ObjectDetailPage_nameInput_posXpath = url_ObjectDetailPage_nameInput_posXpath  # Name输入框Xpath
acc_ObjectDetailPage_nameLenthNumber_posXpath = url_ObjectDetailPage_nameLenthNumber_posXpath  # Name输入框中字符长度数值Xpath
acc_ObjectDetailPage_item_addButton_poXpath = url_ObjectDetailPage_addButton_posXpath  # item下"+"按钮
acc_ObjectDetailPage_item_subAddButton_poId = "//div[@class='account-object-expression']//i[@class='iconfont icon-Create1 font-[700]']"  # 单个Item中新增多条数据的"+"按钮
# acc_ObjectDetailPage_item_subAddButton_poId = '//*[@class="item-box"]//*[contains(@class,"addobject")]'  # 单个Item中新增多条数据的"+"按钮
acc_ObjectDetailPage_itemValueInput_poXpath = "//input[@class='MuiInput-input css-1u0jcuo']"  # item 下value输入框Xpath
acc_ObjectDetailPage_itemSaveButton_poXpath = url_ObjectDetailPage_itemSaveButton_posXpath  # item 下value保存按钮Xpath
acc_ObjectDetailPage_item_search_posXpath = url_ObjectDetailPage_object_ip_search_posXpath  # item 下搜索框id
acc_ObjectDetailPage_itemsText_posXpath = "//div[@data-testid='virtuoso-item-list']//div[@class='leading-[24px]']"  # Items 列表下所有Item的文本元素
acc_ObjectDetailPage_description_posXpath = "//div[@class='account-object-description']//textarea[1]"  # 对象详情页面下Description input Xpath
acc_ObjectDetailPage_auditLogs_posXpath = url_ObjectDetailPage_auditLogs_posXpath  # Audit Logs Xpath
acc_ObjectDetailPage_auditLogsDrawer_firstRowLog_checkBox_posXpath = url_ObjectDetailPage_auditLogsDrawer_firstRowLog_checkBox_posXpath  # Audit Logs 侧滑页第一条日志CheckBox Xpath
acc_ObjectDetailPage_auditLogsDrawer_compareButton_posXpath = url_ObjectDetailPage_auditLogsDrawer_compareButton_posXpath  # Audit Logs 侧滑页Compare 按钮Xpath
acc_ObjectDetailPage_auditLogsDrawer_compareDrawer_operationText_posXpath = url_ObjectDetailPage_auditLogsDrawer_compareDrawer_operationText_posXpath  # Audit Logs 侧滑页点击Compare后的 operation text Xpath
acc_ObjectDetailPage_itemsTotal_posXpath = url_ObjectDetailPage_itemsTotal_posXpath  # Items Total Xpath
acc_ObjectDetailPage_clearCounter_posXpath = url_ObjectDetailPage_clearCounter_posXpath  # Clear Counter 按钮
acc_ObjectDetailPage_objectStatistics_dropDown_posXpath = "//div[@class='MuiSelect-root MuiSelect-variantOutlined MuiSelect-colorNeutral MuiSelect-sizeMd css-1lceg5i']"  # Statistics type下拉框
acc_ObjectDetailPage_objectStatistics_elaborate_posXpath = "//ul[@class='base-Popper-root MuiSelect-listbox Mui-expanded css-1ufo3gk']//*[text()='Elaborate']"  # object_statistics下的Elaborate选项
acc_ObjectDetailPage_objectStatistics_brief_posXpath = "//ul[@class='base-Popper-root MuiSelect-listbox Mui-expanded css-1ufo3gk']//*[text()='Brief']"  # object_statistics下的 Brief 选项
acc_ObjectDetailPage_objectStatistics_none_posXpath = "//ul[@class='base-Popper-root MuiSelect-listbox Mui-expanded css-1ufo3gk']//*[text()=’None‘]"  # object_statistics下的 None 选项
acc_ObjectDetailPage_dupAlert_posXpath = "//i[@class='iconfont icon-jinggao1 text-[var(--color-btn-warning)] px-[4px] text-[18px]']"  # item重复提示
acc_ObjectDetailPage_dupAlert_duplicateListTotal_posXpath = '//div[@class="DuplicateList list-box"]//p[contains(@class,"total")]'  # duplicateList中的“Total:xx”
acc_ObjectDetailPage_importedFile_posXpath = url_ObjectDetailPage_importedFile_posXpath  # 导入文件元素位置(Import From File 按钮旁)
acc_ObjectDetailPage_importedFile_delete_posXpath = url_ObjectDetailPage_importedFile_delete_posXpath  # 文件删除按钮
acc_ObjectDetailPage_importedFile_download_posXpath = url_ObjectDetailPage_importedFile_download_posXpath  # 文件下载按钮
## 导入侧滑窗
acc_ObjectDetailPage_importFromFile_posXpath = url_ObjectDetailPage_importFromFile_posXpath  # Import From File 按钮Xpath
acc_ObjectDetailPage_importFromFile_button_posXpath = url_ObjectDetailPage_importFromFile_button_posXpath  # Import From File 按钮Xpath
acc_ObjectDetailPage_pleaseUpload_posXpath = url_ObjectDetailPage_pleaseUpload_posXpath  # Please Upload input标签Xpath
acc_ObjectDetailPage_importUrlOk_posXpath = url_ObjectDetailPage_importUrlOk_posXpath  # Import 页面 下的OK按钮Xpath
acc_ObjectDetailPage_importDrawer_importTipsValue_posXpath_template = '//div[@class="drawer-box"]//div[@class="importTips"]//td[count(//div[@class="drawer-box"]//div[@class="importTips"]//th[@title="{}"]/preceding-sibling::th)+1]'  # Import 页面下的Tips Value值
ObjectDetailPage_importDrawer_importTipsValue_Valid_posXpath = "//div[@class='MuiBox-root css-70qvj9']//tbody[@class='MuiTableBody-root css-1xnox0e']//th"
ObjectDetailPage_importDrawer_importTipsValue_InvalidFormat_posXpath = "//div[@class='MuiBox-root css-70qvj9']//tbody[@class='MuiTableBody-root css-1xnox0e']//td[1]"
ObjectDetailPage_importDrawer_importTipsValue_Duplicates_current_file_posXpath = "//div[@class='MuiBox-root css-70qvj9']//tbody[@class='MuiTableBody-root css-1xnox0e']//td[2]"
ObjectDetailPage_importDrawer_importTipsValue_Duplicates_global_objects_posXpath = "//div[@class='MuiBox-root css-70qvj9']//tbody[@class='MuiTableBody-root css-1xnox0e']//td[3]"
ObjectDetailPage_importDrawer_importTipsValue_Total_posXpath = "//div[@class='MuiBox-root css-70qvj9']//tbody[@class='MuiTableBody-root css-1xnox0e']//td[4]"
ObjectDetailPage_importDrawer_importTable_Failed_items_posXpath = '//i[@class="iconfont icon-Dashboarddisablepolicy text-[var(--color-error)] pr-[4px]"]'
ObjectDetailPage_importDrawer_importTable_Total_posXpath ="(//div[@class='flex-1 mt-[20px]']//div[@class='flex-1 flex items-center justify-center undefined']//span[@class='text-textColor'])[1]"
# 对象组详情页
acc_ObjectGroupDetailPage_subObjects_addButton_normalAdd_posXpath = "//div[@class='account-object-included_sub_object_uuids']// i[@class='iconfont icon-Create1 text-[18px] font-[700] text-[--color-primary] cursor-pointer']"  # Subordinate Objects 下有数据新增时"+"按钮Xpath
acc_ObjectGroupDetailPage_excludeObjects_addButton_normalAdd_posXpath = "//div[@class='account-object-excluded_sub_object_uuids']//i[@class='iconfont icon-Create1 text-[18px] text-weight-700] text-[--color-primary] cursor-pointer']"  # Exclude Objects 下有数据新增时"+"按钮Xpath
acc_ObjectGroupDetailPage_subObjects_addButton_newAdd_posXpath = "//div[@class='account-object-included_sub_object_uuids']"  # Subordinate Objects 下无数据新增时"+"按钮Xpath
acc_ObjectGroupDetailPage_excludeObjects_addButton_newAdd_posXpath = "//div[@class='account-object-excluded_sub_object_uuids']"  # Exclude Objects 下无数据新增时"+"按钮Xpath
acc_ObjectDetailPage_firstAccObject = url_ObjectDetailPage_firstUrlObject  ## 侧滑Objects列表中第一个acc object Xpath
acc_ObjectGroupDetailPage_subObjects_search_posId = url_ObjectDetailPage_object_ip_search_posId  # Subordinate Objects 下搜索框id
acc_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']"  # Accounts侧滑窗口的"+"按钮
acc_ObjectGroupDetailPage_subObjects_toggleDraw_closeButton_posXpath = url_ObjectGroupDetailPage_subObjects_toggleDraw_closeButton_posXpath  # Accounts侧滑窗口的Close按钮
acc_ObjectGroupDetailPage_subObjects_toggleDraw_addButton_account_posXpath = objectPage_group_sub_object_add_new_select_button_posXpath  # Accounts侧滑窗口的"+"按钮下的Account
acc_ObjectGroupDetailPage_subObjects_subCreateAccountDrawer_nameInput_posXpath = "//div[@class='MuiBox-root css-1krxo6z']//input[@class='MuiInput-input css-fqt4w4']"  # 侧滑子Create Account页面Name input Xpath
acc_ObjectGroupDetailPage_subObjects_subCreateAccountDrawer_itemsAddButton_posXpath = "//div[@class='MuiBox-root css-1krxo6z']//i[@class='iconfont icon-Create1 font-[700]']"  # 侧滑子Create Account页面中Items下的"+"按钮 Xpath
acc_ObjectGroupDetailPage_subObjects_subCreateAccountDrawer_itemsValueInput_posXpath = "//div[@class='MuiBox-root css-1krxo6z']//input[@class='MuiInput-input css-1u0jcuo']"  # 侧滑子Create Account页面中Items下的item value输入框 Xpath
acc_ObjectGroupDetailPage_subObjects_subCreateAccountDrawer_itemsValueSaveButton_posXpath = "//div[@class='MuiBox-root css-1krxo6z']//i[@class='operate-icon iconfont icon-save']"  # 侧滑子Create Account页面中Items下的保存按钮 Xpath
acc_ObjectGroupDetailPage_subObjects_subCreateAccountDrawer_descriptionTextarea_posXpath = '(//textarea[@placeholder="Please enter the content"])[2]'  # 侧滑子Create Account页面中的Description textarea Xpath
acc_ObjectGroupDetailPage_subObjects_subCreateAccountDrawer_okButton_posXpath = "//div[@class='MuiBox-root css-1krxo6z']//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']"  # 侧滑子Create Account页面中OK按钮
acc_ObjectGroupDetailPage_subObjects_subCreateAccountDrawer_okButton_yes_posXpath = url_ObjectDetailPage_okButton_yes_posXpath  # 侧滑子Create Account页面确认弹窗的“Yes”按钮
acc_ObjectGroupDetailPage_subObjects_subCreateAccountDrawer_okButton_cancel_posXpath = url_ObjectDetailPage_okButton_cancel_posXpath  # 侧滑子Create Account页面确认弹窗的“Cancel”按钮
accGroup_ObjectDetailPage_excludeObjectsSwitch_posXpath = urlGroup_ObjectDetailPage_excludeObjectsSwitch_posXpath  # Exclude Objects Switch Xpath
accGroup_ObjectDetailPage_excludeObjectsSwitch_enableStatus_posXpath = urlGroup_ObjectDetailPage_excludeObjectsSwitch_enableStatus_posXpath  # Exclude Objects Switch Xpath开启状态下
accGroup_ObjectDetailPage_excludeObjectsSwitch_newAdd_posXpath = urlGroup_ObjectDetailPage_excludeObjectsSwitch_newAdd_posXpath  # Exclude Objects无数据时新增按钮Xpath
accGroup_ObjectDetailPage_excludeObjectsSwitch_normalAdd_posXpath = urlGroup_ObjectDetailPage_excludeObjectsSwitch_normalAdd_posXpath  # Exclude Objects有数据时新增按钮Xpath
accGroup_ObjectDetailPage_excludeObjects_itemsArea_posXpath = urlGroup_ObjectDetailPage_excludeObjects_itemsArea_posXpath  # Exclude Objects下的item区域div Xpath
acc_ObjectDetailPage_firstObject = url_ObjectDetailPage_firstUrlObject  # 侧滑acc Object中第一个url Xpath
acc_ObjectDetailPage_secondObject = url_ObjectDetailPage_secondUrlObject  # 侧滑acc Object中第二个url Xpath
acc_ObjectDetailPage_editgroup_posXpath = "//i[@class='row-edit iconfont icon-Edit cursor fontsize18']"
acc_ObjectGroupDetailPage_subAndExcludeObjects_posXpaths = '//div[@class="CommonSubObjects"]//*[@class="row-content-cell"]'  # 列表下所有Item的文本元素(包括sub与exclude)
acc_ObjectGroupDetailPage_subObjects_posXpaths = '//div[@data-desc="subObject"]//div[@class="CommonSubObjects"]//*[@class="row-content-cell"]'  # sub object 列表下所有Item的文本元素
acc_ObjectGroupDetailPage_excludeObjects_posXpaths = '//div[@data-desc="exclude subObject"]//div[@class="CommonSubObjects"]//*[@class="row-content-cell"]'  # exclude object 列表下所有Item的文本元素
# 详情页通用元素
acc_ObjectDetailPage_mainOkButton_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']"  # OK按钮ID
acc_ObjectDetailPage_okButton_yes_posXpath = url_ObjectDetailPage_okButton_yes_posXpath  # 确认弹窗的“Yes”按钮
acc_ObjectDetailPage_cancel_posXpath = '//i[@class="iconfont icon-Clear_aNormal close-icon"]'

# Object Accounts elements area bottom===================Object Accounts elements area bottom===================Object Accounts elements area bottom===================Object Accounts elements area bottom===================Object Accounts elements area bottom===================
# Object Accounts elements area bottom===================Object Accounts elements area bottom===================Object Accounts elements area bottom===================Object Accounts elements area bottom===================Object Accounts elements area bottom===================

# Object Intervals elements area top===================Object Intervals elements area top===================Object Intervals elements area top===================Object Intervals elements area top===================Object Intervals elements area top===================
# Object Intervals elements area top===================Object Intervals elements area top===================Object Intervals elements area top===================Object Intervals elements area top===================Object Intervals elements area top===================
# 列表页
int_listPage_createButton_posId = 'objectCreate-_OperateBtns_ElRow_Objects_interval_Home_App_anonymousComponent'  # 列表页create 按钮ID
int_listPage_createButton_account_posId = "object0-_OperateBtns_ElRow_Objects_interval_Home_App_anonymousComponent"  # 列表页create下account ID
int_listPage_createButton_accountGroup_posId = "object1-_OperateBtns_ElRow_Objects_interval_Home_App_anonymousComponent"  # 列表页create下account group ID
int_listPage_editButton_posId = 'appEdit-_OperateBtns_ElRow_Objects_interval_Home_App_anonymousComponent'  # 列表页 Edit 按钮ID
int_listPage_deleteButton_posId = 'appDel-_OperateBtns_ElRow_Objects_interval_Home_App_anonymousComponent'  # 列表页 Delete 按钮ID
int_listPage_first_row_checkBox_posXpath = acc_listPage_first_row_checkBox_posXpath  # 列表页第一行对象多选框Xpath
int_listPage_noDataText_posXpath = '//div[@class="ly-table1"]//span[@class="el-table__empty-text"]'  # 列表页无数据时的no data文本 Xpath
int_ObjectDetailPage_auditLogs_posXpath = '//div[@class="audit_log"]/span'
int_listPage_object_searchName_posId = '2-_FilteredSearch_ElRow_Objects_interval_Home_App_anonymousComponent'
int_listPage_object_searchId_posId = '1-_FilteredSearch_ElRow_Objects_interval_Home_App_anonymousComponent'
int_listPage_object_searchDescription_posId = '4-_FilteredSearch_ElRow_Objects_interval_Home_App_anonymousComponent'

# link页
int_listpage_linkButton_posId = "btnCopy-_OperateBtns_ElRow_Objects_interval_Home_App_anonymousComponent"  # link按钮ID
int_listpage_linkSave_posXpath = '//*[@id="clusterSave-_ClusterTable_ElDialog_copyComponents_Objects_interval_Home_App_anonymousComponent"]'  # Cluster和Vsys保存按钮ID
int_listpage_linkAdd_posXpath = '//*[@id="temporary_form-_ClusterTable_ElDialog_copyComponents_Objects_interval_Home_App_anonymousComponent"]'  # 添加新的Cluster和Vsys按钮ID
int_listpage_linkOk_posXpath = '//*[@id="copyOk-_copyComponents_Objects_interval_Home_App_anonymousComponent"]'

## listPage->Tips dialog  列表页 tips对话框
int_listPage_object_delete_yesButton_posCss = acc_listPage_object_delete_yesButton_posXpath  # 删除提示的Tips的yes按钮Xpath
int_listPage_object_urls_delete_noButton_posCss = acc_listPage_object_urls_delete_noButton_posXpath  # 删除提示的Tips的No按钮Xpath

# 对象详情页
int_ObjectDetailPage_nameInput_posXpath = url_ObjectDetailPage_nameInput_posXpath  # Name输入框Xpath
int_ObjectDetailPage_nameLenthNumber_posXpath = url_ObjectDetailPage_nameLenthNumber_posXpath  # Name输入框中字符长度数值Xpath
int_ObjectDetailPage_item_addButton_poXpath = url_ObjectDetailPage_addButton_posXpath  # item下"+"按钮
# item下"+"按钮
int_ObjectDetailPage_itemsText_posXpath = '//div[@class="leading-[24px]"]'  # Items 列表下所有Item的文本元素
int_ObjectDetailPage_itemValueInput_lowBoundary_poXpath = '(//input[@class="MuiInput-input css-1u0jcuo"])[1]'  # item 下low_boundary value输入框Xpath
int_ObjectDetailPage_itemValueInput_upBoundary_poXpath = '(//input[@class="MuiInput-input css-1u0jcuo"])[2]'  # item 下 up_boundary value输入框Xpath
int_ObjectDetailPage_itemSaveButton_poXpath = url_ObjectDetailPage_itemSaveButton_posXpath  # item 下value保存按钮Xpath
int_ObjectDetailPage_item_search_posId = url_ObjectDetailPage_object_ip_search_posId  # item 下搜索框id
int_ObjectDetailPage_description_posXpath = "//div[@class='interval-object-description']//textarea[1]"  # 对象详情页面下Description input Xpath

# 对象组详情页
intGroup_ObjectDetailPage_includeObjectsSwitch_normalAdd_posXpath = "//div[@class='interval-object-included_sub_object_uuids']//i[@class='iconfont icon-Create1 text-[18px] font-[700] text-[--color-primary] cursor-pointer']"
intGroup_ObjectDetailPage_excludeObjectsSwitch_normalAdd_posXpath = "//div[@class='interval-object-excluded_sub_object_uuids']//i[@class='iconfont icon-Create1 text-[18px] font-[700] text-[--color-primary] cursor-pointer']"  # Exclude Objects有数据时新增按钮Xpath
intGroup_ObjectDetailPage_excludeObjectsSwitch_newAdd_posXpath = "//div[@class='interval-object-excluded_sub_object_uuids']//i[@class='iconfont icon-Create1 font-[700]']"  # Exclude Objects无数据时新增按钮Xpath
intGroup_ObjectDetailPage_excludeObjects_itemsArea_posXpath = "//div[@class='interval-object-excluded_sub_object_uuids']"  # Exclude Objects下的item区域div Xpath
intGroup_ObjectDetailPage_excludeObjectsSwitch_posXpath = "//div[@class='interval-object-']//span[@class='MuiButtonBase-root MuiSwitch-switchBase MuiSwitch-colorPrimary PrivateSwitchBase-root MuiSwitch-switchBase MuiSwitch-colorPrimary css-y2jqxi']"  # Exclude Objects Switch Xpath
int_ObjectGroupDetailPage_subObjects_addButton_newAdd_posXpath = '//div[@class="interval-object-included_sub_object_uuids"]'  # Subordinate Objects 下有数据新增时"+"按钮Xpath
int_ObjectGroupDetailPage_subObjects_addButton_normalAdd_posXpath = '//div[@class="interval-object-included_sub_object_uuids"]//i[@class="iconfont icon-Create1 text-[18px] font-[700] text-[--color-primary] cursor-pointer"]'  # Subordinate Objects 下无数据新增时"+"按钮Xpath
int_ObjectGroupDetailPage_subObjects_toggleDraw_addButton_posXpath = acc_ObjectGroupDetailPage_subObjects_toggleDraw_addButton_posXpath  # Object侧滑窗口的"+"按钮
int_ObjectGroupDetailPage_subObjects_toggleDraw_addButton_account_posXpath = acc_ObjectGroupDetailPage_subObjects_toggleDraw_addButton_account_posXpath  # Object侧滑窗口的"+"按钮下的single object
int_ObjectGroupDetailPage_subObjects_subCreateObjectDrawer_nameInput_posXpath = '(//input[@class="MuiInput-input css-fqt4w4"])[2]'  # 侧滑子Create Object页面Name input Xpath
int_ObjectGroupDetailPage_subObjects_subCreateObjectDrawer_itemsAddButton_posXpath = acc_ObjectGroupDetailPage_subObjects_subCreateAccountDrawer_itemsAddButton_posXpath  # 侧滑子Create Object页面中Items下的"+"按钮 Xpath
int_ObjectGroupDetailPage_subObjects_subCreateObjectDrawer_itemsValueInput_lowBoundary_posXpath = '//div[@data-id="interval-start"]/input'  # 侧滑子Create Interval页面中Items下的low_boundary输入框 Xpath
int_ObjectGroupDetailPage_subObjects_subCreateObjectDrawer_itemsValueInput_upBoundary_posXpath = '//div[@data-id="interval-end"]/input'  # 侧滑子Create Interval页面中Items下的upBoundary输入框 Xpath\
int_ObjectGroupDetailPage_subObjects_subCreateObjectDrawer_itemsValueSaveButton_posXpath = acc_ObjectGroupDetailPage_subObjects_subCreateAccountDrawer_itemsValueSaveButton_posXpath  # 侧滑子Create Objects页面中Items下的保存按钮 Xpath
int_ObjectGroupDetailPage_subObjects_subCreateAccountDrawer_descriptionTextarea_posXpath = acc_ObjectGroupDetailPage_subObjects_subCreateAccountDrawer_descriptionTextarea_posXpath  # 侧滑子Create Objects页面中的Description textarea Xpath
int_ObjectGroupDetailPage_subObjects_subCreateAccountDrawer_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 Objects页面中OK按钮
int_ObjectGroupDetailPage_subObjects_subCreateAccountDrawer_okButton_yes_posXpath = url_ObjectDetailPage_okButton_yes_posXpath  # 侧滑子Create Account页面确认弹窗的“Yes”按钮
int_ObjectGroupDetailPage_subObjects_subCreateAccountDrawer_okButton_cancel_posXpath = url_ObjectDetailPage_okButton_cancel_posXpath  # 侧滑子Create Account页面确认弹窗的“Cancel”按钮
# 详情页通用元素
int_ObjectDetailPage_mainOkButton_poId = 'OK-_IntervalsDetail_Home_App_anonymousComponent'  # OK按钮ID
int_ObjectDetailPage_mainOkButton_poXpath = '//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"]'
int_ObjectDetailPage_okButton_yes_posXpath = url_ObjectDetailPage_okButton_yes_posXpath  # 确认弹窗的“Yes”按钮
# Object Intervals elements area bottom===================Object Intervals elements area bottom===================Object Intervals elements area bottom===================Object Intervals elements area bottom===================Object Intervals elements area bottom===================
# Object Intervals elements area bottom===================Object Intervals elements area bottom===================Object Intervals elements area bottom===================Object Intervals elements area bottom===================Object Intervals elements area bottom===================


# Object Flags elements area top===================Object Flags elements area top===================Object Flags elements area top===================Object Flags elements area top===================Object Flags elements area top===================Object Flags elements area top===================
# Object Flags elements area top===================Object Flags elements area top===================Object Flags elements area top===================Object Flags elements area top===================Object Flags elements area top===================Object Flags elements area top===================

# 列表页
flag_listPage_createButton_posId = 'objectCreate-_OperateBtns_ElRow_Objects_flag_Home_App_anonymousComponent'  # 列表页create 按钮ID
flag_listPage_createButton_posXpath = '//span[@class="action-create inline-flex mr-[8px] "]/button' # 列表页create 按钮!!!!!
flag_listPage_createButton_flag_posId = 'object0-_OperateBtns_ElRow_Objects_flag_Home_App_anonymousComponent'  # 列表页create下account ID
flag_listPage_createButton_flagountGroup_posId = 'object1-_OperateBtns_ElRow_Objects_flag_Home_App_anonymousComponent'  # 列表页create下account group ID
flag_listPage_editButton_posId = 'appEdit-_OperateBtns_ElRow_Objects_flag_Home_App_anonymousComponent'  # 列表页 Edit 按钮ID
flag_listPage_editButton_posXpath = '//span[@class="action-edit inline-flex mr-[8px] "]/button'  # 列表页 Edit 按钮!!!!!
flag_listPage_deleteButton_posId = 'appDel-_OperateBtns_ElRow_Objects_flag_Home_App_anonymousComponent'  # 列表页 Delete 按钮ID
flag_listPage_deleteButton_posXpath = '//span[@class="action-delete inline-flex mr-[8px] "]/button' # 列表页 Delete 按钮!!!!!
flag_listPage_first_row_checkBox_posXpath = '(//span[@class="MuiCheckbox-root MuiCheckbox-variantOutlined MuiCheckbox-colorNeutral MuiCheckbox-sizeMd MuiDataGrid-checkboxInput css-q3lb41"]//input)[1]' # 列表页第一行对象多选框Xpath!!!!!
flag_listPage_noDataText_posXpath = '//div[@class="MuiDataGrid-overlay css-14349d1"]'  # 列表页无数据时的no data文本 Xpath!!!!!
flag_listPage_object_exportButton_posXpath = '//span[@class="action-export inline-flex mr-[8px] "]/button'  # 导出文件按钮 Xpath!!!!!
flag_listPage_object_exportPopCheckbox_posXpaths = '//div[@class="dune-table MuiDataGrid-root MuiDataGrid-root--densityStandard MuiDataGrid-withBorderColor css-fvrdu8"]//div[@class="MuiDataGrid-virtualScrollerContent css-0"]//input'  # 导出数据选择确认弹窗CheckBox(多个)!!!!!
flag_listPage_object_exportPopSelectAll_posXpath = '//div[@class="dune-table MuiDataGrid-root MuiDataGrid-root--densityStandard MuiDataGrid-withBorderColor css-fvrdu8"]//div[@class="MuiDataGrid-columnHeaderTitleContainerContent"]//input'  # 导出数据选择确认弹窗全选CheckBox Xpath!!!!!
flag_listPage_object_exportPopYes_posXpath = '//button[@class="MuiButtonBase-root MuiButton-root MuiLoadingButton-root MuiButton-contained MuiButton-containedPrimary MuiButton-sizeSmall MuiButton-containedSizeSmall MuiButton-colorPrimary MuiButton-root MuiLoadingButton-root MuiButton-contained MuiButton-containedPrimary MuiButton-sizeSmall MuiButton-containedSizeSmall MuiButton-colorPrimary css-1k1ho7l"]'  # 导出数据选择确认弹窗 yes Xpath!!!!!
flag_listPage_object_exportPopNo_posXpath = '//button[@class="MuiButtonBase-root MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary css-ki6aok"]'  # 导出数据选择确认弹窗 no Xpath!!!!!
flag_listPage_object_tableDetails_singleObject_posXpaths = listPage_object_urls_tableDetails_singleObject_posXpaths  # 列表页中所有对象(不包含对象组)的DetailsXpath
flag_listPage_object_tableCheckbox_objectGroup_posXpaths = listPage_object_urls_tableCheckbox_objectGroup_posXpaths  # 列表页对象组的CheckBox(多个)
# flag_listPage_object_tableCheckbox_singleObject_posXpaths = listPage_object_urls_tableCheckbox_singleObject_posXpaths  # 列表页CheckBox(50)
flag_listPage_object_tableCheckbox_posXpaths = listPage_object_urls_tableCheckbox_posXpaths  # 列表页CheckBox(50)
flag_listPage_object_tableCheckbox_singleObject_posXpaths = listPage_object_urls_tableCheckbox_singleObject_posXpaths  # 列表页CheckBox(50),不包含Object Group
flag_listPage_object_tableCheckbox_selectedCheckBox_posXpaths = listPage_object_urls_tableDetails_selected_checkBox_posXpaths  # list页被选中的对象 CheckBox Xpath
flag_listPage_object_tableDetails_selected_detailsRow_posXpaths = listPage_object_urls_tableDetails_selected_detailsRow_posXpaths  # list页被选中的对象details 值Xpath
flag_listPage_object_tableDetails_firstRowValues_div_posXpaths = listPage_object_urls_tableDetails_firstRowValues_div_posXpaths  # list页点击Details后展示的数据Xpaths_div
# flag_listPage_usage_policies_elems_posXpaths = "//div[contains(@class,'LocalationDraswer ')]//div[contains(@class,'el-dropdown-menu')]"  # 点击Reference count后展开的侧滑页面,其中的引用条数
flag_listPage_usage_policies_elems_posXpaths = url_listPage_usage_policies_elems_posXpaths  # 点击Reference count后展开的侧滑页面,其中的引用条数

# link页
flag_listpage_linkButton_posId = "btnCopy-_OperateBtns_ElRow_Objects_flag_Home_App_anonymousComponent"  # link按钮ID
flag_listpage_linkSave_posXpath = '//*[@id="clusterSave-_ClusterTable_ElDialog_copyComponents_Objects_flag_Home_App_anonymousComponent"]'  # Cluster和Vsys保存按钮ID
flag_listpage_linkAdd_posXpath = '//*[@id="temporary_form-_ClusterTable_ElDialog_copyComponents_Objects_flag_Home_App_anonymousComponent"]'  # 添加新的Cluster和Vsys按钮ID
flag_listpage_linkOk_posXpath = '//*[@id="copyOk-_copyComponents_Objects_flag_Home_App_anonymousComponent"]'

# 列表页搜索选项
# 列表页搜索选项
flag_listPage_object_fuzzySearch_posXpath = listPage_object_urls_fuzzySearch_posXpath  # 模糊搜索选项
flag_listPage_object_searchId_posId = '1-_FilteredSearch_ElRow_Objects_flag_Home_App_anonymousComponent'  # ID 搜索
flag_listPage_object_searchName_posId = '2-_FilteredSearch_ElRow_Objects_flag_Home_App_anonymousComponent'  # name 搜索
flag_listPage_object_searchDetails_posId = '6-_FilteredSearch_ElRow_Objects_flag_Home_App_anonymousComponent'  # details搜索
flag_listPage_object_searchDescription_posId = '4-_FilteredSearch_ElRow_Objects_flag_Home_App_anonymousComponent'  # Description 搜索
flag_listPage_object_searchCreatedBy_posId = '5-_FilteredSearch_ElRow_Objects_flag_Home_App_anonymousComponent'  # created by 搜索
# flag_listPage_object_searchFqdn_posId = "7-_FilteredSearch_ElRow_Objects_flag_Home_App_anonymousComponent"  # fqdn 搜索
flag_listPage_object_tableDetails_detailsRow_firstDetailValue_posXpaths = listPage_object_urls_tableDetails_detailsRow_firstDetailValue_posXpaths  # 列表页某行第一个details值 Xpath

## listPage->Tips dialog  列表页 tips对话框
flag_listPage_object_delete_yesButton_posCss = acc_listPage_object_delete_yesButton_posXpath  # 删除提示的Tips的yes按钮Xpath
flag_listPage_object_urls_delete_noButton_posCss = acc_listPage_object_urls_delete_noButton_posXpath  # 删除提示的Tips的No按钮Xpath
flag_listPage_object_delete_yesButton_posXpath = '//button[@class="MuiButtonBase-root MuiButton-root MuiLoadingButton-root MuiButton-contained MuiButton-containedPrimary MuiButton-sizeSmall MuiButton-containedSizeSmall MuiButton-colorPrimary MuiButton-root MuiLoadingButton-root MuiButton-contained MuiButton-containedPrimary MuiButton-sizeSmall MuiButton-containedSizeSmall MuiButton-colorPrimary css-1aub58j"]'  # 删除提示的Tips的yes按钮Xpath!!!!!
flag_listPage_object_urls_delete_noButton_posXpath = '//button[@class="MuiButtonBase-root MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary css-ki6aok"]'  # 删除提示的Tips的No按钮Xpath!!!!!

# 对象详情页
flag_ObjectDetailPage_nameInput_posXpath = '//input[@class="MuiInput-input css-fqt4w4"]' # Name输入框Xpath!!!!
flag_ObjectDetailPage_nameLenthNumber_posXpath = '//span[@class="flex items-center text-[var(--color-text-disabled)]"]'  # Name输入框中字符长度数值Xpath!!!!!
flag_ObjectDetailPage_item_addButton_poId = '//i[@class="iconfont icon-Create1 font-[700]"]'  # item下"+"按钮!!!!!
flag_ObjectDetailPage_itemSaveButton_poXpath = '//i[@class="operate-icon iconfont icon-save"]'  # item 下value保存按钮Xpath!!!!!
flag_ObjectDetailPage_item_search_posId = url_ObjectDetailPage_object_ip_search_posId  # item 下搜索框id
flag_ObjectDetailPage_description_posXpath = '//textarea[@placeholder="Please enter the content"]'  # 对象详情页面下Description input Xpath!!!!!
flag_ObjectDetailPage_auditLogs_posXpath = url_ObjectDetailPage_auditLogs_posXpath  # Audit Logs Xpath
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_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
# 详情页通用元素
flag_ObjectDetailPage_mainOkButton_poId = 'OK-_FlagsDetail_Home_App_anonymousComponent'  # OK按钮ID
flag_ObjectDetailPage_mainOkButton_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"]' # ok按钮xpath!!!!!
flag_ObjectDetailPage_okButton_yes_posXpath = url_ObjectDetailPage_okButton_yes_posXpath  # 确认弹窗的“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_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
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_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!!!!!
flagGroup_ObjectDetailPage_excludeObjectsSwitch_newAdd_posXpath = '//div[@class="flag-object-excluded_sub_object_uuids"]'  # Exclude Objects无数据时新增按钮Xpath!!!!!
flag_ObjectDetailPage_secondObject = '//ul[@class="MuiList-root MuiList-vertical MuiList-variantPlain MuiList-colorNeutral MuiList-sizeMd css-1cklc3"]/li[2]'  # 侧滑 Object中第二个url Xpath!!!!!
flagGroup_ObjectDetailPage_excludeObjects_itemsArea_posXpath = '//div[@class="flag-object-excluded_sub_object_uuids"]'  # Exclude Objects下的item区域div Xpath!!!!!
# flag_ObjectDetailPage_firstObject =url_ObjectDetailPage_firstUrlObject # 侧滑 Object中第一个url Xpath
flagGroup_ObjectDetailPage_excludeObjectsSwitch_posXpath = "//div[@class='flag-object-']//span[@class='MuiButtonBase-root MuiSwitch-switchBase MuiSwitch-colorPrimary PrivateSwitchBase-root MuiSwitch-switchBase MuiSwitch-colorPrimary css-y2jqxi']"  # Exclude Objects Switch Xpath
flagGroup_ObjectDetailPage_subOkButton_posId = 'OK-_FlagsDetail_VDraswer_EditDraw_FlagsDetail_Home_App_anonymousComponent'
flagGroup_ObjectDetailPage_subOkButton_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]' # ok按钮xpath!!!!!
flagGroup_ObjectDetailPage_subOkButton_yes_posXpath = "//div[@class='el-message-box__wrapper']/div/div[3]/button[2]/span"  # 子确认弹窗的“Yes”按钮
flagGroup_ObjectDetailPage_subitem_del_posXpath = '//*[@id="router-view-container"]//div[@class="IconBtn padding-right15"]/i'
flagGroup_ObjectDetailPage_subitem_add_posXpath = '//div[@class="mt-[10px] flex justify-center"]//i[@class="iconfont icon-Create1 font-[700]"]' #!!!!!
# Object Flags elements area bottom===================Object Flags elements area bottom===================Object Flags elements area bottom===================Object Flags elements area bottom===================Object Flags elements area bottom===================Object Flags elements area bottom===================
# Object Flags elements area bottom===================Object Flags elements area bottom===================Object Flags elements area bottom===================Object Flags elements area bottom===================Object Flags elements area bottom===================Object Flags elements area bottom===================
# Object Geolocation elements area bottom===================Object Geolocation elements area bottom===================Object Geolocation elements area bottom===================Object Geolocation elements area bottom===================
# 对象详情页
port_ObjectDetailPage_nameInput_posXpath = '//input[@class="MuiInput-input css-fqt4w4"]'  # Name输入框Xpath!!!!!
port_ObjectDetailPage_item_addButton_posXpath = '//i[@class="iconfont icon-Create1 font-[700]"]'  # item下"+"按钮!!!!!
port_ObjectDetailPage_itemValueInput_poXpath = '//input[@class="MuiInput-input css-1u0jcuo"]'  # item 下value输入框Xpath!!!!!
port_ObjectDetailPage_itemSaveButton_poXpath = '//i[@class="operate-icon iconfont icon-save"]'  # item 下value保存按钮Xpath!!!!!
port_ObjectDetailPage_item_search_posId = acc_ObjectDetailPage_item_search_posXpath  # item 下搜索框id
port_ObjectDetailPage_item_search_posXpath = '//input[@class="MuiInput-input css-za5rna"]'   # item 下搜索框xpath!!!!!
port_ObjectDetailPage_importFromFile_posXpath = "//button[contains(text(),'import from file')]"  # Import From File 按钮Xpath!!!!!
port_ObjectDetailPage_pleaseUpload_posXpath = '//input[@type="file"]'  # Please Upload input标签Xpath!!!!!
port_ObjectDetailPage_importUrlOk_posXpath = '//button[@class="MuiButtonBase-root MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary css-k5thc0"]'  # Import 页面 下的OK按钮Xpath
port_ObjectDetailPage_description_posXpath = '//textarea[@placeholder="Please enter the content"]'  # 对象详情页面下Description input Xpath!!!!!
port_ObjectDetailPage_auditLogs_posXpath = acc_ObjectDetailPage_auditLogs_posXpath  # Audit Logs Xpath
port_ObjectDetailPage_auditLogsDrawer_firstRowLog_checkBox_posXpath = acc_ObjectDetailPage_auditLogsDrawer_firstRowLog_checkBox_posXpath  # Audit Logs 侧滑页第一条日志CheckBox Xpath
port_ObjectDetailPage_auditLogsDrawer_compareButton_posXpath = acc_ObjectDetailPage_auditLogsDrawer_compareButton_posXpath  # Audit Logs 侧滑页Compare 按钮Xpath
port_ObjectDetailPage_auditLogsDrawer_compareDrawer_operationText_posXpath = acc_ObjectDetailPage_auditLogsDrawer_compareDrawer_operationText_posXpath  # Audit Logs 侧滑页点击Compare后的 operation text Xpath
port_ObjectDetailPage_itemsTotal_posXpath = acc_ObjectDetailPage_itemsTotal_posXpath  # Items Total Xpath
port_ObjectDetailPage_nameLenthNumber_posXpath = acc_ObjectDetailPage_nameLenthNumber_posXpath  # Name输入框中字符长度数值Xpath
port_ObjectDetailPage_importFromFile_button_posXpath = '//button[@class="MuiButtonBase-root MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary css-bc4t0x"]'  # Import From File 按钮Xpath!!!!!
port_ObjectDetailPage_importedFile_posXpath = acc_ObjectDetailPage_importedFile_posXpath  # 导入文件元素位置(Import From File 按钮旁)
port_ObjectDetailPage_importedFile_delete_posXpath = acc_ObjectDetailPage_importedFile_delete_posXpath  # 文件删除按钮
port_ObjectDetailPage_importedFile_download_posXpath = acc_ObjectDetailPage_importedFile_download_posXpath  # 文件下载按钮
port_ObjectDetailPage_leaveThisPage_yesButton_posXpath = '//button[contains(@class,"operation-confirm-Leave")]'
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 = '//button[@class="MuiButtonBase-root MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary form-action-cancel css-5vcc8t"]'  # 详情页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="{}"]'
# 列表页
port_listPage_createButton_posId = 'objectCreate-_OperateBtns_ElRow_Objects_port_Home_App_anonymousComponent'  # 列表页create 按钮ID
port_listPage_createButton_posXpath = '//span[@class="action-create inline-flex mr-[8px] "]/button'  #create按钮Xpath!!!!!
port_listPage_createButton_port_posId = 'object0-_OperateBtns_ElRow_Objects_port_Home_App_anonymousComponent'  # 列表页create下account ID
port_listPage_createButton_portGroup_posId = 'object1-_OperateBtns_ElRow_Objects_port_Home_App_anonymousComponent'  # 列表页create下account group ID
port_listPage_editButton_posId = 'appEdit-_OperateBtns_ElRow_Objects_port_Home_App_anonymousComponent'  # 列表页 Edit 按钮ID
port_listPage_editButton_posXpath = '//span[@class="action-edit inline-flex mr-[8px] "]/button'  #edit按钮xpath!!!!!
port_listPage_noDataText_posXpath = '//div[@class="MuiDataGrid-overlay css-14349d1"]' #列表页No Data!!!!!
port_listPage_first_row_checkBox_posXpath = '(//span[@class="MuiCheckbox-root MuiCheckbox-variantOutlined MuiCheckbox-colorNeutral MuiCheckbox-sizeMd MuiDataGrid-checkboxInput css-q3lb41"]//input)[1]'  #列表中第一行数据前的复选框!!!!!
port_listPage_deleteButton_posId = 'appDel-_OperateBtns_ElRow_Objects_port_Home_App_anonymousComponent'  # 列表页 Delete 按钮ID
port_listPage_deleteButton_posXpath = '//span[@class="action-delete inline-flex mr-[8px] "]/button' # delete按钮Xpath!!!!!
port_listPage_deleteYes_posXpath = '//button[@class="MuiButtonBase-root MuiButton-root MuiLoadingButton-root MuiButton-contained MuiButton-containedPrimary MuiButton-sizeSmall MuiButton-containedSizeSmall MuiButton-colorPrimary MuiButton-root MuiLoadingButton-root MuiButton-contained MuiButton-containedPrimary MuiButton-sizeSmall MuiButton-containedSizeSmall MuiButton-colorPrimary css-1aub58j"]'  # delete yes按钮xpath!!!!!
port_object_columnSetting_descriptionOption_posXpath = '//span[normalize-space(text())="Description"]'  # 列设置中的description选项元素Xpath!!!!!
port_listPage_object_exportButton_posXpath = '//span[@class="action-export inline-flex mr-[8px] "]/button'  # 导出文件按钮 Xpath
port_listPage_object_exportPopYes_posXpath = '//button[@class="MuiButtonBase-root MuiButton-root MuiLoadingButton-root MuiButton-contained MuiButton-containedPrimary MuiButton-sizeSmall MuiButton-containedSizeSmall MuiButton-colorPrimary MuiButton-root MuiLoadingButton-root MuiButton-contained MuiButton-containedPrimary MuiButton-sizeSmall MuiButton-containedSizeSmall MuiButton-colorPrimary css-1k1ho7l"]'  # 导出数据选择确认弹窗 yes Xpath!!!!!
port_listPage_object_tableCheckbox_singleObject_posXpaths = '//input[@class="MuiCheckbox-input css-1jj0cvj"]'  # 列表页CheckBox(50)
port_listPage_object_tableCheckbox_objectGroup_posXpaths = listPage_object_urls_tableCheckbox_objectGroup_posXpaths  # 列表页对象组的CheckBox(多个)
port_listPage_object_tableCheckbox_posXpaths = listPage_object_urls_tableCheckbox_posXpaths  # 列表页CheckBox(50)
port_listPage_object_tableDetails_singleObject_posXpaths = listPage_object_urls_tableDetails_singleObject_posXpaths  # 列表页中所有对象(不包含对象组)的DetailsXpath
port_listPage_object_tableDetails_selected_detailsRow_posXpaths = listPage_object_urls_tableDetails_selected_detailsRow_posXpaths  # list页被选中的对象details 值Xpath
port_listPage_object_tableDetails_firstRowValues_div_posXpaths = listPage_object_urls_tableDetails_firstRowValues_div_posXpaths  # list页点击Details后展示的数据Xpaths_div
port_listPage_object_exportPopSelectAll_posXpath = listPage_object_urls_exportPopSelectAll_posXpath  # 导出数据选择确认弹窗全选CheckBox Xpath
port_listPage_object_exportPopCheckbox_posXpaths = listPage_object_urls_exportPopCheckbox_posXpaths  # 导出数据选择确认弹窗CheckBox(多个)
port_listPage_object_exportPopNo_posXpath = listPage_object_urls_exportPopNo_posXpath  # 导出数据选择确认弹窗 no Xpath
port_listPage_object_tableCheckbox_selectedCheckBox_posXpaths = listPage_object_urls_tableDetails_selected_checkBox_posXpaths  # list页被选中的对象 CheckBox Xpath
port_listPage_object_tableCheckbox_firstObjectGroup_posXpath = listPage_object_urls_tableDetails_firstObjectGroup_posXpath  # 列表页中第一个Object Group 的CheckBox
port_listPage_object_tableCheckbox_firstSingleObject_posXpath = listPage_object_urls_tableDetails_firstSingleObject_posXpath  # 列表页中第一个列表页中第一个Single Object 的CheckBox
port_listPage_object_tableCheckbox_firstNotLocalVsys_objectOrGroup_posXpath = listPage_object_urls_tableCheckbox_firstNotLocalVsys_objectOrGroup_posXpath  # 列表页中第一个不是本Vsys的对象或对象组的CheckBox
port_listPage_object_tableCheckbox_notLocalVsys_objectOrGroup_posXpaths = listPage_object_urls_tableCheckbox_notLocalVsys_objectOrGroup_posXpaths  # 列表页中不是本Vsys的对象或对象组的CheckBox
port_listPage_object_clearCounterPopYes_posXpath = listPage_object_urls_clearCounterPopYes_posXpath  # Clear Counter 选择确认弹窗中的Yes确认按钮
port_listPage_object_first_row_uuid_posXpath = '//div[@aria-rowindex="2"]//div[@data-field="uuid"]'
# link页
port_listpage_linkButton_posId = "btnCopy-_OperateBtns_ElRow_Objects_port_Home_App_anonymousComponent"  # link按钮ID
port_listpage_linkSave_posXpath = '//*[@id="clusterSave-_ClusterTable_ElDialog_copyComponents_Objects_port_Home_App_anonymousComponent"]'  # Cluster和Vsys保存按钮ID
port_listpage_linkAdd_posXpath = '//*[@id="temporary_form-_ClusterTable_ElDialog_copyComponents_Objects_port_Home_App_anonymousComponent"]'  # 添加新的Cluster和Vsys按钮ID
port_listpage_linkOk_posXpath = '//*[@id="copyOk-_copyComponents_Objects_port_Home_App_anonymousComponent"]'
port_listPage_linkTips_input_clusterSelect_posXpath = "//*[@id='clusterId']/parent::*//span[@class='el-input__suffix']"  # cluster 下拉选择按钮
port_listPage_linkTips_dropitem_clusterDrop_posXpath = "//body/div[contains(@class, 'el-select-dropdown')]//li//span[normalize-space(text())='{replaceName}']"  # cluster 下拉列表 选择按钮
port_listPage_linkTips_input_vsysSelect_posXpath = "//*[@id='clusterVsysId']/parent::*//span[@class='el-input__suffix']"  # vsys 下拉选择按钮
port_listPage_linkTips_dropitem_vsysSelect_posXpath = "//body/div[contains(@class, 'el-select-dropdown')]//li//span[normalize-space(text())='{replaceName}']"  # vsys id 下拉列表 选择按钮
port_listPage_objectTable_tableTbody_posXpath = "//div[contains(@class,'ly-table1')]//tbody"  # 列表tabel body

object_page_ln_select_statistics_input_posXpath = '//button[@class="MuiSelect-button css-1qmzz5g"]'  #详情页statistics!!!!!
object_page_ln_select_statistics_brief_posXpath = '//li[@class="MuiOption-root css-rabwri"]//p[@class="MuiTypography-root MuiTypography-title-sm css-kfmwsi"]'  #elaboreate!!!!!
object_page_ln_select_statistics_elaborate_posXpath = '//li[@class="MuiOption-root css-171tq0k"]//p[@class="MuiTypography-root MuiTypography-title-sm css-kfmwsi"]'  #brief!!!!!
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 = '//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"]'
port_ObjectDetailPage_okButton_yes_posXpath = acc_ObjectDetailPage_okButton_yes_posXpath  # 确认弹窗的“Yes”按钮

# 对象组详情页
port_groupObjectDetailPage_excludeObjects_search_posXpath = '//div[@class="port-object-excluded_sub_object_uuids"]//input'
port_groupObjectDetailPage_subordinateObjects_search_posXpath = '//div[@class="port-object-included_sub_object_uuids"]//input'
port_ObjectGroupDetailPage_subObjects_addButton_normalAdd_posXpath = '//div[@class="port-object-included_sub_object_uuids"]//button'  # Subordinate Objects 下无数据新增时"+"按钮Xpath
port_ObjectGroupDetailPage_subObjects_addButton_newAdd_posXpath = '//div[@class="port-object-included_sub_object_uuids"]//i'  # Subordinate Objects 下有数据新增时"+"按钮Xpath
port_ObjectGroupDetailPage_subObjects_toggleDraw_addButton_posXpath = '//div[@class="px-[12px] py-[4px] flex"]/button'  # Ports侧滑窗口的"+"按钮
port_ObjectGroupDetailPage_subObjects_toggleDraw_addButton_port_posXpath = objectPage_group_sub_object_add_new_select_button_posXpath  # Ports侧滑窗口的"+"按钮下的Port
port_ObjectGroupDetailPage_subObjects_subCreatePortDrawer_nameInput_posXpath = '(//input[@class="MuiInput-input css-fqt4w4"])[2]'  # 侧滑子Create Ports页面Name input Xpath
port_ObjectGroupDetailPage_subObjects_subCreatePortDrawer_itemsAddButton_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-list-action-add css-h4tbqb"]'  # 侧滑子Create Ports页面中Items下的"+"按钮 Xpath
port_ObjectGroupDetailPage_subObjects_subCreatePortDrawer_itemsValueInput_posXpath = '//input[@class="MuiInput-input css-1u0jcuo"]'  # 侧滑子Create Ports页面中Items下的item value输入框 Xpath
port_ObjectGroupDetailPage_subObjects_subCreatePortDrawer_itemsValueSaveButton_posXpath = '//i[@class="operate-icon iconfont icon-save"]'  # 侧滑子Create Ports页面中Items下的保存按钮 Xpath
port_ObjectGroupDetailPage_subObjects_subCreatePortDrawer_descriptionTextarea_posXpath = '(//textarea[@placeholder="Please enter the content"])[2]'  # 侧滑子Create Ports页面中的Description textarea Xpath
port_ObjectGroupDetailPage_subObjects_subCreatePortDrawer_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 Account页面中OK按钮
port_ObjectGroupDetailPage_subObjects_subCreatePortDrawer_okButton_yes_posXpath = acc_ObjectGroupDetailPage_subObjects_subCreateAccountDrawer_okButton_yes_posXpath  # 侧滑子Create Account页面确认弹窗的“Yes”按钮
port_ObjectDetailPage_firstPortObject = acc_ObjectDetailPage_firstAccObject  ## 侧滑Objects列表中第一个acc object Xpath
portGroup_ObjectDetailPage_excludeObjectsSwitch_posXpath = "//div[@class='port-object-']//span[@class='MuiButtonBase-root MuiSwitch-switchBase MuiSwitch-colorPrimary PrivateSwitchBase-root MuiSwitch-switchBase MuiSwitch-colorPrimary css-y2jqxi']"  # Exclude Objects Switch Xpath
portGroup_ObjectDetailPage_excludeObjects_itemsArea_posXpath = "//div[@class='port-object-excluded_sub_object_uuids']"  # Exclude Objects下的item区域div Xpath
portGroup_ObjectDetailPage_excludeObjectsSwitch_newAdd_posXpath = '//div[@class="port-object-excluded_sub_object_uuids"]'  # Exclude Objects无数据时新增按钮Xpath
port_ObjectDetailPage_firstObject = acc_ObjectDetailPage_firstObject  # 侧滑acc Object中第一个url Xpath
port_ObjectGroupDetailPage_subObjects_toggleDraw_closeButton_posXpath = acc_ObjectGroupDetailPage_subObjects_toggleDraw_closeButton_posXpath  # Accounts侧滑窗口的Close按钮
portGroup_ObjectDetailPage_excludeObjectsSwitch_normalAdd_posXpath = '//div[@class="port-object-excluded_sub_object_uuids"]//i[@class="iconfont icon-Create1 text-[18px] font-[700] text-[--color-primary] cursor-pointer"]'  # Exclude Objects有数据时新增按钮Xpath
port_ObjectDetailPage_secondObject = acc_ObjectDetailPage_secondObject  # 侧滑acc Object中第二个url Xpath
port_object_group_subobject_close_posXpath = '//div[@class="absolute bottom-0 h-[40px] w-[100%] overflow-hidden text-[16px] truncate bg-[--color-background-secondary] flex  justify-center items-center pl-[12px] pr-[38px]"]/button'
## listPage->Tips dialog  列表页 tips对话框
port_listPage_object_delete_yesButton_posCss = 'body>.el-dialog__wrapper .delComponents-ok span'  # 删除提示的Tips的yes按钮Xpath
port_listPage_object_urls_delete_noButton_posCss = 'body>.el-dialog__wrapper .delComponents-close span'  # 删除提示的Tips的No按钮Xpath

# 列表页搜索选项
port_listPage_object_fuzzySearch_posXpath = listPage_object_urls_fuzzySearch_posXpath  # 模糊搜索选项
port_listPage_object_searchId_posId = '1-_FilteredSearch_ElRow_Objects_port_Home_App_anonymousComponent'  # ID 搜索
port_listPage_object_searchName_posId = '2-_FilteredSearch_ElRow_Objects_port_Home_App_anonymousComponent'  # name 搜索
port_listPage_object_searchDescription_posId = '4-_FilteredSearch_ElRow_Objects_port_Home_App_anonymousComponent'  # Description 搜索
port_listPage_object_tableDetails_detailsRow_firstDetailValue_posXpaths = listPage_object_urls_tableDetails_detailsRow_firstDetailValue_posXpaths  # 列表页某行第一个details值 Xpath
# Object Geolocation elements area bottom===================Object Geolocation elements area bottom===================Object Geolocation elements area bottom===================Object Geolocation elements area bottom===================
listPage_object_geolocation_createButton_posId = "app_create-_OperateBtns_ElRow_Geography_List_Home_App_anonymousComponent"  # Geolocation页面Create按钮
listPage_object_geolocation_delButton_posId = "appDel-_OperateBtns_ElRow_Geography_List_Home_App_anonymousComponent"  # Geolocation页面del按钮
listPage_object_geolocation_editButton_posId = "appEdit-_OperateBtns_ElRow_Geography_List_Home_App_anonymousComponent"  # Geolocation页面edit按钮
listPage_object_geolocation_delYesButton_posXpath = "//div[@class='el-message-box el-message-box--center']//span[normalize-space(text())='Delete']"  # 删除后确认删除按钮
geo_ObjectCreate_Continent_select_button_posID = "ip_geography_continent"  # 创建页面添加Continet按钮
geo_ObjectCreate_type_city_posXpath = "//div[@id='ip_geography_type']//span[normalize-space(text())='City']"
geo_Geographic_add_continent_button_posXpath = "//div[@class='add_custom']//span[text()='Add Continent']"  # 点击添加按钮后侧滑页 Add Continet按钮
geo_Geographic_add_continent_text_input_posXpath = "//div[@class='add_input']/div/input"  # Add Continet文本输入框
geo_Geographic_add_continent_save_button_posID = "saveGeoCountry"
geo_Geographic_add_continent_cancel_button_posID = "interceptionadd_allcancelobject9"
geo_ObjectCreate_geo_name_id_posID = "ip_geography_name"
geo_ObjectCreate_Country_Abbreviation_posID = "ip_geography_countryAbbr"
geo_ObjectCreate_Country_Region_posID = "ip_geography_Country1"
geo_ObjectCreate_Longitude_posXPATH = "//input[@id='ip_geography_longitude']"
geo_ObjectCreate_Latitude_posXPATH = "//input[@id='ip_geography_latitude']"
geo_ObjectCreate_add_super_administrative_area_button_posXpath = "//div[@id='add_ip_geography_location']/i"
geo_ObjectCreate_super_administrative_area_posID = "ip_geography_Country"
geo_ObjectCreate_add_super_administrative_area_text_posXpath = "//div[@class='add_input']/input"
geo_Geographic_add_custom_button_posXpath = "//div[@id='addContentTree']//span[text()='Add Custom']"
geo_Geographic_add_super_administrative_area_save_button_posID = "addLocation"
geo_ObjectCreate_ip_add_button_posID = "ip_geography_IPRange"
geo_ObjectCreate_ip_item_add_button_posID = "addIPList"
geo_ObjectCreate_ip_item_type_posID = "geoAddrType"
geo_ObjectCreate_ip_item_type_ipv6_posXpath = "//div[@class='el-select-dropdown el-popper']//span[text()='IPv6']"
geo_ObjectCreate_ip_item_text_save_button_posXpath = "//div[@class='IconBtn iconfont icon-save check margin-right7 fontsize18 IPIcon']"
geo_ObjectCreate_button_OK_posXpath = "//button[@id='IP_library_add']/span"
geo_ObjectCreate_button_Cancel_posXpath = "//button[@id='IP_library_cancel']/span"
geo_ObjectCreate_button_warningSaveYes_posXpath = ip_addressObjectPage_button_warningSaveYes_posXpath
geoObjectPage_button_editItem_text_Save_posXpath = "//ul[@class='list']//div[@class='IconBtn iconfont icon-save check margin-right7 fontsize18 IPIcon']"
geoObjectPage_item_error_posXpath = "//*[@id='router-view-container']//div[@class='object-item-error']/span"
geo_ObjectCreate_contry_error_posXpath = "(//div[@class='el-form-item el-form-item--small']//div[@class='el-form-item__error'])[1]"
geo_ObjectCreate_geo_name_error_posXpath = "//div[@class='el-form-item biFangName is-error el-form-item--small']//div[@class='el-form-item__error']"
geo_ObjectCreate_city_ip_range_error_posXpath = "(//div[@class='el-form-item__content']/div[@class='el-form-item__error'])[2]"
geo_ObjectCreate_Longitude_error_posXpath = "(//div[@class='el-form-item is-error el-form-item--small']//div[@class='el-form-item__error'])[1]"
geo_ObjectCreate_Latitude_error_posXpath = "(//div[@class='el-form-item is-error el-form-item--small']//div[@class='el-form-item__error'])[2]"
geo_ObjectCreate_country_abbr_error_posXpath = "//div[@class='el-form-item is-error el-form-item--small']//div[@class='el-form-item__error']"
geo_ObjectCreate_country_region_error_posXpath = "//*[@class='el-form-item biFangName is-error el-form-item--small']//div[@class='el-form-item__error']"
geo_Geographic_add_continent_search_button_posID = "objectName_seach-_Geographyadd_Home_App_anonymousComponent"
geo_Geographic_super_admin_search_button_posID = "objectName_seach-_locationComponents_Geographyadd_Home_App_anonymousComponent"
geo_ObjectCreate_sideslip_fist_data_posXpath = "//*[@id='selectContentTree']"
geo_ObjectCreate_sideslip_no_data_posXpath = "//div[@class='conditions-right right-show-edit sideslipStyle']//div[normalize-space(text())='No Data']"
# link页
geo_listpage_linkButton_posId = "btnCopy-_OperateBtns_ElRow_Geography_List_Home_App_anonymousComponent"  # link按钮ID
geo_listpage_linkSave_posXpath = '//*[@id="clusterSave-_ClusterTable_ElDialog_copyComponents_Geography_List_Home_App_anonymousComponent"]'  # Cluster和Vsys保存按钮ID
geo_listpage_linkAdd_posXpath = '//*[@id="temporary_form-_ClusterTable_ElDialog_copyComponents_Geography_List_Home_App_anonymousComponent"]'  # 添加新的Cluster和Vsys按钮ID
geo_listpage_linkOk_posXpath = '//*[@id="copyOk-_copyComponents_Geography_List_Home_App_anonymousComponent"]'

# alter提示
# alter提示
main_listPage_object_error_alter_postXpath = "//div[@role='alert'][1]"

# Object ASNs elements area top===================# Object ASNs elements area top===================# Object ASNs elements area top===================# Object ASNs elements area top===================# Object ASNs elements area top===================# Object ASNs elements area top===================
# Object ASNs elements area top===================# Object ASNs elements area top===================# Object ASNs elements area top===================# Object ASNs elements area top===================# Object ASNs elements area top===================# Object ASNs elements area top===================
# 列表页
asn_listPage_createButton_posId = 'app_create-_OperateBtns_ElRow_Objects_asn_Home_App_anonymousComponent'  # 列表页create 按钮ID
# asn_listPage_createButton_singleObject_posId = 'object0-_OperateBtns_ElRow_Objects_account_Home_App_anonymousComponent'  # 列表页create下account ID
asn_listPage_editButton_posId = 'appEdit-_OperateBtns_ElRow_Objects_asn_Home_App_anonymousComponent'  # 列表页 Edit 按钮ID
asn_listPage_deleteButton_posId = 'appDel-_OperateBtns_ElRow_Objects_asn_Home_App_anonymousComponent'  # 列表页 Delete 按钮ID
asn_listPage_yesButton_posXpath = '//button[@class="el-button delComponents-ok role-disconnect-btn el-button--default el-button--small"]//span[contains(text(),"Yes")]'  # 列表页 yes 按钮ID
asn_object_columnSetting_descriptionOption_posXpath = listPage_object_urls_columnSetting_descriptionOption_posXpath  # 列设置中的description选项元素Xpath
asn_listPage_first_row_checkBox_posXpath = acc_listPage_first_row_checkBox_posXpath  # 列表页第一行对象多选框Xpath
asn_listPage_noDataText_posXpath = url_listPage_noDataText_posXpath  # 列表页无数据时的no data文本 Xpath
asn_listPage_object_importButton_posXpath = listPage_object_urls_importButton_posXpath  # 导入文件按钮 Xpath
asn_listPage_object_exportButton_posXpath = listPage_object_urls_exportButton_posXpath  # 导出文件按钮 Xpath
asn_listPage_object_exportPopYes_posXpath = listPage_object_urls_exportPopYes_posXpath  # 导出数据选择确认弹窗 yes Xpath
asn_listPage_object_clearCounterPopYes_posXpath = listPage_object_urls_clearCounterPopYes_posXpath  # Clear Counter 选择确认弹窗中的Yes确认按钮
asn_listPage_object_exportPopNo_posXpath = listPage_object_urls_exportPopNo_posXpath  # 导出数据选择确认弹窗 no Xpath
asn_listPage_object_exportPopSelectAll_posXpath = listPage_object_urls_exportPopSelectAll_posXpath  # 导出数据选择确认弹窗全选CheckBox Xpathcat
asn_listPage_object_exportPopCheckbox_posXpaths = listPage_object_urls_exportPopCheckbox_posXpaths  # 导出数据选择确认弹窗CheckBox(多个)
asn_listPage_object_tableDetails_firstRowValues_div_posXpaths = listPage_object_urls_tableDetails_firstRowValues_div_posXpaths  # list页点击Details后展示的数据Xpaths_div
asn_listPage_object_tableDetails_selected_detailsRow_posXpaths = listPage_object_urls_tableDetails_selected_detailsRow_posXpaths  # list页被选中的对象details 值Xpath
asn_listPage_object_tableCheckbox_posXpaths = listPage_object_urls_tableCheckbox_posXpaths  # 列表页CheckBox(50)
asn_listPage_object_tableCheckbox_singleObject_posXpaths = listPage_object_urls_tableCheckbox_singleObject_posXpaths  # 列表页single Object CheckBox(多个)
asn_listPage_object_tableCheckbox_firstSingleObject_posXpath = listPage_object_urls_tableDetails_firstSingleObject_posXpath  # 列表页中第一个列表页中第一个Single Object 的CheckBox
asn_listPage_object_tableCheckbox_objectGroup_posXpaths = listPage_object_urls_tableCheckbox_objectGroup_posXpaths  # 列表页对象组的CheckBox(多个)
asn_listPage_object_tableCheckbox_firstObjectGroup_posXpath = listPage_object_urls_tableDetails_firstObjectGroup_posXpath  # 列表页中第一个Object Group 的CheckBox
asn_listPage_object_tableCheckbox_notLocalVsys_objectOrGroup_posXpaths = listPage_object_urls_tableCheckbox_notLocalVsys_objectOrGroup_posXpaths  # 列表页中不是本Vsys的对象或对象组的CheckBox
asn_listPage_object_tableCheckbox_firstNotLocalVsys_objectOrGroup_posXpath = listPage_object_urls_tableCheckbox_firstNotLocalVsys_objectOrGroup_posXpath  # 列表页中第一个不是本Vsys的对象或对象组的CheckBox
asn_listPage_object_tableDetails_singleObject_posXpaths = listPage_object_urls_tableDetails_singleObject_posXpaths  # 列表页中所有对象(不包含对象组)的DetailsXpath
asn_listPage_object_tableCheckbox_selectedCheckBox_posXpaths = listPage_object_urls_tableDetails_selected_checkBox_posXpaths  # list页被选中的对象 CheckBox Xpath
asn_listPage_object_tableCheckbox_localVsys_objectOrGroup_posXpaths = listPage_object_urls_tableCheckbox_localVsys_objectOrGroup_posXpaths  # 列表页中本Vsys的Object 或Group(不包含其他Vsys)
asn_listPage_object_tableCheckbox_localVsys_firstObjectOrGroup_posXpaths = listPage_object_urls_tableCheckbox_localVsys_firstObjectOrGroup_posXpath  # 列表页中第一个本Vsys的Object 或Group(不包含其他Vsys)

asn_listPage_object_tableDetails_firstASNValue_posXpaths = '(//span[contains(text(),"AS ")])[1]'  # 列表页第一行的ASN 数值
## listPage->Tips dialog  列表页 tips对话框
asn_listPage_object_delete_yesButton_posCss = acc_listPage_object_delete_yesButton_posXpath  # 删除提示的Tips的yes按钮Xpath
asn_listPage_object_urls_delete_noButton_posCss = acc_listPage_object_urls_delete_noButton_posXpath  # 删除提示的Tips的No按钮Xpath

# link页
asn_listpage_linkButton_posId = "btnCopy-_OperateBtns_ElRow_Objects_asn_Home_App_anonymousComponent"  # link按钮ID
asn_listpage_linkSave_posXpath = '//*[@id="clusterSave-_ClusterTable_ElDialog_copyComponents_Objects_asn_Home_App_anonymousComponent"]'  # Cluster和Vsys保存按钮ID
asn_listpage_linkAdd_posXpath = '//*[@id="temporary_form-_ClusterTable_ElDialog_copyComponents_Objects_asn_Home_App_anonymousComponent"]'  # 添加新的Cluster和Vsys按钮ID
asn_listpage_linkOk_posXpath = '//*[@id="copyOk-_copyComponents_Objects_asn_Home_App_anonymousComponent"]'

# 列表页搜索选项
asn_listPage_object_fuzzySearch_posXpath = listPage_object_urls_fuzzySearch_posXpath  # 模糊搜索选项x
asn_listPage_object_searchId_posId = '1-_FilteredSearch_ElRow_Objects_asn_Home_App_anonymousComponent'  # ID 搜索
asn_listPage_object_searchName_posId = '2-_FilteredSearch_ElRow_Objects_asn_Home_App_anonymousComponent'  # name 搜索
asn_listPage_object_searchDetails_posId = '6-_FilteredSearch_ElRow_Objects_asn_Home_App_anonymousComponent'  # details搜索
asn_listPage_object_searchDescription_posId = '4-_FilteredSearch_ElRow_Objects_asn_Home_App_anonymousComponent'  # Description 搜索
asn_listPage_object_searchASN_posId = '44-_FilteredSearch_ElRow_Objects_asn_Home_App_anonymousComponent'  # asn 搜索
asn_listPage_object_searchCreatedBy_posId = '5-_FilteredSearch_ElRow_Objects_asn_Home_App_anonymousComponent'  # created by 搜索
asn_listPage_object_tableDetails_detailsRow_firstDetailValue_posXpaths = listPage_object_urls_tableDetails_detailsRow_firstDetailValue_posXpaths  # 列表页某行第一个details值 Xpath

# 详情页
asn_ObjectPage_InputName_posXpath = '//*[@id="router-view-container"]//*[@placeholder="Please enter the content" and @type]'
asn_ObjectDetailPage_asnInput_posXpath = '//div[@class="ASN-input el-input el-input--small"]//input'  # 详情页ASN输入框
asn_ObjectDetailPage_asnInputError_posXpath = '//div[@data-label="ASN"]//div[@class="el-form-item__error"]'  # 详情页ASN输入框下的字段错误提示
asn_ObjectDetailPage_nameInputError_posXpath = '//div[@data-label="Name"]//div[@class="el-form-item__error"]'  # 详情页ASN输入框下的字段错误提示
asn_ObjectDetailPage_nameInput_posXpath = url_ObjectDetailPage_nameInput_posXpath  # Name输入框Xpath
asn_ObjectDetailPage_nameLenthNumber_posXpath = url_ObjectDetailPage_nameLenthNumber_posXpath  # Name输入框中字符长度数值Xpath
asn_ObjectDetailPage_item_addButton_poId = url_ObjectDetailPage_addButton_posXpath  # item下"+"按钮
asn_ObjectDetailPage_itemsText_posXpath = '//div[@class="ItemRow infinite-list-item" and  not(@style)]//div[@class="item-box"]//span[@title and @class="inlineBlock ellipsis"]'  # Items 列表下所有Item的文本元素
asn_ObjectDetailPage_item_subAddButton_poXpath = url_ObjectDetailPage_item_subAddButton_poXpath  # 单个Item中新增多条数据的"+"按钮
# acc_ObjectDetailPage_item_subAddButton_poId = '//*[@class="item-box"]//*[contains(@class,"addobject")]'  # 单个Item中新增多条数据的"+"按钮
asn_ObjectDetailPage_itemValueInput_poXpath = '//div[@class="item-box"]//div[contains(@class,"content-input")]//input'  # item 下value输入框Xpath
# acc_ObjectDetailPage_itemValueInput_poXpath = '//div[@class="expr-box"]//input'  # item 下value输入框Xpath
asn_ObjectDetailPage_itemSaveButton_poXpath = url_ObjectDetailPage_itemSaveButton_posXpath  # item 下value保存按钮Xpath
asn_ObjectDetailPage_item_search_posId = url_ObjectDetailPage_object_ip_search_posId  # item 下搜索框id
asn_ObjectDetailPage_description_posXpath = url_ObjectDetailPage_description_posXpath  # 对象详情页面下Description input Xpath
asn_ObjectDetailPage_auditLogs_posXpath = url_ObjectDetailPage_auditLogs_posXpath  # Audit Logs Xpath
asn_ObjectDetailPage_auditLogsDrawer_firstRowLog_checkBox_posXpath = url_ObjectDetailPage_auditLogsDrawer_firstRowLog_checkBox_posXpath  # Audit Logs 侧滑页第一条日志CheckBox Xpath
asn_ObjectDetailPage_auditLogsDrawer_compareButton_posXpath = url_ObjectDetailPage_auditLogsDrawer_compareButton_posXpath  # Audit Logs 侧滑页Compare 按钮Xpath
asn_ObjectDetailPage_auditLogsDrawer_compareDrawer_operationText_posXpath = url_ObjectDetailPage_auditLogsDrawer_compareDrawer_operationText_posXpath  # Audit Logs 侧滑页点击Compare后的 operation text Xpath
asn_ObjectDetailPage_itemsTotal_posXpath = url_ObjectDetailPage_itemsTotal_posXpath  # Items Total Xpath
asn_ObjectDetailPage_importFromFile_posXpath = url_ObjectDetailPage_importFromFile_posXpath  # Import From File 按钮Xpath
asn_ObjectDetailPage_importFromFile_button_posXpath = url_ObjectDetailPage_importFromFile_button_posXpath  # Import From File 按钮Xpath
asn_ObjectDetailPage_pleaseUpload_posXpath = url_ObjectDetailPage_pleaseUpload_posXpath  # Please Upload input标签Xpath
asn_ObjectDetailPage_importUrlOk_posXpath = url_ObjectDetailPage_importUrlOk_posXpath  # Import 页面 下的OK按钮Xpath
asn_ObjectDetailPage_clearCounter_posXpath = url_ObjectDetailPage_clearCounter_posXpath  # Clear Counter 按钮

asn_ObjectDetailPage_dupAlert_posXpath = acc_ObjectDetailPage_dupAlert_posXpath  # item重复提示
asn_ObjectDetailPage_dupAlert_duplicateListTotal_posXpath = acc_ObjectDetailPage_dupAlert_duplicateListTotal_posXpath  # duplicateList中的“Total:xx”
asn_ObjectDetailPage_importedFile_posXpath = url_ObjectDetailPage_importedFile_posXpath  # 导入文件元素位置(Import From File 按钮旁)
asn_ObjectDetailPage_importedFile_delete_posXpath = url_ObjectDetailPage_importedFile_delete_posXpath  # 文件删除按钮
asn_ObjectDetailPage_importedFile_download_posXpath = url_ObjectDetailPage_importedFile_download_posXpath  # 文件下载按钮

asn_ObjectDetailPage_leaveThisPage_yesButton_posXpath = '//button[contains(@class,"operation-confirm-Leave")]'  # is_leave_this_page_exist 弹窗中的确认按钮

# 详情页通用元素
asn_ObjectDetailPage_mainOkButton_poId = 'OK-_ASNDetail_Home_App_anonymousComponent'  # OK按钮ID
asn_ObjectDetailPage_okButton_yes_posXpath = url_ObjectDetailPage_okButton_yes_posXpath  # 确认弹窗的“Yes”按钮
# Object ASNs elements area bottom===================# Object ASNs elements area bottom===================# Object ASNs elements area bottom===================# Object ASNs elements area bottom===================# Object ASNs elements area bottom===================# Object ASNs elements area bottom===================
# Object ASNs elements area bottom===================# Object ASNs elements area bottom===================# Object ASNs elements area bottom===================# Object ASNs elements area bottom===================# Object ASNs elements area bottom===================# Object ASNs elements area bottom===================

mainPage_GeolocationSearch_buttonSearch_Item_posId = "IPseach"
geoObjectPage_button_addItem_first_item_posXpath = "//*[@class='object-item-sub-ip table-hide']"
geoObjectPage_button_editItem_posXpath = "//div[@class='IconBtn iconfont icon-Edit fontsize18 IPIcon']"
geoObjectPage_button_editItem_text_posXpath = "//div[@class='object-item-box']//ul[@class='list']//div[@class='object-item-sub-ip el-input el-input--small']/input"

# policy页面元素======================================================
# =================================================================================policy页面通用元素================================
policy_button_add_contions_posXpath = '//button[text()="Add Condition"]'
policy_button_type_add_contions_posXpath = '//label[text()="{replaceValue}"]/ancestor::div[@class="flex flex-row group"]//button/i'
policy_button_add_filter_psXpath = "//label[normalize-space(text())='{replaceValue}']/ancestor::div[@class='flex flex-row group']/div[@class='flex flex-col items-center select-picker']//i"
policy_button_add_application_posXpath = "//p[normalize-space(text())='Application']/ancestor::label[@class='el-form-item__label']/following-sibling::div//div[@class='MultipleSelect AppSelect']"
policy_list_add_contions_posXpath = "//div[normalize-space(text())='{replaceValue}']"
statistics_policy_template_add_button_posXpath = '//div[@class="statistics-policy-template_profile"]//i'
statistics_policy_template_first_template_posXpath = '//ul[@class="MuiList-root MuiList-vertical MuiList-variantPlain MuiList-colorNeutral MuiList-sizeMd css-1cklc3"]/li[1]'
intercept_policy_application_add_button_posID = "policy_app_add-_AppSelect_ElFormItem_ElForm_VPanel_VEditPanel_policy_Intercept_edit_Home_App_anonymousComponent"
shaping_policy_profile_add_button_posXpath = '//label[normalize-space(text())="Shaping Profile"]/following-sibling::div//button/i'
shaping_policy_profile_first = "//ul[@cLass='row-container tableList profile-table floatleft margin-top20 overflow-y-auto overflow-x-hidden width100']/li[1]"
service_chaining_policy_ssf_add_button_posID = '//label[normalize-space(text())="SFF Profile"]/following-sibling::div//button/i'
service_chaining_policy_ssf_first = "//div[@class='slider-container positionRelative height100']//ul[@class='row-container tableList profile-table floatleft margin-top20 overflow-y-auto overflow-x-hidden width100']/li[1]"
policy_button_add_port_filter_psXpath = "//p[normalize-space(text())='{replaceValue}']/ancestor::label[@class='el-form-item__label']/following-sibling::div/div[@class='MultipleSelect SourceSelect']"