当前位置: 首页 > 面试题库 >

允许通过chromedriver运行的Chrome 69中的Flash内容

仲孙飞文
2023-03-14
问题内容

有谁知道如何在Chrome 69中启用Flash插件。我将chromedriver 2.41与Javaselenium绑定一起使用。我尝试过

prefs.put("profile.default_content_setting_values.plugins", 1);
prefs.put("profile.content_settings.plugin_whitelist.adobe-flash-player", 1);
prefs.put("profile.content_settings.exceptions.plugins.*,*.per_resource.adobe-flash-player", 1);

但没有运气。我还尝试将chrome配置文件首选项与特定网站的不允许/允许的Flash进行比较,然后尝试使用:

            Map<String, Object> site = new HashMap<>();
            Map<String, Object> values = new HashMap<>();
            Map<String, Object> setting = new HashMap<>();
            setting.put("flashPreviouslyChanged", true);
            values.put("last_modified", "13180613213099316");
            values.put("setting", setting);
            site.put("http://my.site,*", values);
            prefs.put("profile.content_settings.exceptions.flash_data", site);

但效果不佳。

我也尝试使用通过指定的配置文件运行

options.addArguments("user-data-dir=" + profileDir);

但由于此白名单设置在Chrome 69中变为“临时”,因此它也将不起作用。

有什么方法可以在支持Flash的Chrome中运行自动化?


问题答案:

谢谢大家的回答。

我终于找到了解决方案。为了从Chrome 69开始以编程方式启用闪光灯,我们必须做两件事:

  1. 禁用临时Flash权限(以启用Flash网站允许的列表)和
  2. 将所有站点添加到该列表。

请参阅以下有关Java的代码:

ChromeOptions options = new ChromeOptions();
// disable ephemeral flash permissions flag
html" target="_blank">options.addArguments("--disable-features=EnableEphemeralFlashPermission");
Map<String, Object> prefs = new HashMap<>();
// Enable flash for all sites for Chrome 69
prefs.put("profile.content_settings.exceptions.plugins.*,*.setting", 1);

options.setExperimentalOption("prefs", prefs);
nestedDriver = new ChromeDriver(options);


 类似资料:
  • 我目前的k8s设置面临一个问题。在生产中,我启动了我们每个服务的三个副本并将它们放在一个pod中。当pod相互通信时,我们希望pod以循环方式与pod中的每个容器通信。不幸的是,由于TLS保持活动,pod之间的连接永远不会终止——我们不想专门更改该部分——但我们确实希望pod中的每个容器都能正常通信。这就是我们现在所拥有的: 如果API试图与pod OSS通信,它将仅与第一个容器通信。我希望API

  • 我已经在ubuntu上安装了chromedriver。现在我使用以下命令执行chromedriver: driver = webdriver。chrome("/usr/lib/chromium-browser/chrome driver ") 然后我尝试运行带有hls视频的链接。但是我收到一个错误,说“请安装Flash播放器”,视频从未运行。有人能帮我弄清楚吗? 注意:相同的视频在同一系统上的默认

  • 问题内容: 我有一个基于Java的Web服务客户端,该客户端连接到Java Web服务(在Axis1框架上实现)。 我的日志文件中出现以下异常: 问题答案: 这通常是由XML声明前的空白引起的,但是它可以是任何文本,例如破折号或任何字符。我说这通常是由空白引起的,因为人们认为空白始终是可忽略的,但事实并非如此。 经常发生的另一件事是UTF-8 BOM(字节顺序标记),如果将文档作为字符流传递给XM

  • 我有一个需要使用代理的Java应用程序。代理设置了System.set属性,但是如果我想测试我的应用程序,如果属性无效,它们似乎会被忽略。我尝试了一个本地安装的代理,我的应用程序的流量被重定向到这个代理。但是如果我输入了错误的端口,我仍然可以在JavaFX WebView中加载页面。是否只能允许通过代理进行连接来测试是否一切正常?

  • 问题内容: 我运行Intellij,当我尝试运行android应用程序时,总是出现内部错误:序言中不允许内容。我认为我已经尽力修复了所有问题,但没有任何效果。之前,我在AndroidManifest中没有做任何特别的事情,所以我不知道为什么它不起作用。 问题答案: 关闭Intellij想法 去你的工作区 删除.idea文件夹 打开您的项目并导入。

  • #include <stdio.h> #include <pthread.h> int a = 0; int b = 0; void *thread1_func(void *p_arg) { while (1) { a++; sleep(1); } } void *thread2_fu