Playwright 和 Chrome:“此浏览器或应用程序可能不安全”

问题描述 投票:0回答:2

我正在尝试在 Chrome 中进行测试,以便我可以直接在我的测试套件中运行 Google Lighthouse。 当我尝试登录时,我收到 Google 的一个页面,显示“浏览器或应用程序可能不安全” 在我提交我的电子邮件地址后。

我看过其他一些有关此问题的帖子并尝试了他们的建议,但我似乎无法解决它,有人可以帮忙吗?

这就是我在 playwright.config.ts 中设置浏览器的方式

{
  name: 'Chrome - Desktop',
  use: {
    ...devices['Desktop Chrome'],
    browserType: 'chromium',
    launchOptions: {
      ignoreHTTPSErrors: true,
    },
    chromium: {
      args: ['--disable-blink-features=AutomationControlled'],
    },
  } as LaunchOptions,
}, 
playwright playwright-test
2个回答
1
投票

如果您确定在共享电子邮件后正在安全的网站上继续操作,您可以通过将它们添加到参数中来禁用它们。

这里有一些参数可以用来禁用您面临的错误

      args = [
        "--disable-notifications",
        "--disable-gpu",
        "--disable-setuid-sandbox",
        "--deterministic-fetch",
        "--disable-features=IsolateOrigins,site-per-process",
        "--disable-site-isolation-trials",
        "--disable-web-security",
    ];

您可以在这里阅读更多内容:https://github.com/GoogleChrome/chrome-launcher/blob/main/docs/chrome-flags-for-tools.md


0
投票

与arg

--disable-blink-features=AutomationControlled
一起,您可以添加这些

const { chromium } = require('playwright');

const browser = await chromium.launch({ 
    headless: false,
    args: [
      '--disable-blink-features=AutomationControlled',
      '--no-sandbox',         // May help in some environments
      '--disable-web-security', // Not recommended for production use
      '--disable-infobars',    // Prevent infobars
      '--disable-extensions',   // Disable extensions
      '--start-maximized',      // Start maximized
      '--window-size=1280,720'  // Set a specific window size
    ]
});

并确保在上下文中设置最新的用户代理之一,使用 npm 包“user-agents”生成一个

const ua = require('user-agents');

const context = await browser.newContext({
   userAgent: new ua().toString(),
   viewport: { width: 1280, height: 720 },
   deviceScaleFactor: 1,
});

const page = await context.newPage();

就我而言,将用户代理更新为较新的用户代理后,它终于起作用了,即使我的 ua 不是那么旧

© www.soinside.com 2019 - 2024. All rights reserved.