4.mjs 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513
  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. userAgent:
  15. "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36 Edg/121.0.0.0",
  16. viewport: { width: 1297, height: 805 },
  17. locale: "en-CA",
  18. timezoneId: "America/Toronto",
  19. serviceWorkers: "block",
  20. // proxy: {
  21. // server: "217.23.2.7:11728",
  22. // username: "12930238-mobile-country-CA",
  23. // password: "2l159221qn",
  24. // },
  25. });
  26. await context.addCookies([
  27. {
  28. name: "PIM-SESSION-ID",
  29. value: "UVEVwX5GcOHuiFxC",
  30. domain: ".pcoptimum.ca",
  31. path: "/",
  32. expires: -1,
  33. httpOnly: false,
  34. secure: false,
  35. sameSite: "Lax",
  36. },
  37. {
  38. name: "_spvid_ses.931f",
  39. value: "*",
  40. domain: ".pcoptimum.ca",
  41. path: "/",
  42. expires: 1710159839,
  43. httpOnly: false,
  44. secure: true,
  45. sameSite: "None",
  46. },
  47. {
  48. name: "jjSPnsABk",
  49. value: "A7lZXC2OAQAA9b4Ug3Fgon7KRtKIcmrkGp6kQIdpWLS-TGj1Ken4ssy4Pl52Aa75VG4XTlIDwH9eCOfvosJeCA|1|0|a521993573582ce4b54430aa6b4d3f76c46370f8",
  50. domain: ".pcoptimum.ca",
  51. path: "/",
  52. expires: 1744718033.165631,
  53. httpOnly: false,
  54. secure: true,
  55. sameSite: "Lax",
  56. },
  57. {
  58. name: "kameleoonVisitorCode",
  59. value: "3efbe79a-ff61-4eea-b7fe-d71bdbbb36c8",
  60. domain: ".pcoptimum.ca",
  61. path: "/",
  62. expires: 1741694012.088232,
  63. httpOnly: false,
  64. secure: false,
  65. sameSite: "Lax",
  66. },
  67. {
  68. name: "bm_sv",
  69. value: "2D0975A710D77F761734E62D398C27FE~YAAQN+HdF3AFsSyOAQAAq15cLRcsGfTN+83c9xixMqPw+8ta+xkcG3jt1NEH2L5J3wzUHCR/vf+Z6K/6ueOTdmaW8HyFw+zxdLdq72SVy4+JoQHguEiyf31oy6akx/KtFEaGMwrfQxqJP8+5JkFL0kpEes+faa72Xz0GruTJNVNb+IboYa0z04wvNJl5aTve852EwV8Hr9PsUK5IZtDFgfVTDVQwBYRrc5EYPRibDa5MMfZetxNNN90j3CIiRXCxvME=~1",
  70. domain: ".pcoptimum.ca",
  71. path: "/",
  72. expires: 1710165209.152567,
  73. httpOnly: false,
  74. secure: true,
  75. sameSite: "Lax",
  76. },
  77. {
  78. name: "_gcl_au",
  79. value: "1.1.1769014531.1710158013",
  80. domain: ".pcoptimum.ca",
  81. path: "/",
  82. expires: 1717934013,
  83. httpOnly: false,
  84. secure: false,
  85. sameSite: "Lax",
  86. },
  87. {
  88. name: "ak_bmsc",
  89. value: "48286B0D2A2923C08E3871A8A3EFD186~000000000000000000000000000000~YAAQ1OHdF5tM9CuOAQAAiWFcLRfbaRXM17b3kdWQ0BvKNPE5voFBJ976Ji/sUYw8zKrX8nWQKHryeSwB2CnOYA/kLlQW4Jo26X+u+jcZY7cu+8P2lcTao3F6pQTBxe7EwYnU8ky0g29RAJYbM2WjA/OATtWtLQH/MQ3k6+YDN7xP7ob2kE1HcHKssGcwWbnMUnq9buRFRU3IUXkOxV5kPMfcLD//9HH2F0LvR4DkndUWEX0M01kLVY8bVWbkKx3Bcf+gRnHAG11GEINxTv8s9DqyMA4yMPrNOGmnePnaPtMw1s4LNMBHCIsBY0RHYVYPT/ztUapfWPAFQUtoIJbSzysBpTzn45eae7HhcGr/dr/khfwKlrbPRdPMdKdF0+iPR345o7lKuj7ARSEdeih8sJcN/INpyXMZ9iq3UQ2+Fw+9K4neO5tdYx7cx9D8IPb3+nE+bxfBYxOMfcGEKDOxI3nKe0RRx66ZnHAhfABBTBquXb/i9mpYb7xHtoy0/tgsAg==",
  90. domain: ".pcoptimum.ca",
  91. path: "/",
  92. expires: 1710165208.906158,
  93. httpOnly: true,
  94. secure: false,
  95. sameSite: "Lax",
  96. },
  97. {
  98. name: "_gid",
  99. value: "GA1.2.574244360.1710158015",
  100. domain: ".pcoptimum.ca",
  101. path: "/",
  102. expires: 1710244434,
  103. httpOnly: false,
  104. secure: false,
  105. sameSite: "Lax",
  106. },
  107. {
  108. name: "_gat_UA-87445536-1",
  109. value: "1",
  110. domain: ".pcoptimum.ca",
  111. path: "/",
  112. expires: 1710158074,
  113. httpOnly: false,
  114. secure: false,
  115. sameSite: "Lax",
  116. },
  117. {
  118. name: "_fbp",
  119. value: "fb.1.1710158015314.1404317019",
  120. domain: ".pcoptimum.ca",
  121. path: "/",
  122. expires: 1717934036,
  123. httpOnly: false,
  124. secure: false,
  125. sameSite: "Lax",
  126. },
  127. {
  128. name: "receive-cookie-deprecation",
  129. value: "1",
  130. domain: ".doubleclick.net",
  131. path: "/",
  132. expires: 1725710035.248061,
  133. httpOnly: true,
  134. secure: true,
  135. sameSite: "None",
  136. },
  137. {
  138. name: "_imp_di_pc_",
  139. value: "AcDw7mUAAAAA1nCMn0bL4MlwFUHlrxKO",
  140. domain: ".pcoptimum.ca",
  141. path: "/",
  142. expires: 1741694035.986347,
  143. httpOnly: false,
  144. secure: true,
  145. sameSite: "Lax",
  146. },
  147. {
  148. name: "mdLogger",
  149. value: "false",
  150. domain: "www.pcoptimum.ca",
  151. path: "/",
  152. expires: 1741694037,
  153. httpOnly: false,
  154. secure: true,
  155. sameSite: "None",
  156. },
  157. {
  158. name: "kampyle_userid",
  159. value: "fc37-dda7-f35e-76ec-7376-f88f-7e03-b595",
  160. domain: "www.pcoptimum.ca",
  161. path: "/",
  162. expires: 1741694017,
  163. httpOnly: false,
  164. secure: true,
  165. sameSite: "None",
  166. },
  167. {
  168. name: "IDE",
  169. value: "AHWqTUkmQ5lw8fgkd0cehBuPmVCSQz3ygjNyXY_UfxPcTZQ7GA_mxNvQmeFvBbNF1Yk",
  170. domain: ".doubleclick.net",
  171. path: "/",
  172. expires: 1744718018.037597,
  173. httpOnly: true,
  174. secure: true,
  175. sameSite: "None",
  176. },
  177. {
  178. name: "ORA_OCIS_REQ_2",
  179. value: "n3Vgwp1oSTrxmHznnCZ8Kx1sNr81ctmAo3pG+OFhSyXbwAYmeuxfIQQMKB2aaSR5s3XN53jzNeyVh2q83nkI0xeOlJ5skTtfL3s6awKzOAQ8nlZddq+I2HXRdVRnNO3LfWA68XdpKGFVlPGHuaahKOff4JSUc8fox/NCkCSk8w2HTjdY82yBh9t/TycbY2BxzXV7BKoiyLvn1xVdZawkolWV8L58C1CCa/OlkG4V1LWtLsx3KrdnU5vVBOdctXFGZS4cx29VTfyWA8WfiBlZFAkda0leldlpfjCjLa6YpNmnB5pwkRlNRMkMEKKpUuS6btTInvNrfWbzpMtMkHcunY5qyibw4D0H0ab9LvbNXh0Qd0ZOgmmNs05Snywggu6x2OYclRzQpuJ1jWpxuOT+aIuWxafe5s4rqh0YHtIAks4FleNKhUeHFtTsLF5wWhxPZvFpYJeROdHILyo/cp1bISoIiihnbGlacV4usK9crU9Kr0PxFPkBPvLgoAShPMdJr4uanTdCJ3/Ls2QJAgj+1fsF5cUzKoYHJIwLJFnKyU0aDgg09UsDSJj9fgHJP7duz/oEuDCoaFUFXB4wwkKeWIdzY2+sOIxCrEB4eP9T/JeJvfi8aDmKlWWfVwAh/jJQtNYAzTMZI0CArptddu9b+81+i/jn2j5tkEH3O9jhuimYFZEIs3taYYNfuX8JEt7n2RCN6nvpG60arn9wJI2vcndF3LBCoSYmkwoE2yPgJEB73njbNgtiWeW2iTWIxpzSYu9P9oB8Rnh8no50+XeTSbMyfLS6T8Exg1fbYvDK1dopO2C0HtV56+gUnjJRsEHOPJ/WPopC5cE77hV2MIk9Ybui48FaJU45jUl6dlO+lu2yGI2LGMuUuk/btoTOvOnhRE+R4HILMyZWFYgF9uZFOdzeBNae2mwhAHH4jboiVQ~g2h2SkXYLU1xFP4U4gtE2q1JWy0PvkuV3AEFuKFAYzo",
  180. domain: "accounts.pcid.ca",
  181. path: "/",
  182. expires: -1,
  183. httpOnly: true,
  184. secure: true,
  185. sameSite: "None",
  186. },
  187. {
  188. name: "ORA_OCIS_REQ_1",
  189. value: "uiNbZB1NlBh27J5d4xERaGaRMcfJhHONj1VfhJnButEbY3AyeudE+H3Ed9oESLPrwPXvz6I31ao6Mx/a0LUH/WHjCG9BdX50cLlkBCJrtr+3Wa7d7QXXEXHAwr0nmULeH7h0fXoGX+S2pcsRGGbEF2RNad+FFbKXMbhzKXpWNRuELjL94Dkj0+EAjIXoQe8Y4tafchxomasblpMZUxHaO+Srn81fyBvh+OQsAlm/72FoFjPa0wOb6s8QCekV+tnrWxvSknohPu1addhBY9ZJx2XlCM6o7Ws6xbbSc9dvM+zcYtMz22zRgFue/53SOF0G6aIMhtZzLseBUVABaJBWlcPG7fGKwBHinBcKgvmpKe2pdHic7oPAIw6cGyuUoVc7nadOor67MZFuMV1dUsynNe6Te79AADtgKBNCmDfWSdUd+076YkCwRhlt5SbkXls/72TbQ+dqqsu/Pm0uBJOnnLl7yQ+994ouD3ytz6QsqtnSJwIr90aZDWRk0wsdLekYs64QpPaoOm2q5QdjLiZ1du8WMmKkuLQI81gsbSliz9ZZEw+EsxJM7dxOafKZa9kllDQlgKZSPURo3S33yLS52e0C7ulxSwBXu9mjgPPWBZHvPgTdks84UUZHOd5SqJa0OPQD6sjqf7JJU0iunZhv15sPnLfrsZBCgBxRcZHy+Re3y2RgZxSsuDllyircwkQ/i2Z55lrlo+g8VQbuYVkBKEdWjhAPeZc3bonM3CMhIRFLR9RbjT23k8spT/c6sU0IbMf9oZ9ZEIyP1+a550avEsY8orbd8S52JjxL3N+WHMOaFMbhoDHI5MNvDfE0f6BZ3CyrWrCZ5+l+/NrbHBrOYy6IuqKoW4+qswdR8da6qGV+qLY8tlPa7IlIOod1InkTPX7d1YlEwhs7VhZ3czzSlrKfKTtHAzG9dO2tbDt/C6PzaWdXZyDtbWFLpWk/iXK0D7WCTYghTNOTvqWfeFbrcA8L2E3Su19v/u23miMccF4T3DayOAEjA743CRw3oQoYfEYIqECRRHsE2RGUpQ0GXQhrAAexRfbJra1FFCJBpw7xTsFOyksOVwWECDpKyQ3PIe8eKyROGCrL7Dye16pN3DpXK763MIyXv/0Wnxrypi/hwhOn6xc29BUN7bs7IlJ3Hj5zovUw5oHTKhv+EHTx4k2hiZnSWPrF4i4GqgdiML/w/QjQZ5ZIBWNkUeAm/z+RJ8aZDzSzSs5AoUiDMTNHYPhwXrQ2KRvDIcTLYYJfLGWz8dOsBtCLr1ctxxW0K+cBsNFesd5Xt4bQBTpsj4fgn3zlThE/dBLqJv8ygAFOcHWWhK/8CQszMqHFzftVUDtn9L2GUOLIy9S38I9+D9AqwnnDaW6rhqUfRk5wkW5rZCBORuD7IPkE/rK/ntNaOw2jEX6pOYg5CCGkRYkVDGiy9jqyl3Zp8sG+zKmiughY6m6NBTHU0vjaQXxKF2RVYmG2o/RjYP2sEzErXM3j90DtzuPFcSCpaEroOTPxx02m7chIdLJzueyg/TQDRWA1ontCjwoOGqk8Gikk+boKGGlBR4FEhRLYKfBu/wVuNsgj6eKzKOGupiX95Qsl3vSxox2Vm3lll6TUx9tPHJol957Y8xkrZGiWrvnVzZMML1lvUiC8tZ/Z4HPGtZpKRoSOOcy4P2PMQwokEVJfAkD1ubJDPqAGxVrfT27Rdm3Hi5m26MYCUQEQdolRKHAspr1cgHgRqa0K5YxTOpN+rjbadjY08qbGKHRQ31ltYOPVHl3Ba35MY+B/uvLgrTnh/djiogkVQVcsVZern/QQGqv3w+o3uzDywPuNshbDTKGtqVRT+h/zRh7AX+eQMUbaBKC3TJHcvueAoj2g0vkyZo6Fxw7rjf3hGtaM5NuFp+zx1KIUEV39",
  190. domain: "accounts.pcid.ca",
  191. path: "/",
  192. expires: -1,
  193. httpOnly: true,
  194. secure: true,
  195. sameSite: "None",
  196. },
  197. {
  198. name: "PIM-SESSION-ID",
  199. value: "Pe0vmOIHczgghdql",
  200. domain: ".pcid.ca",
  201. path: "/",
  202. expires: -1,
  203. httpOnly: false,
  204. secure: false,
  205. sameSite: "Lax",
  206. },
  207. {
  208. name: "bm_mi",
  209. value: "FC3DDACD62B53504A96804ACD75E07E3~YAAQVuHdF9BI/iiOAQAAeX9cLRecc8YaGp7KP/17DAk6q0rTOR0nLAqOfdncVJ9lZNdOappuoaoYoJH+J5NHDGDDltg1/9H6Tz34Mfi0iKuaImuH8a+1K1TqbGLrxOcMi4S5qLYi2giH4unEU9AVQJ4J4kazBWZb3h3bxPWO4LCQBRRCA3u/VWG522xADqCKn274iNoHvKsNd8RwoELKkdK63CSutFqhhy7GXwEPD07FbMb/rlfg+tcdE/1JbsvgCpThtc2EQCo89ORlw6pWYrtPoLg3YZyi5xOJFRCV8OCb+RkkIJBF~1",
  210. domain: ".pcid.ca",
  211. path: "/",
  212. expires: 1710165218.55062,
  213. httpOnly: false,
  214. secure: true,
  215. sameSite: "Lax",
  216. },
  217. {
  218. name: "bm_sv",
  219. value: "E8EB54AD7BB0D7029DB1A05F10F3CFBB~YAAQVuHdF9FI/iiOAQAAeX9cLRdYMOE4xtNq6rvx42WzIORyrFTTR+xf2uZo3Fd8bBilF/6k4Si4rF2MaAhK7t8qlp/XVXfdqikzZPMntMLZyuko6GdSq5WluYy4lgtzeJIVZiHVQNTIKMCaTUzxJRU8bok82L4hjimpBl7IRADscqbgKUIdtUAqUTdPeOQiJgTpJCDoIGYeOFmJZTdmzDdxZ7HWhIPg9aoAmBpENgPumdOi52F95SoC3q9R~1",
  220. domain: ".pcid.ca",
  221. path: "/",
  222. expires: 1710165220.550684,
  223. httpOnly: false,
  224. secure: true,
  225. sameSite: "Lax",
  226. },
  227. {
  228. name: "jjSPnsABk",
  229. value: "AzqEXC2OAQAA01cSLUc98zdeeEjq8aIJeUdnbw6liaSB-zYz7uV-qeUW8PRPAa75VG4XTlIDwH9eCOfvosJeCA|1|0|b29f59493998cf1dbc0c0aa79101bf3a6c2a247d",
  230. domain: "accounts.pcid.ca",
  231. path: "/",
  232. expires: 1744718028.828725,
  233. httpOnly: false,
  234. secure: true,
  235. sameSite: "Lax",
  236. },
  237. {
  238. name: "CoQWDnyf",
  239. value: "%2FEZEqe8w",
  240. domain: "accounts.pcid.ca",
  241. path: "/",
  242. expires: 1741714975.360319,
  243. httpOnly: false,
  244. secure: false,
  245. sameSite: "Lax",
  246. },
  247. {
  248. name: "_spvid_ses.ab05",
  249. value: "*",
  250. domain: ".pcid.ca",
  251. path: "/",
  252. expires: 1710159829,
  253. httpOnly: false,
  254. secure: true,
  255. sameSite: "None",
  256. },
  257. {
  258. name: "ak_bmsc",
  259. value: "CBDABCEDF86FAD3808CA8A60D70435E4~000000000000000000000000000000~YAAQVuHdF11J/iiOAQAADY1cLRe0hTGp8rwoxgLQ6xc98eNefzj/ZBCDh9/cP3y7Dx5rg3iaYKLwnpWKmMDnV5pXeN6x5FY3AbN6sVdsGYUFGmWPT/7Q3zwqxzOwHPc2fwkXV1NbOr0DW8e6BkJKms8I1PJ9206rtFzr1z7xLKS23gZdigpjBtoKpfdCed1c/tG1tzQMi2JEoOMBB6YAxrk5JFY16Fh6PS+SN9MqUic98G2Kc5ABYgu4BbpT/ZPnmgBM5edTXaqDbP9mGes+NEtX9FfOcE/65MzCUudPnZua1StlXoEINxcBbSEJ8tbOl738UqfmrJfxf1Rni1ruBGA0ubXYP/QnVRAtYfqDc4o+0WjrtyT5de92VU8kYgk6aWPg1H6tB+v3/dYAIxAtN8FN+aau4OlNWsjrAqeAgqb+miXYhdBqkXDUyIXha57mNz9GqrPAxRCLnuU8lclIeAy7WJnuw+xW4gtyf+K6Az8h17f0ysE7oPEsXKItF+VW8w==",
  260. domain: ".pcid.ca",
  261. path: "/",
  262. expires: 1710165219.026448,
  263. httpOnly: true,
  264. secure: false,
  265. sameSite: "Lax",
  266. },
  267. {
  268. name: "_spvid_",
  269. value: "76d2eb89-55ad-4796-ac47-6178829ff168",
  270. domain: ".pcid.ca",
  271. path: "/",
  272. expires: 1741694029.792496,
  273. httpOnly: false,
  274. secure: true,
  275. sameSite: "None",
  276. },
  277. {
  278. name: "_ga",
  279. value: "GA1.2.1559327499.1710158025",
  280. domain: ".pcid.ca",
  281. path: "/",
  282. expires: 1744718029.538065,
  283. httpOnly: false,
  284. secure: false,
  285. sameSite: "Lax",
  286. },
  287. {
  288. name: "_gid",
  289. value: "GA1.2.573644322.1710158025",
  290. domain: ".pcid.ca",
  291. path: "/",
  292. expires: 1710244429,
  293. httpOnly: false,
  294. secure: false,
  295. sameSite: "Lax",
  296. },
  297. {
  298. name: "_gat_UA-54981048-29",
  299. value: "1",
  300. domain: ".pcid.ca",
  301. path: "/",
  302. expires: 1710158085,
  303. httpOnly: false,
  304. secure: false,
  305. sameSite: "Lax",
  306. },
  307. {
  308. name: "_imp_di_pc_",
  309. value: "Acrw7mUAAAAAUpFtqCQgGMYdfUxTrkmg",
  310. domain: ".pcid.ca",
  311. path: "/",
  312. expires: 1741694027.022281,
  313. httpOnly: false,
  314. secure: true,
  315. sameSite: "Lax",
  316. },
  317. {
  318. name: "_imp_apg_r_",
  319. value: "%7B%22_d%22%3A%222005001710158027049%22%2C%22_rt%22%3A%22DQUEQKRexU%2FD8CmqnGXescZOEO6j9jK%2F30IB7iO9pt8%3D%22%2C%22_v%22%3A%22N0xveLlSqD3B6H6y8GjtosxZAPmi2xG9xDoe6kqGrpoOS6W2Pb3b3mEaL74aF2aKIHulDeDl4eWOR3jHXsdXLKoU7bAK%2BRBvATzsSPVElg%3D%3D%22%2C%22_fr%22%3A20000%2C%22diA%22%3A%22Acrw7mUAAAAAUpFtqCQgGMYdfUxTrkmg%22%2C%22diB%22%3A%22ARX3wUdJNoCq2X3xKuLwUOV0kofA0LCk%22%2C%22fr%22%3A%22hFzM-0lghS2kD_IQ6146dg%3D%3DeqjaQwgqVYcplIFRBZRUe7ST1l52CP0ERq2gET7hrrh_sTn8fN2a8hNOyV9IaibyJ2zZdgiqqVKl8Lj1ev2FxClAhm6za7gvLeXqCtYmdHOWA8rZAsY7u2anORhqMDLqQ50rr2B86dGjBVGi-F5rE325JWAMS6ztmzXc9oxvbP1MipCG7WbmSo8a%22%2C%22ct%22%3A%22N0xqfP9dvTHN%2FDf8tmCks8RWDvWc4RSm0XoG9k0%3D%22%7D",
  320. domain: ".pcid.ca",
  321. path: "/",
  322. expires: 1741714979.161319,
  323. httpOnly: false,
  324. secure: true,
  325. sameSite: "None",
  326. },
  327. {
  328. name: "_abck",
  329. value: "A7DB2BC08CF9C6CD136FD72BD1C49AB8~-1~YAAQVuHdFx1K/iiOAQAAvZ9cLQtXVOvtCCzYYM+Q5axiLdZKKl5pRhIhCwGVRedbPyYTYfp80EuRJbCHjksR6XtSviOooUJ7f6VnBsHxylfKbn/nHQmZ5HG0wRzU4K6bKN8OO2rydTFqEm4dhTZtNatmebTXHRbGDMoNUBHjl/ElnkEsThNQ94Mvwm2SjP7EtaYZlP5dQb8OrLKCh9Volw+kVP2ZeSmOJ/OYQWplhVHemmvcslp7+5DDQtVOxett7dUbwV178uGNLCFohe5g6QmBaomKBHTcOpuG/wKmyPj7Gy++3rPNL8GSJlmaBeLb7bRUwnZ3dGfKkPC9kRHvH7UcJ+skvWPmGT2AIXsRzaVN+T0YBva/JhfzW5zGcdkp0akiBk54WDM=~-1~-1~1710161621",
  330. domain: ".pcid.ca",
  331. path: "/",
  332. expires: 1741694028.828942,
  333. httpOnly: false,
  334. secure: true,
  335. sameSite: "Lax",
  336. },
  337. {
  338. name: "bm_sz",
  339. value: "D7748197C35689EC58D119BBF6BEDE6F~YAAQVuHdFx5K/iiOAQAAvZ9cLRd44o6l/Fjzvpzp7ezlJUGIa26RIJmdBGL7STOBz7lbMplTto9qrutLBOZ0HeyEKyvC0GZqf6cSbggnfUL+EPbTuX/L2myxN814/dz448eVnxMXY4YP29Ls9PEbAuOBcT+SlPAucEPo1hmtbxRFl/rQuwo4cOxvm5D2eOGz8n1d5b5L/Q49njHUXWcECQXan6RIrb/ZrgB+e+zEY5BXW/hhtaA6z9XmKa/QzXbyEwdkDbtCDqrB2CFjHs5N9fK465pWCKPs3i/LWLTDuB4GSoEdt1CYD92uIh/X+SziUV35bET/9PcosBbCOJc8kLFzSxBRKOGzc0N21BkaL6EBdSSiaNin0kEO56PVfO7V134EVoq7cSfMk2JhALmfi8I3Gw==~4538693~4340035",
  340. domain: ".pcid.ca",
  341. path: "/",
  342. expires: 1710172418.829054,
  343. httpOnly: false,
  344. secure: false,
  345. sameSite: "Lax",
  346. },
  347. {
  348. name: "ADRUM",
  349. value: "s=1710158029515&r=https%3A%2F%2Faccounts.pcid.ca%2Flogin%2Fsuccess",
  350. domain: ".pcid.ca",
  351. path: "/",
  352. expires: -1,
  353. httpOnly: false,
  354. secure: true,
  355. sameSite: "Lax",
  356. },
  357. {
  358. name: "_spvid_id.ab05",
  359. value: "685d1028-a034-4073-909e-3fbf85eebd99.1710158024.1.1710158030..1230dc5d-db4c-4435-9ed5-66997ce04b38..e506e2bb-3e29-4607-803f-ed27d1cedbfa.1710158023959.4",
  360. domain: ".pcid.ca",
  361. path: "/",
  362. expires: 1744718029.547748,
  363. httpOnly: false,
  364. secure: true,
  365. sameSite: "None",
  366. },
  367. {
  368. name: "bm_sz",
  369. value: "25876C2A9787BE2B2278082B20E5BA7A~YAAQ1OHdF6xT9CuOAQAAdalcLRfMqO/iYpPXMIRU5WNI1h7AnOvhUGiruX2/p3aDpHXCgnIAwHo6S3Ab0z8PR4DRkYnCE5DMbD1r3S93+4Srm6kZTTVMrb+5U24F1Xt6cwwiJANF7KWgpNjIFttsc9KaEB+8i4z0EF0Qq2lOqEUzn2c4FbOtxXJtZEMZvYgstdpPlbceXPkTVX3AYsE+cv5tlSbUK8npWtfQgfEsc92Z5W1vVGbv0UZ6Qr5vRiGWksPeVFwLhBltD82buXv1AGg/CBbyOTbUglfCOGfNvDrrnuQj9F8w6ZBIk0OwB6ssaEHteTCZU6vN6k5nNjgHqPhnZc9HFTwRKQlV7PJoNDiQw9psKUJoWAv7Bj0vHKzKKoWgmpGX2fyjJIkO8kPJaumwULfRAennkc/oLw==~3749442~4273977",
  370. domain: ".pcoptimum.ca",
  371. path: "/",
  372. expires: 1710172408.30341,
  373. httpOnly: false,
  374. secure: false,
  375. sameSite: "Lax",
  376. },
  377. {
  378. name: "_ga",
  379. value: "GA1.1.239684027.1710158014",
  380. domain: ".pcoptimum.ca",
  381. path: "/",
  382. expires: 1744718034.395862,
  383. httpOnly: false,
  384. secure: false,
  385. sameSite: "Lax",
  386. },
  387. {
  388. name: "CoQWDnyf",
  389. value: "r8BpuZiY",
  390. domain: "www.pcoptimum.ca",
  391. path: "/",
  392. expires: 1741714987.015069,
  393. httpOnly: false,
  394. secure: false,
  395. sameSite: "Lax",
  396. },
  397. {
  398. name: "_abck",
  399. value: "47AB9C724901E809D412B25B2C40C61F~-1~YAAQ1OHdFw5V9CuOAQAAabhcLQvF+LjEkmvEMosvgnObi5kDRrXVMwYDLqEej+0bgX2wPRvj3tpIp7VpmcdGxUtMtkvgEqmJ+/01s02JWVxMFEM8vPaZHpXugdD3YhJcsNBIv7kImsJeyfT866YSG+sJvJ3USiLucCzKUQ4Kaul/qSJlWmMXMeTFTZIvTpgbgKjMn//DQzLYOaWeLFxVSkeRhw6uYvJv7e2u++62TX0qrgnYXWdJohbxlXTmuCKb3WwovVLHyjTqTBYAAZE9jqJYVZA0aAggC++l8uCx8CA3uAcNFlE79WYEn0df+l4wlK9G8PrcvySefvfEP8mYsGx5lZC5TKYjJBMqOzeD0wv++j/7ZImCsruAyogT4gSAcTuKO9t5DdiJPu7RTg==~-1~-1~1710161611",
  400. domain: ".pcoptimum.ca",
  401. path: "/",
  402. expires: 1741694035.132282,
  403. httpOnly: false,
  404. secure: true,
  405. sameSite: "Lax",
  406. },
  407. {
  408. name: "kampyleUserSession",
  409. value: "1710158037767",
  410. domain: "www.pcoptimum.ca",
  411. path: "/",
  412. expires: 1741694037,
  413. httpOnly: false,
  414. secure: true,
  415. sameSite: "None",
  416. },
  417. {
  418. name: "kampyleUserSessionsCount",
  419. value: "2",
  420. domain: "www.pcoptimum.ca",
  421. path: "/",
  422. expires: 1741694037,
  423. httpOnly: false,
  424. secure: true,
  425. sameSite: "None",
  426. },
  427. {
  428. name: "kampyleUserPercentile",
  429. value: "77.80078896816617",
  430. domain: "www.pcoptimum.ca",
  431. path: "/",
  432. expires: 1741694037,
  433. httpOnly: false,
  434. secure: true,
  435. sameSite: "None",
  436. },
  437. {
  438. name: "_ga_805MRZ9TJL",
  439. value: "GS1.1.1710158014.1.1.1710158038.0.0.0",
  440. domain: ".pcoptimum.ca",
  441. path: "/",
  442. expires: 1744718038.284045,
  443. httpOnly: false,
  444. secure: false,
  445. sameSite: "Lax",
  446. },
  447. {
  448. name: "_imp_apg_r_",
  449. value: "%7B%22_d%22%3A%222005001710158036028%22%2C%22diA%22%3A%22AcDw7mUAAAAA1nCMn0bL4MlwFUHlrxKO%22%2C%22diB%22%3A%22ARX3wUdJNoCq2X3xKuLwUOV0kofA0LCk%22%2C%22_rt%22%3A%22DQMlTI9exU%2FD8Cmqwk2amrErHpbLyjmt6n0d5m3gsZ4%3D%22%2C%22_fr%22%3A20000%2C%22fr%22%3A%22L-8LPYbb86JDbrmsiUIL3A%3D%3DAFxUm98ebZ8GLyp3O1OO9rz8nULzZPr-ovFA5L032NM9Mr0xRENTKR9MOEWI1lG4YQufZwC9WnHt8cMvGf20ZuNyjId5pXUX4Cwj0RT6CDKebGQ9zVFSdwVp33dhdX6aas6AMYfXO2bgg80ePKxW2zJV4r2A9p3H81xtXlamhQP5swkucrzSheiI%22%2C%22ct%22%3A%22N0xqfP9dvTHN%2FDf8tmCks8RWDvWc4RSn33AA9k4%3D%22%7D",
  450. domain: ".pcoptimum.ca",
  451. path: "/",
  452. expires: 1741714991.327783,
  453. httpOnly: false,
  454. secure: true,
  455. sameSite: "None",
  456. },
  457. {
  458. name: "_spvid_id.931f",
  459. value: "3efbe79a-ff61-4eea-b7fe-d71bdbbb36c8.1710158011.1.1710158039..f5256281-11e6-4b05-93b9-3285b77d7b8e..d7226fd8-112d-487f-8deb-5595ec9148fa.1710158010549.13",
  460. domain: ".pcoptimum.ca",
  461. path: "/",
  462. expires: 1744718039.392616,
  463. httpOnly: false,
  464. secure: true,
  465. sameSite: "None",
  466. },
  467. {
  468. name: "kampyleSessionPageCounter",
  469. value: "3",
  470. domain: "www.pcoptimum.ca",
  471. path: "/",
  472. expires: 1741694039,
  473. httpOnly: false,
  474. secure: true,
  475. sameSite: "None",
  476. },
  477. ]);
  478. await context.route(
  479. /(\.png)|(\.jpg)|(\.svg)|(\.otf)|(\.woff)|(\.woff2)|(\.ttf)|(\.mp3)/,
  480. (route, request) => {
  481. console.log("Aborting", request.url());
  482. route.abort();
  483. }
  484. );
  485. await context.route(/(\.js$)|(\.css)/, async (route, request) => {
  486. const fileName = resolve(
  487. __dirname,
  488. "cache",
  489. "" + stringHash(request.url())
  490. );
  491. if (fs.existsSync(fileName)) {
  492. await route.fulfill({
  493. body: fs.readFileSync(fileName),
  494. contentType: /\.js$/.test(request.url())
  495. ? "application/javascript"
  496. : "text/css",
  497. });
  498. } else {
  499. const response = await route.fetch();
  500. fs.writeFileSync(fileName, await response.body());
  501. await route.fulfill({
  502. response,
  503. });
  504. }
  505. });
  506. const page = await context.newPage();
  507. await page.goto("https://www.pcoptimum.ca/dashboard");