如何在新选项卡中使用 java 禁用 chrome pdf 查看器

How to disable chrome pdf viewer in new tab with java in playwright

提问人:Angel Dayredzhiev 提问时间:2/17/2023 最后编辑:Angel Dayredzhiev 更新时间:2/17/2023 访问量:426

问:

当我在 Playwright 中使用 chromium 时,我正在尝试在新选项卡中禁用 pdf 查看器。你知道如何做到这一点吗?Firefox 有一个方法,叫做 .setFirefoxUserPrefs()。

对于 chrome,它没有实现,但发现了以下内容: chrome://settings/content/pdfDocuments +++ 可由剧作家访问。 如何实施?

我试图从硒中汲取诀窍,但对于剧作家来说,这根本行不通。 我试过了:

  1. 如何在 Selenium 中禁用 Chrome PDF 查看器,当出现任何 PDF 时,它应该在默认下载中自动下载
  2. 在 chromedriver 中禁用 PDF Viewer 插件

但是没有任何成功,你能支持我吗?

包括,我试过了:

private void PlaywrightSmokeTestConfigureInit(String browserType) {
    playwright = Playwright.create();
    ArrayList<String> arguments = new ArrayList<>();
    arguments.add("--start-fullscreen");
    
    boolean headless = false;

    Map<String, Object> map = new HashMap<String, Object>();
    map.put("pdfjs.disabled", true);
    map.put("pdfjs.enabledCache.state", false);
    map.put("plugins.plugins_disabled", new String[] { "Chrome PDF Viewer" });
    map.put("plugins.always_open_pdf_externally", true);
    map.put("profile.default_content_settings.popups", 0);
    map.put("safebrowsing.enabled", "true");
    
    switch (browserType) {
        case "chromium":
            browser = playwright.chromium().launch(new BrowserType.LaunchOptions().setChannel(browserType).setHeadless(headless).setArgs(arguments)
                    .setFirefoxUserPrefs(map));
            break;
        case "firefox":
            browser = playwright.firefox().launch(new BrowserType.LaunchOptions().setChannel(browserType).setHeadless(headless).setArgs(arguments));
            break; ...
谷歌浏览器 chrome选项 playwright-java

评论


答: 暂无答案