it-swarm.com.de

Lassen Sie Flash-Inhalte in Chrome 71 über einen Chromtreiber laufen

Ich habe dies verwendet, um Flash für die Chrome-Version 69 zuzulassen.

ChromeOptions options = new ChromeOptions();
// disable ephemeral flash permissions flag
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);

In Version 71 von Chrome wurde diese experimentelle Funktion (EphemeralFlashPermission) jetzt entfernt.

Ich habe auch versucht, diese Einstellungen zu verwenden, aber es funktionierte nicht so gut.

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);

Gibt es jetzt eine andere Möglichkeit, Flash mit einem Chrom-Treiber zu aktivieren?

3
Morta1

Ich habe noch keine Option gefunden und fürchte, ich werde es nie finden.

Die Problemumgehung für Windows ist die Verwendung von Gruppenrichtlinien (durch Hinzufügen von Einträgen zur Registrierung):

reg add HKLM\Software\Policies\Google\Chrome /v DefaultPluginsSetting /d 1 /t REG_DWORD /f
reg add HKLM\Software\Policies\Google\Chrome\PluginsAllowedForUrls /v 1 /d http://* /t REG_SZ /f
reg add HKLM\Software\Policies\Google\Chrome\PluginsAllowedForUrls /v 2 /d https://* /t REG_SZ /f

oder erstellen Sie einfach eine Datei mit der Erweiterung .reg und fügen Sie den folgenden Text ein:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google]

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome]
"DefaultPluginsSetting"=dword:00000001

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome\PluginsAllowedForUrls]
"1"="http://*"
"2"="https://*"

dann speichern und doppelklicken Sie auf diese Datei.

8
doctordrue

Mein kleiner Workaround dazu, @doctordrue;)

from winreg import *
import sys

reg_path = 'Software\Policies\Google\Chrome\PluginsAllowedForUrls'

allow_flash = {'1': 'https://url'}

if sys.platform == 'win32':
    try:
        try:
            RegistryKey = OpenKey(HKEY_LOCAL_MACHINE, reg_path, 0, KEY_ALL_ACCESS)
            for K,V in allow_flash.items():
                try:
                    if QueryValueEx(RegistryKey, K)[0] == V: pass
                    else:
                        SetValueEx(RegistryKey, K, 0, REG_SZ, V)
                except FileNotFoundError:
                    SetValueEx(RegistryKey, K, 0, REG_SZ, V)
            CloseKey(RegistryKey)
        except FileNotFoundError:
            RegistryKey = CreateKey(HKEY_LOCAL_MACHINE, reg_path)
            for K, V in allow_flash.items():
                SetValueEx(RegistryKey, K, 0, REG_SZ, V)
            CloseKey(RegistryKey)
    except:
        # write_in_log(traceback.format_exc())
        pass
0
Acamori