Electron Spotify无法在桌面模式下打开

pb3s4cty  于 2022-12-08  发布在  Electron
关注(0)|答案(1)|浏览(179)

下面的截图显示了Electron没有在桌面模式下打开spotify。代码如下:

const {BrowserWindow, app} = require("electron");
const pie = require("puppeteer-in-electron")
const puppeteer = require("puppeteer-core");
const fs = require("fs");
const path = require("path");

const main = async () => {
    const cookiesPath = path.join(__dirname, "cookies/open.spotify.com.cookies.json");
 const cookies = JSON.parse(await fs.readFileSync(cookiesPath, 'utf8'));
  await pie.initialize(app);
  const browser = await pie.connect(app, puppeteer);
 
  const window = new BrowserWindow();
  const url = "https://example.com/";
  await window.loadURL(url);
 
  const page = await pie.getPage(browser, window);
  await page.goto("https://open.spotify.com");
  for (const cookie of cookies) {
    if (cookie.name !== 'ig_lang') {
await page.setCookie(cookie);
}
  }
await page.reload();
};

main();

注意,我使用puppeteer-in-electron,这样我就可以自动化网页处理,即使在电子版中也是如此。但是,这不是一个问题,因为即使我正常使用电子版,没有puppeteer,这个问题仍然存在。
本来就应该是这样的:https://cdn.discordapp.com/attachments/1026704902925324410/1026710664611377202/unknown.png
事情是这样的:https://cdn.discordapp.com/attachments/1026704902925324410/1026704903055343626/Screenshot_42.png
希望我已经解释清楚了谢谢

iszxjhcz

iszxjhcz1#

安装软件包"https://github.com/castlabs/electron-releases#v20.0.0+wvcus"
就像这样:
npm install "https://github.com/castlabs/electron-releases#v20.0.0+wvcus" --save-dev
也导入组件

const { BrowserWindow, app, components } = require("electron");

要在桌面模式下打开,只需添加userAgent:

window.loadURL(url, {
    userAgent: "Chrome/105.0.0.0",
});

并在应用程序和组件就绪后创建BrowserWindow

app.whenReady().then(async () => {
    await components.whenReady();
    main();
});

完整代码:

const { BrowserWindow, app, components } = require("electron");
const pie = require("puppeteer-in-electron");
const puppeteer = require("puppeteer-core");
const fs = require("fs");
const path = require("path");

pie.initialize(app);

const main = async () => {
    const cookiesPath = path.join(
        __dirname,
        "cookies/open.spotify.com.cookies.json",
    );
    const cookies = JSON.parse(await fs.readFileSync(cookiesPath, "utf8"));
   
    const browser = await pie.connect(app, puppeteer);

    const window = new BrowserWindow();
    const url = "https://example.com/";
    await window.loadURL(url, {
        userAgent: "Chrome/105.0.0.0",
    });

    const page = await pie.getPage(browser, window);
    await page.goto("https://open.spotify.com");
    for (const cookie of cookies) {
        if (cookie.name !== "ig_lang") {
            await page.setCookie(cookie);
        }
    }
    await page.reload();
};

app.whenReady().then(async () => {
    await components.whenReady()
    main();
});

代码简短版本:

const { BrowserWindow, app, components } = require("electron");

const main = () => {
    const window = new BrowserWindow();
    const url = "https://open.spotify.com";
    window.loadURL(url, {
        userAgent: "Chrome/105.0.0.0",
    });
};

app.whenReady().then(async () => {
    await components.whenReady();
    main();
});

相关问题