4.mjs 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514
  1. import { chromium } from "playwright";
  2. import fs from "fs";
  3. import { dirname, resolve, join } from "path";
  4. import { fileURLToPath } from "url";
  5. import stringHash from "string-hash";
  6. const __filename = fileURLToPath(import.meta.url);
  7. const __dirname = dirname(__filename);
  8. const browser = await chromium.launch({
  9. headless: false,
  10. devtools: false,
  11. args: ["--no-sandbox", "--disable-setuid-sandbox"],
  12. });
  13. const context = await browser.newContext({
  14. viewport: {
  15. width: parseInt(Math.random() * 100 + 1250),
  16. height: parseInt(Math.random() * 100 + 750),
  17. },
  18. locale: "en-CA",
  19. timezoneId: "America/Toronto",
  20. serviceWorkers: "block",
  21. // proxy: {
  22. // server: "217.23.2.7:11728",
  23. // username: "12930238-mobile-country-CA",
  24. // password: "2l159221qn",
  25. // },
  26. });
  27. await context.addCookies([
  28. {
  29. name: "PIM-SESSION-ID",
  30. value: "DlgLBbkuLyX6WMDy",
  31. domain: ".pcoptimum.ca",
  32. path: "/",
  33. expires: -1,
  34. httpOnly: false,
  35. secure: false,
  36. sameSite: "Lax",
  37. },
  38. {
  39. name: "_spvid_ses.931f",
  40. value: "*",
  41. domain: ".pcoptimum.ca",
  42. path: "/",
  43. expires: 1710156681,
  44. httpOnly: false,
  45. secure: true,
  46. sameSite: "None",
  47. },
  48. {
  49. name: "kameleoonVisitorCode",
  50. value: "983e1c99-3ca2-408c-b31e-b8a67c9714bb",
  51. domain: ".pcoptimum.ca",
  52. path: "/",
  53. expires: 1741690851.810668,
  54. httpOnly: false,
  55. secure: false,
  56. sameSite: "Lax",
  57. },
  58. {
  59. name: "bm_sv",
  60. value: "95F10C6B635DE782732BD563212EE001~YAAQN+HdF1ZWqyyOAQAAOSgsLReUq9qozWuLyLYdbXkRIZAhEEa6Ok/RbYZ/I7qtRTVgZDqrDdO1KG2HuZjIb0z7WLGtTQVvzkI5ZvXSdpGgdtHDNrSY6NPt5gVCA1oRKIefLJh19I5dandHEWFwNWHKHSwAiBs3VBtlUi/FtsO0rNIcK70K5TCGBTtzCuaQE8gwnYWh/St2a51yx9+aRiVrqVyROKhuHITd1V1kHvNbuErlMY85Ckam6LmRtNVm8E8=~1",
  61. domain: ".pcoptimum.ca",
  62. path: "/",
  63. expires: 1710162049.292684,
  64. httpOnly: false,
  65. secure: true,
  66. sameSite: "Lax",
  67. },
  68. {
  69. name: "jjSPnsABk",
  70. value: "AxApLC2OAQAADRrCt1SKWepHx3pthvAW_Zp-z4SdztiLzwFR8YoHM0ELV69-Aa75VG6uclIDwH8AAEB3AAAAAA|1|0|772d9e6a557a32884957f48a8b5ad1d4d3b7baef",
  71. domain: ".pcoptimum.ca",
  72. path: "/",
  73. expires: 1744714876.349525,
  74. httpOnly: false,
  75. secure: true,
  76. sameSite: "Lax",
  77. },
  78. {
  79. name: "ak_bmsc",
  80. value: "DDFBF62A2D9FCD63E103FED9B9600ABA~000000000000000000000000000000~YAAQ1OHdFxSS8CuOAQAALC4sLRfAFS/o1SzWtY0/QRl18YVtjmY4jlmVsNGX5I7MestrsbHwIhUHTODRIPc02WPRlsnJZbc2MzE/l7xdu9W/T81vng3Mb6+uhQ3bM1NeVffJBh812RMTX6nTqSZ6mzyjpFrTNZ0rzaH+oZAQd+RBCO119pRmxHg2FqcborJ5YdvsHRNDtndurPocdauMAhVhgytRUHkeg4CPMeCxH+Fvo6iwI0xRJDFMlavKaq2oBhUPFj35xnfnUrcVLN83uhRULxQusaxAqzYSa0yg5T9pgtj3zKyjiTFjeRyDRW28B5naHhAjSfaOOtXIVIWFAYqK7JMAzgfhRXoOkyk7rYEm6Lfxq9lSO/fMkPlqEvEQaQ+b64wkv3hp0gllwyNobiypckeB/r188EWZy0oE0Ws6csbXsafgdoYla3jLwTUCupAZYVFhCjYaYc0GRIzY1fRkLg/I1bs2zTpzEnmNPbO2jfk863ZpXi8UonxcUyIgiMwXCZtnI9rf1Ccyng==",
  81. domain: ".pcoptimum.ca",
  82. path: "/",
  83. expires: 1710162049.808399,
  84. httpOnly: true,
  85. secure: false,
  86. sameSite: "Lax",
  87. },
  88. {
  89. name: "_gcl_au",
  90. value: "1.1.654442519.1710154854",
  91. domain: ".pcoptimum.ca",
  92. path: "/",
  93. expires: 1717930854,
  94. httpOnly: false,
  95. secure: false,
  96. sameSite: "Lax",
  97. },
  98. {
  99. name: "_imp_di_pc_",
  100. value: "AWbk7mUAAAAAhokpEJyAUqeA1kfXinz5",
  101. domain: ".pcoptimum.ca",
  102. path: "/",
  103. expires: 1741690880.34572,
  104. httpOnly: false,
  105. secure: true,
  106. sameSite: "Lax",
  107. },
  108. {
  109. name: "_gid",
  110. value: "GA1.2.649314698.1710154855",
  111. domain: ".pcoptimum.ca",
  112. path: "/",
  113. expires: 1710241282,
  114. httpOnly: false,
  115. secure: false,
  116. sameSite: "Lax",
  117. },
  118. {
  119. name: "_gat_UA-87445536-1",
  120. value: "1",
  121. domain: ".pcoptimum.ca",
  122. path: "/",
  123. expires: 1710154915,
  124. httpOnly: false,
  125. secure: false,
  126. sameSite: "Lax",
  127. },
  128. {
  129. name: "_fbp",
  130. value: "fb.1.1710154855919.187180118",
  131. domain: ".pcoptimum.ca",
  132. path: "/",
  133. expires: 1717930883,
  134. httpOnly: false,
  135. secure: false,
  136. sameSite: "Lax",
  137. },
  138. {
  139. name: "receive-cookie-deprecation",
  140. value: "1",
  141. domain: ".doubleclick.net",
  142. path: "/",
  143. expires: 1725706883.768493,
  144. httpOnly: true,
  145. secure: true,
  146. sameSite: "None",
  147. },
  148. {
  149. name: "mdLogger",
  150. value: "false",
  151. domain: "www.pcoptimum.ca",
  152. path: "/",
  153. expires: 1741690885,
  154. httpOnly: false,
  155. secure: true,
  156. sameSite: "None",
  157. },
  158. {
  159. name: "kampyle_userid",
  160. value: "0664-d596-cbab-00f1-fd63-7ec6-4b2a-7582",
  161. domain: "www.pcoptimum.ca",
  162. path: "/",
  163. expires: 1741690858,
  164. httpOnly: false,
  165. secure: true,
  166. sameSite: "None",
  167. },
  168. {
  169. name: "IDE",
  170. value: "AHWqTUkIpOH_td_Xz-DFJ0ldEdD-mZynOYY3808Gh3YDJOqzjHY_ERclB7cs71MZWgw",
  171. domain: ".doubleclick.net",
  172. path: "/",
  173. expires: 1744714859.157481,
  174. httpOnly: true,
  175. secure: true,
  176. sameSite: "None",
  177. },
  178. {
  179. name: "ORA_OCIS_REQ_2",
  180. value: "KmJzu52Jl8/PirtL69gAI7fsgZzKtvw8WdjSdgUU6vxrZRFbhNpP56WsrsMqpX8T0PBBi6WvbEYSI9PDFqqZtdMCLlqttSaPGC5B5ufVIdXOsO/Ofm2ttBVAx3oY8w6tOe3B0VWVZcY+GUq7VX1YY+jSIccuUX7euqCxZ/k66W6BZjNz1rsjluEEYYRQLOocxuh62TqlI9GiKNDUd4+opP4EElJo4hpKNOUfHCXRohT5l0sDT3zk7wefa62n9ui8y9h+8cyPtxHPr9dYNw/WZ+XSNsH4VJ3Mvm2tjlskQ5aP/VVJQBYdEDD/13O2zmIZiyeT0vChwpFj9OhOKssV4186LFsGmSEqdQs4o0qD6QjaS5AwJmvEvYi50j+jdOfnDxv+IEeZTn1KjkhdtDrz54Md0PIYFR7Axjd646QvI/HuUfSFNIfvfAFbzghzUSawB6WnSI4wHeHDTevLvhIBSlk+rS/5/rnhMAQS91vMpGmr4inZKGsUIHphq/Ci+iHXBFHl6/cztTN15/NVloFCIfgU9FoOvrc2t+8zbOX5uOU+0pBY4XZfH3QChdFreKdAfQAnZVMdP1hzQ6irLtWqlOP8qNOTrf53NhvxtVXGvMsZT4PXpFUU/hYXeHghTzK4Sl8Lkr/rqz+FzcfDT0IpPGj+Fcd01PONNKikTCT7uhb3l4pkaP4P39UXVgSfeAZq1uAkdBeIKqgSdH++gIwVvfHK9gIajAJnmHvFfHf7jlfvBK1klWw25YZXnF+p4lS9IMrDDU25qYn1PBTDGayuFJXcu8bXgWzEMczrQ4ycO5Vlk8t5lyvwnOlcgayTx2ZMmvePV+7JofM6dvcG1H2heEU4M/jWfMCWshLRvwI7o0UlX8Sea1vFdeSIgTYQXOuG0BGhBG1LVBB34Yfrs8o1xYVJHPBpIwFArBN3+XLDOA~l0Own+oNwu5uQud0bAET44ZUxqqiWR9KDBCbX9y4Ym8",
  181. domain: "accounts.pcid.ca",
  182. path: "/",
  183. expires: -1,
  184. httpOnly: true,
  185. secure: true,
  186. sameSite: "None",
  187. },
  188. {
  189. name: "ORA_OCIS_REQ_1",
  190. value: "Tbdcb6fZtZf8oRkTxzqf0Doc2zDAmQQMzpTQaBagcvSJg51HPgF2NaZjljIP9KnG3fm0h8GlxKOlSjgprMG7g3p2zqi8Q1YjLgIuBW2C6nu76MwvLitQpVDlk2AUbpMNTsBxOjFwOqTgymyJcchbMHX/vwNGlrPsyWIa1lGqtiqhV354gZ0uoIL6JwYZ9AMSfGKWF3PF9sm593yzLZsn4RaUMFu0j1OUO1XPR0wAAipTK1L7iw29pyZrm9hruxF7HumfXuJhjsA0H0kZPDhmoL+KMUZfBRSy+oS5JQBFOpf2JpGReldAn1pwpFFe4XEj7Kz10OtyeHE+zfyZ4xJEf7Kzk8ocubdbiV3Ro3sC7l0SAykC7Ta0/Ys/QfAGeS+fej0ZnmuZ5IFQzSYc+eToIFQt3Z76zk8ZlIjBifH/4H6sBDP4RWEyTHXy74s1TRndeSqnGy6p5sqjgGw4PidqL3WtF0ZzLE/sct6XQYrnEMmdREfOKOPgTS84HzXL6ps0LL50aW+LHT3wWrZiyr3B2YwrOTxdKoSoYD1XKzsFvP+/paTSDClol42E13VBirC4oDR6u4LceL17IqKTk2M6YmIDGjPvaMx/lRZ6H7xMEtAM2mxk8BoOgXjpX9bRhdrmb4EgTCc0/Gx8kXuvmSul5dOSBPG5KYJhtA3zwSLNnKtihESCDve0OQawebfgQRcd3gxQ7ApMiyMypeOItXoWmfzSgywDHJivNdxPOy/ni/eREmj0K1f5IGW4k3KWCmcaqq3gWOdcXV5xpb64GC/tBUOgh1V11UyLRB/oobbfLruYvweB9L/+2yG19c+5k+GgLFHP+7hy1o9UUS455AQk/9YjHrBBPD1qUK5CmRh6Qt4ontTTW9Yk+smygQlHvSApEXEj38a85IASlhULvQHKneJG41TBh8DqG0vgd0TNk5IcSpyBRkNHGyIx/5lEOtO9YUm+MPhCf1hH5u6RU2je3FyExY3xLrY+Qrg7+Ve7dYuVgaKQLD9YRExPQ4pWPmzed1sySQoye3eDUvpuoh0Y2hB/AScP5nIdOHqS27y2/uILmHFIBuZRiI2hvuqeJZq5WLQqQrpiOfbcErnunIrQJdlgmr6UCFpZF4C6OxJonTz2iHRcpxh65rxVXP1wE+VnREysqYv0t2mBGOtC/BC9UxRYIJOvDA+CSmK+GvCBbQUw4iAohxZ+VpQ0LWoz7QyOSxuckRyJUdOiDRmAJgDnr32HGnnenaTTY7twWB2X+/UMtjURZF275OKa1eZ4yYMQvjqUurxBwbA90NDNXTh6+qI72SCLvsuCP3HUV3UrU8rz3bYL2pAgUGROmG/IWE64SbGgsphJ0SjVpHLAvfOobkTFsU+DL8BaQqdao200Tm9uKez4R9fzDQHNSiDq1y7U32f4Ocj90L9lp36CbgDEhm8AXWYVQKxHnvCxsS3gfURGz0UAxMAI3UD5lwWhDyIWKaxNHQYxBuBPrF+9KIBv8fOO3+wi6tq0/x+BhKcZwVsWewUgTEFHMSIBku6K35d0Nq16DmF7PlVEfbS7GvES793iJ5bsV0/IfGABKTO3SqTl7bOQPP61laFD0R/1k78K4969krv1Aut/RAwSeYXNyB0OOOxGLKyB/S6Se4diS9kYW5dVSmHriKngfHCrNEcvjuOZmInevIja2XRbBVHWfUiTiWKn6PVcDwJmLpP8hT0LbC7+ppTYVnpTszuG1n+xgxNyGpzZWlsX97e4RrbTf6jz8y84fZHzYmQpJ2WCWK4YVTYP2gzGgx/aN+5p544DyDziO2SwgbFNvebUA9FI3n7Y9Zs+eGDIi1GrTN1rvw2YYrTo9PtnDpAKib0MvHnyru+gK+PKyEDZ0y2SfJvFoZf28om3QrURHbkhcfyNc739",
  191. domain: "accounts.pcid.ca",
  192. path: "/",
  193. expires: -1,
  194. httpOnly: true,
  195. secure: true,
  196. sameSite: "None",
  197. },
  198. {
  199. name: "PIM-SESSION-ID",
  200. value: "HfwifcsfNXgeTP8Y",
  201. domain: ".pcid.ca",
  202. path: "/",
  203. expires: -1,
  204. httpOnly: false,
  205. secure: false,
  206. sameSite: "Lax",
  207. },
  208. {
  209. name: "bm_mi",
  210. value: "32637E93D710E5C763F0863E1C6BB492~YAAQX+HdF2dXbhqOAQAAE1AsLReFwa0zarIYhD/nyc+0XWX23IUmPCi9C2kZ8RgcciBLnsVMsbspV6HJeSSe5E7cZtQPKkzsZLR5eQRZliba2DE81KNcXGTKLy0jmAnOzkEWlK7+zHwjvmncwa7aB5VgbE5ATv7+J+M+4sNyCltQldra1zFONBg0PCKnQbvZnaSOXNqkKOI9fnUgvvMS9rrDpjz5H1/F/D9p8aEZE0W7G6v0LetTdTMmgr3jrHU8FW4+GPywljJJ6I7qIAh/Cr5/PfsKgSGJMKUxBM+spo0rcmmDG/yq~1",
  211. domain: ".pcid.ca",
  212. path: "/",
  213. expires: 1710162060.518734,
  214. httpOnly: false,
  215. secure: true,
  216. sameSite: "Lax",
  217. },
  218. {
  219. name: "bm_sv",
  220. value: "72452ED0F42E23ACA7CCA9233B5E9620~YAAQX+HdF2hXbhqOAQAAE1AsLRcmu+4m4BntUSwxvjNwe/GzZBjT4TrySOkfvTjXsSAfgLfE3zUqy40fzpAvu9AJMWlxvrQC6wMlUGPgMJEU7e4vRWrooHV819A2trHKq+GPohr1W/mpiiN92mOc3uZY8bJTDX+es/9Bx3YZvon5+Ag2RxbkToBqK1sKDeBnpwnpUDjcDRoOdYTjBKkYwIvYuqqzNKznXHGD0GLQhafm4Fz7ZhJpzwfttMqZ~1",
  221. domain: ".pcid.ca",
  222. path: "/",
  223. expires: 1710162062.518766,
  224. httpOnly: false,
  225. secure: true,
  226. sameSite: "Lax",
  227. },
  228. {
  229. name: "jjSPnsABk",
  230. value: "A1VXLC2OAQAAsvywYHzdOGiIGXHtd_n7YxAtapfkZQUOT6ur3yO9DVyn2RMTAa75VG6uclIDwH8AAEB3AAAAAA|1|0|9118f22bd0f0d6c4ecfb818b63a23e8e59791685",
  231. domain: "accounts.pcid.ca",
  232. path: "/",
  233. expires: 1744714872.693156,
  234. httpOnly: false,
  235. secure: true,
  236. sameSite: "Lax",
  237. },
  238. {
  239. name: "CoQWDnyf",
  240. value: "3GOBH6QK",
  241. domain: "accounts.pcid.ca",
  242. path: "/",
  243. expires: 1741711818.208334,
  244. httpOnly: false,
  245. secure: false,
  246. sameSite: "Lax",
  247. },
  248. {
  249. name: "ak_bmsc",
  250. value: "0C00E5FACBE83CA3CADAD8B81379EE62~000000000000000000000000000000~YAAQX+HdF9ZXbhqOAQAAsmAsLRcRN5uvNz0m0bdSzQhYycRI1OFXrvSyNh/ivvPHjZ/jL9LIJG53kQx/VNvJS8Mn7uft3EjQcKh8XNm3CThdapZzc9h8B0KOsii2hPEmYnjqOujxHJRMY4rzbh5jprRZBeKsfGP7ta2OmB/AGR9jWo+v0STEhx1c8qmdzCIvTeX9SDH8sk2/fg3mh2HAWPiYrO6gIdNXyXdgSXnt75iMkz9VXtrBwcLr4RT134uZ68H8A5cCbzPIvlO/0way1Evlt1xVZRpcgeYTjaOlFPaiww+DGgBjqRKLF0LxC6M0ENZGs1vPuLxWNaq93lish6Gr9yr5DscgQJfsPhxa7h0vF596eKFKw3p+LqKi4fIUx7nj5Vd5zgy5FCc2kAI+zgwCLQotAhJQrxxzC6qgeoSuY0tqllzXw9IEcQkjDl8GwmMXUuht9k/S+IG4aVh82uFbStMVL3M9qzw9SYClb4VlqaER5HNMUdqijvAbUu5VPY4=",
  251. domain: ".pcid.ca",
  252. path: "/",
  253. expires: 1710162060.744036,
  254. httpOnly: true,
  255. secure: false,
  256. sameSite: "Lax",
  257. },
  258. {
  259. name: "_spvid_ses.ab05",
  260. value: "*",
  261. domain: ".pcid.ca",
  262. path: "/",
  263. expires: 1710156673,
  264. httpOnly: false,
  265. secure: true,
  266. sameSite: "None",
  267. },
  268. {
  269. name: "_imp_di_pc_",
  270. value: "AXPk7mUAAAAAeRAwUOs8QkMGAGcczspi",
  271. domain: ".pcid.ca",
  272. path: "/",
  273. expires: 1741690867.426657,
  274. httpOnly: false,
  275. secure: true,
  276. sameSite: "Lax",
  277. },
  278. {
  279. name: "_ga",
  280. value: "GA1.2.498324052.1710154869",
  281. domain: ".pcid.ca",
  282. path: "/",
  283. expires: 1744714873.113562,
  284. httpOnly: false,
  285. secure: false,
  286. sameSite: "Lax",
  287. },
  288. {
  289. name: "_gid",
  290. value: "GA1.2.1462971914.1710154869",
  291. domain: ".pcid.ca",
  292. path: "/",
  293. expires: 1710241273,
  294. httpOnly: false,
  295. secure: false,
  296. sameSite: "Lax",
  297. },
  298. {
  299. name: "_gat_UA-54981048-29",
  300. value: "1",
  301. domain: ".pcid.ca",
  302. path: "/",
  303. expires: 1710154928,
  304. httpOnly: false,
  305. secure: false,
  306. sameSite: "Lax",
  307. },
  308. {
  309. name: "_spvid_",
  310. value: "54187d19-69cb-484e-a3d0-9497988c16b3",
  311. domain: ".pcid.ca",
  312. path: "/",
  313. expires: 1741690873.47599,
  314. httpOnly: false,
  315. secure: true,
  316. sameSite: "None",
  317. },
  318. {
  319. name: "_imp_apg_r_",
  320. value: "%7B%22_d%22%3A%222005001710154867429%22%2C%22diA%22%3A%22AXPk7mUAAAAAeRAwUOs8QkMGAGcczspi%22%2C%22diB%22%3A%22AWmeV2ndw%2Bpk0hi3U92sP5ptBP2BhRen%22%2C%22_rt%22%3A%22DTAOXJNKxU%2FD8Cmqgy60kbkWHNqgyCGk2WQc6jiympE%3D%22%2C%22_v%22%3A%22N0xveLlSqD3B6H6y8GjtosxZAPmi2xG9xDoe6l6Sr40WXrmufMbW8X0YOroXUGnLLjbkDbm38PSeQ2jjTqQZP6cU6rAP%2FBFpDDbnTrQJ%22%2C%22_fr%22%3A20000%2C%22fr%22%3A%22Xxy5UguC9ucRUjAMvOi3Ww%3D%3D0DlbtfL3nsrRozipO2j4wqc94LHEM59elNjsu-RsJdfpxTtVziFGSiiFCp474JYVxCQ51Anzn29a2o07GudctqMmkoV9PmtkwDE9ycJtbhlX7HYtrzK3dsUvwfSYOyUXtiaZRJ4g8elnunk-e-d2FXxk7STWj60Se_MPMMGKkt1yhUVIOS57VlyS%22%2C%22ct%22%3A%22N0xqfP9dvTHN%2FDf8tmCks8RWDvWc7RCr03kL%2Fkw%3D%22%7D",
  321. domain: ".pcid.ca",
  322. path: "/",
  323. expires: 1741711822.418511,
  324. httpOnly: false,
  325. secure: true,
  326. sameSite: "None",
  327. },
  328. {
  329. name: "_abck",
  330. value: "35D4FA0F884B0BE9BAF997E880ED80EF~-1~YAAQX+HdF0VYbhqOAQAA0ncsLQtLVT22GGTCXkkfC1LQsJK73Ul0TfYhUEZx2msM+KZKc4wJxXrdHslj1xSDTEOASOlw2InZFi6hom8XCh+lOCzivZo+wXzYVaITQ997huKfMHhRDNW46W1mjRm4HV0oZKdC9QPpwzyr6q8GPxDmMF1MJDzevsD/LoLL+/iILGSibzAaUIBjtw00Gn1EXMpEA5B/f7+uxENfDpNt04JTrSWfKCOaqrkXsLY4ef8NNNSNe2hudi/t6dPJ2qbmZRY52pSm82+4jYbeblm+Pgsr2CrJhC3+/1iCObRSLSM3mXKNO1gOlYp17GqXO1bEEFjQxpQG7LOKSStlj/IKn+ceay8YRE6vF9dSNpmknoUTER1Fzq09iA==~-1~-1~-1",
  331. domain: ".pcid.ca",
  332. path: "/",
  333. expires: 1741690872.693222,
  334. httpOnly: false,
  335. secure: true,
  336. sameSite: "Lax",
  337. },
  338. {
  339. name: "bm_sz",
  340. value: "4934AFB323FBA7A39E1F40EDA7330356~YAAQX+HdF0ZYbhqOAQAA0ncsLReTOcvZfBzd72+MhJjaJDld8eTk5Sz+exsT3EGGHbW8aRC+n9cgIJTGCNlrj0dDsHhgbBFdzLEPzdee8hIKpwmboR5hYgBlYCDA6zeFgI2Erqjv16irN6awIOhgTP/MG2JJGkwoCPYtPnutwR3udV+qA/FUcSpu5iwRC9O3H4DOYGsbW01q8j/cR9KD1Sv+uBd6/u9/5uaapNNmPIiFjbznOHpdwFj0fzDBA6nJ2ex9NG9IeZls7yVs/cKDadfLxn++p+CmMR50b/l+OyjYRdYvKXJfTmjZ332c4FEzUe7zAnS4u6p+WIeUZH5lym59fKIajUVI80CaPQjcHkz580XbP1pfFMuNnbh/t5asTabERfW2d35LgVduDnAprplJ8Q==~4404786~3227970",
  341. domain: ".pcid.ca",
  342. path: "/",
  343. expires: 1710169260.693246,
  344. httpOnly: false,
  345. secure: false,
  346. sameSite: "Lax",
  347. },
  348. {
  349. name: "ADRUM",
  350. value: "s=1710154873107&r=https%3A%2F%2Faccounts.pcid.ca%2Flogin%2Fsuccess",
  351. domain: ".pcid.ca",
  352. path: "/",
  353. expires: -1,
  354. httpOnly: false,
  355. secure: true,
  356. sameSite: "Lax",
  357. },
  358. {
  359. name: "_spvid_id.ab05",
  360. value: "69a0976a-6fe3-4d65-9fb1-f0ca6e243355.1710154867.1.1710154873..6f09428f-c218-4112-ad38-39ff5da901e5..98a17589-88da-4f33-992c-dd76b61d7fdc.1710154867383.4",
  361. domain: ".pcid.ca",
  362. path: "/",
  363. expires: 1744714873.116673,
  364. httpOnly: false,
  365. secure: true,
  366. sameSite: "None",
  367. },
  368. {
  369. name: "bm_sz",
  370. value: "A04FA8AA02DE491ABF173BE1E78FE9C8~YAAQ1OHdF/WX8CuOAQAAMYAsLRcjAv2qqQdx+H7G/IndHA6jA7SEvki1r2mLuABZh6KHVPFWS+irsT23fmb4NT8R2414rYimv+NpY5lgwtt8kibdyBTvLPUv845nYPgWX5OO3/zn4Hafyqfv8WzbxP/3YzwEaIEF8CBT+28K4g8x9renNpXpx63d7ff8vFRKe7zQST0uz6aleluGRu4hORJjRZQTlmyqnpSwRFSndb1Ni2zbWOfkMbQLQxZgHggu8iK81ieqxda68vSTdrD0tglJeLRbNyJ+poTOJhxZLTk4aCAa8S5QSwrq22k0l2+IYm6c57eEV+/gb21DKApJY9vPwGMlsYDC+5rf1dEknmPCapyz4YIhPMbPeS0LQ1Fx+Vu7X88fmlBXTULq9+qTJ26S1Zk9Os66hfdYiQ==~4277314~4338486",
  371. domain: ".pcoptimum.ca",
  372. path: "/",
  373. expires: 1710169249.819592,
  374. httpOnly: false,
  375. secure: false,
  376. sameSite: "Lax",
  377. },
  378. {
  379. name: "_abck",
  380. value: "A91690B3181B426BF442C0D4DF9B3AD1~-1~YAAQ1OHdF6uY8CuOAQAA44osLQs7qzmTXJ1GOCACze2rdZxUiPEymkF4NrhLJPmAly7z9ntQmkLDbVX0JKBwUNcasIuU+GXrYKgwovCK44tIuQQgbcY3NIYiukNoh1T8+qSnRH4/ZmSS3rDUfJnCOKecLzeOj4ODgrQ5n6gwygS2GuNSUwJFAhoN3iWt8WxV5LeZ6dNev9N6jE+OTG6icvBAd3U+x3vWF9UTtCfBZP/0n8mj8BJaxoQ/iAiRWxCbdQfutNd+RSQMvgVKvxgkcshhvnBViRf6hK0/9nF4DffxxW9nefjkQXxxRhLrbZWF1KzjIutdw/u1RgHzOP8cwXhXmT7Qh2czAnAGN2B07KuD3jh5rkE60R8BHBx6t1ZH0BF8pJRvS9qS/zBa~-1~-1~-1",
  381. domain: ".pcoptimum.ca",
  382. path: "/",
  383. expires: 1741690877.545745,
  384. httpOnly: false,
  385. secure: true,
  386. sameSite: "Lax",
  387. },
  388. {
  389. name: "CoQWDnyf",
  390. value: "Et75Ofp2",
  391. domain: "www.pcoptimum.ca",
  392. path: "/",
  393. expires: 1741711830.785246,
  394. httpOnly: false,
  395. secure: false,
  396. sameSite: "Lax",
  397. },
  398. {
  399. name: "_spvid_id.931f",
  400. value: "983e1c99-3ca2-408c-b31e-b8a67c9714bb.1710154851.1.1710154882..a2f1c266-93ba-44d5-9910-b8fe077333bb..60069ef3-630d-4397-9b85-677f58b8eba1.1710154850630.15",
  401. domain: ".pcoptimum.ca",
  402. path: "/",
  403. expires: 1744714881.898254,
  404. httpOnly: false,
  405. secure: true,
  406. sameSite: "None",
  407. },
  408. {
  409. name: "_ga_805MRZ9TJL",
  410. value: "GS1.1.1710154854.1.1.1710154882.0.0.0",
  411. domain: ".pcoptimum.ca",
  412. path: "/",
  413. expires: 1744714882.129938,
  414. httpOnly: false,
  415. secure: false,
  416. sameSite: "Lax",
  417. },
  418. {
  419. name: "_ga",
  420. value: "GA1.2.51486207.1710154854",
  421. domain: ".pcoptimum.ca",
  422. path: "/",
  423. expires: 1744714882.8616,
  424. httpOnly: false,
  425. secure: false,
  426. sameSite: "Lax",
  427. },
  428. {
  429. name: "_imp_apg_r_",
  430. value: "%7B%22_d%22%3A%222005001710154880358%22%2C%22diA%22%3A%22AWbk7mUAAAAAhokpEJyAUqeA1kfXinz5%22%2C%22diB%22%3A%22AWmeV2ndw%2Bpk0hi3U92sP5ptBP2BhRen%22%2C%22_rt%22%3A%22DQ4NJNZKxU%2FD8Cmq20%2BmtO5dH%2BKN2Dj9i2pB%2FXSNroM%3D%22%2C%22_fr%22%3A20000%2C%22fr%22%3A%22xIEM2M0yI5Pos5jTnkLbGQ%3D%3DSNe9NyyXFZKj5fzFgdSPirTEqaZtZJh81vMBCHpvSOQ2H8Jqxt69t78j33SxuKsS1pxjdsLaaH787NHQOM4ihrPXxvtkTSkoumLhDFDNSwDQZ0J-PfSkmatWlggHkM7d8Ej0aD86CJhnxyTtURj7vX0x5hjnFziRvtuf8ucTOVWaKP7eUWW-Qmd0%22%2C%22ct%22%3A%22N0xqfP9dvTHN%2FDf8tmCks8RWDvWc7RCk33oE804%3D%22%7D",
  431. domain: ".pcoptimum.ca",
  432. path: "/",
  433. expires: 1741711835.394307,
  434. httpOnly: false,
  435. secure: true,
  436. sameSite: "None",
  437. },
  438. {
  439. name: "kampyleUserSession",
  440. value: "1710154885506",
  441. domain: "www.pcoptimum.ca",
  442. path: "/",
  443. expires: 1741690885,
  444. httpOnly: false,
  445. secure: true,
  446. sameSite: "None",
  447. },
  448. {
  449. name: "kampyleUserSessionsCount",
  450. value: "2",
  451. domain: "www.pcoptimum.ca",
  452. path: "/",
  453. expires: 1741690885,
  454. httpOnly: false,
  455. secure: true,
  456. sameSite: "None",
  457. },
  458. {
  459. name: "kampyleSessionPageCounter",
  460. value: "1",
  461. domain: "www.pcoptimum.ca",
  462. path: "/",
  463. expires: 1741690885,
  464. httpOnly: false,
  465. secure: true,
  466. sameSite: "None",
  467. },
  468. {
  469. name: "kampyleUserPercentile",
  470. value: "5.99587141904756",
  471. domain: "www.pcoptimum.ca",
  472. path: "/",
  473. expires: 1741690885,
  474. httpOnly: false,
  475. secure: true,
  476. sameSite: "None",
  477. },
  478. ]);
  479. await context.route(
  480. /(\.png)|(\.jpg)|(\.svg)|(\.otf)|(\.woff)|(\.woff2)|(\.ttf)|(\.mp3)/,
  481. (route, request) => {
  482. console.log("Aborting", request.url());
  483. route.abort();
  484. }
  485. );
  486. await context.route(/(\.js$)|(\.css)/, async (route, request) => {
  487. const fileName = resolve(
  488. __dirname,
  489. "cache",
  490. "" + stringHash(request.url())
  491. );
  492. if (fs.existsSync(fileName)) {
  493. await route.fulfill({
  494. body: fs.readFileSync(fileName),
  495. contentType: /\.js$/.test(request.url())
  496. ? "application/javascript"
  497. : "text/css",
  498. });
  499. } else {
  500. const response = await route.fetch();
  501. fs.writeFileSync(fileName, await response.body());
  502. await route.fulfill({
  503. response,
  504. });
  505. }
  506. });
  507. const page = await context.newPage();
  508. await page.goto("https://www.pcoptimum.ca/dashboard");