index.mjs 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. import { chromium } from "playwright";
  2. import os from "os";
  3. import fs from "fs";
  4. import path from "path";
  5. import rawCookies from "./cookies.js";
  6. import { setTimeout } from "timers/promises";
  7. function formatCookies(cookies) {
  8. return cookies.map((i) => {
  9. switch (i.sameSite) {
  10. case "no_restriction":
  11. i.sameSite = "None";
  12. break;
  13. case "lax":
  14. i.sameSite = "Lax";
  15. break;
  16. case "strict":
  17. i.sameSite = "Strict";
  18. break;
  19. default:
  20. i.sameSite = undefined;
  21. break;
  22. }
  23. return i;
  24. });
  25. }
  26. const cookies = formatCookies(rawCookies);
  27. const __dirname = new URL(".", import.meta.url).pathname;
  28. const userDataDir = fs.mkdtempSync(path.join(os.tmpdir(), "myapp"));
  29. const pathToExtension = path.join(
  30. __dirname,
  31. "fngmhnnpilhplaeedifhccceomclgfbg"
  32. );
  33. // 启动浏览器
  34. const context = await chromium.launchPersistentContext(userDataDir, {
  35. headless: false,
  36. // proxy: {
  37. // server: "199.188.92.93:8000",
  38. // username: "proxy",
  39. // password: "rPZHv9U",
  40. // },
  41. args: [
  42. `--disable-extensions-except=${pathToExtension}`,
  43. `--load-extension=${pathToExtension}`,
  44. ],
  45. userAgent:
  46. "Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3105.3 Safari/537.36",
  47. });
  48. context.addCookies(cookies);
  49. // 创建一个新的浏览器页面
  50. const page = await context.newPage();
  51. await page.goto("https://www.paypal.com/signin");
  52. await setTimeout(10000);
  53. fs.writeFileSync("c.json", JSON.stringify(await context.cookies()));