@duckduckgo/autoconsent 16.61.0 → 16.63.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.node-version +1 -1
- package/CHANGELOG.md +118 -0
- package/dist/addon-firefox/compact-rules.json +1 -1
- package/dist/addon-firefox/content.bundle.js +14 -1
- package/dist/addon-firefox/manifest.json +1 -1
- package/dist/addon-firefox/rule-index.json +1 -1
- package/dist/addon-firefox/rules.json +1 -1
- package/dist/addon-mv3/compact-rules.json +1 -1
- package/dist/addon-mv3/content.bundle.js +14 -1
- package/dist/addon-mv3/manifest.json +1 -1
- package/dist/addon-mv3/rule-index.json +1 -1
- package/dist/addon-mv3/rules.json +1 -1
- package/dist/autoconsent.cjs.js +14 -1
- package/dist/autoconsent.esm.js +14 -1
- package/dist/autoconsent.playwright.js +14 -1
- package/dist/autoconsent.standalone.js +15 -2
- package/dist/heuristics.cjs.js +14 -1
- package/dist/heuristics.mjs +14 -1
- package/lib/heuristic-patterns.ts +17 -1
- package/package.json +2 -2
- package/rules/autoconsent/acos-cms.json +14 -0
- package/rules/autoconsent/adnuntius.json +31 -0
- package/rules/autoconsent/adstate.json +32 -0
- package/rules/autoconsent/appconsent-legacy.json +22 -1
- package/rules/autoconsent/aslroma1-it.json +36 -0
- package/rules/autoconsent/bancaditalia.json +29 -0
- package/rules/autoconsent/banknorwegian.json +19 -0
- package/rules/autoconsent/batteriexperten-com.json +34 -0
- package/rules/autoconsent/beetle-tracking.json +22 -0
- package/rules/autoconsent/bold-cookie-consent.json +64 -0
- package/rules/autoconsent/bosch-dock-privacy-settings.json +10 -0
- package/rules/autoconsent/bullionbypost.json +113 -0
- package/rules/autoconsent/buonmedico.json +32 -0
- package/rules/autoconsent/casier-judiciaire-justice-gouv-fr.json +40 -0
- package/rules/autoconsent/civilservicejobs-service-gov-uk.json +38 -0
- package/rules/autoconsent/ckies.json +1 -1
- package/rules/autoconsent/coki61.json +29 -0
- package/rules/autoconsent/compricer.json +19 -0
- package/rules/autoconsent/concordia-ch.json +13 -0
- package/rules/autoconsent/consentaur.json +30 -0
- package/rules/autoconsent/consentmagic.json +62 -0
- package/rules/autoconsent/cookie-notice-checkboxes.json +28 -0
- package/rules/autoconsent/cookie-script.json +8 -6
- package/rules/autoconsent/cookiesinfo-closecookies.json +9 -0
- package/rules/autoconsent/dack365.json +35 -0
- package/rules/autoconsent/ecoprivacy.json +42 -0
- package/rules/autoconsent/emr-ch.json +16 -0
- package/rules/autoconsent/eu-cookie-law-popup.json +33 -0
- package/rules/autoconsent/evozen.fr.json +27 -0
- package/rules/autoconsent/fascicolosanitario-lombardia.json +14 -0
- package/rules/autoconsent/fideuram.json +13 -0
- package/rules/autoconsent/finsweet.json +15 -4
- package/rules/autoconsent/fondoest.it.json +16 -0
- package/rules/autoconsent/fonts-google-com.json +24 -0
- package/rules/autoconsent/fundingchoices.json +12 -2
- package/rules/autoconsent/giustizia-it.json +40 -0
- package/rules/autoconsent/gnoccaforum.json +12 -0
- package/rules/autoconsent/hyrabostad.json +21 -0
- package/rules/autoconsent/idoctors.it.json +21 -0
- package/rules/autoconsent/ihavecookies.json +20 -0
- package/rules/autoconsent/iisvaldagno.json +35 -0
- package/rules/autoconsent/incomit.json +30 -0
- package/rules/autoconsent/ing-de.json +1 -1
- package/rules/autoconsent/insided.json +15 -0
- package/rules/autoconsent/io.no.json +36 -0
- package/rules/autoconsent/jollyroom.json +47 -0
- package/rules/autoconsent/kartverket.json +46 -0
- package/rules/autoconsent/klp-cookie-banner.json +32 -0
- package/rules/autoconsent/krieger-consent-form.json +12 -0
- package/rules/autoconsent/kulturit-ccm.json +11 -0
- package/rules/autoconsent/lexbase-se.json +35 -0
- package/rules/autoconsent/luxmed.json +33 -0
- package/rules/autoconsent/massaggiamilano.json +15 -0
- package/rules/autoconsent/mercedes-benz-cmm.json +55 -0
- package/rules/autoconsent/meta-cookie-dialog.json +37 -0
- package/rules/autoconsent/mittanbud.json +33 -0
- package/rules/autoconsent/nojazz.json +25 -0
- package/rules/autoconsent/octopusenergy-it.json +24 -0
- package/rules/autoconsent/opencmp.json +70 -0
- package/rules/autoconsent/pharmasave.json +13 -0
- package/rules/autoconsent/poki.json +37 -0
- package/rules/autoconsent/polisen-se.json +26 -0
- package/rules/autoconsent/praktikertjanst.json +16 -0
- package/rules/autoconsent/qtip-jgrowl-cookies.json +31 -0
- package/rules/autoconsent/refurbed.json +40 -0
- package/rules/autoconsent/rinkabyror-se.json +29 -0
- package/rules/autoconsent/romeo.json +47 -0
- package/rules/autoconsent/sfanytime.json +47 -0
- package/rules/autoconsent/smartweb.json +18 -0
- package/rules/autoconsent/sourcepoint-top.json +6 -6
- package/rules/autoconsent/stockholm-stad.json +42 -0
- package/rules/autoconsent/stright.json +19 -1
- package/rules/autoconsent/stripchat.com.json +26 -5
- package/rules/autoconsent/trustarc-newcm.json +4 -4
- package/rules/autoconsent/tvp.json +27 -0
- package/rules/autoconsent/umcg.json +16 -0
- package/rules/autoconsent/unive.it.json +62 -0
- package/rules/autoconsent/urvaerket.json +33 -0
- package/rules/autoconsent/vergelijkgroep.json +37 -0
- package/rules/autoconsent/volvocars-com.json +23 -2
- package/rules/autoconsent/vue-cookie-accept-decline.json +42 -0
- package/rules/autoconsent/widiba.json +16 -0
- package/rules/autoconsent/wimc-gtm-consent.json +31 -0
- package/rules/autoconsent/xlbygg.se.json +44 -0
- package/rules/compact-rules.json +1 -1
- package/rules/rule-index.json +1 -1
- package/rules/rules.json +1 -1
- package/tests/acos-cms.spec.ts +9 -0
- package/tests/adnuntius.spec.ts +8 -0
- package/tests/adstate.spec.ts +7 -0
- package/tests/appconsent-legacy.spec.ts +1 -1
- package/tests/aslroma1-it.spec.ts +3 -0
- package/tests/bancaditalia.spec.ts +15 -0
- package/tests/banknorwegian.spec.ts +13 -0
- package/tests/batteriexperten-com.spec.ts +10 -0
- package/tests/beetle-tracking.spec.ts +3 -0
- package/tests/bold-cookie-consent.spec.ts +14 -0
- package/tests/bosch-dock-privacy-settings.spec.ts +8 -0
- package/tests/bullionbypost.spec.ts +17 -0
- package/tests/buonmedico.spec.ts +3 -0
- package/tests/casier-judiciaire-justice-gouv-fr.spec.ts +3 -0
- package/tests/civilservicejobs-service-gov-uk.spec.ts +3 -0
- package/tests/coki61.spec.ts +3 -0
- package/tests/compricer.spec.ts +3 -0
- package/tests/concordia-ch.spec.ts +3 -0
- package/tests/consentaur.spec.ts +6 -0
- package/tests/consentmagic.spec.ts +10 -0
- package/tests/cookie-notice-checkboxes.spec.ts +13 -0
- package/tests/cookie-script.spec.ts +4 -0
- package/tests/cookiesinfo-closecookies.spec.ts +8 -0
- package/tests/dack365.spec.ts +3 -0
- package/tests/ecoprivacy.spec.ts +8 -0
- package/tests/emr-ch.spec.ts +3 -0
- package/tests/eu-cookie-law-popup.spec.ts +8 -0
- package/tests/evozen.fr.spec.ts +3 -0
- package/tests/fascicolosanitario-lombardia.spec.ts +3 -0
- package/tests/fideuram.spec.ts +3 -0
- package/tests/finsweet.spec.ts +5 -1
- package/tests/fondoest.it.spec.ts +6 -0
- package/tests/fonts-google-com.spec.ts +5 -0
- package/tests/fundingchoices.spec.ts +7 -1
- package/tests/giustizia-it.spec.ts +15 -0
- package/tests/gnoccaforum.spec.ts +3 -0
- package/tests/hyrabostad.spec.ts +3 -0
- package/tests/idoctors.it.spec.ts +3 -0
- package/tests/ihavecookies.spec.ts +3 -0
- package/tests/iisvaldagno.spec.ts +3 -0
- package/tests/incomit.spec.ts +8 -0
- package/tests/insided.spec.ts +9 -0
- package/tests/io.no.spec.ts +3 -0
- package/tests/jollyroom.spec.ts +9 -0
- package/tests/kartverket.spec.ts +3 -0
- package/tests/klp-cookie-banner.spec.ts +5 -0
- package/tests/krieger-consent-form.spec.ts +3 -0
- package/tests/kulturit-ccm.spec.ts +3 -0
- package/tests/lexbase-se.spec.ts +5 -0
- package/tests/luxmed.spec.ts +3 -0
- package/tests/massaggiamilano.spec.ts +3 -0
- package/tests/mercedes-benz-cmm.spec.ts +12 -0
- package/tests/meta-cookie-dialog.spec.ts +14 -0
- package/tests/mittanbud.spec.ts +3 -0
- package/tests/nojazz.spec.ts +7 -0
- package/tests/octopusenergy-it.spec.ts +3 -0
- package/tests/opencmp.spec.ts +22 -0
- package/tests/pharmasave.spec.ts +3 -0
- package/tests/poki.spec.ts +6 -0
- package/tests/polisen-se.spec.ts +3 -0
- package/tests/praktikertjanst.spec.ts +3 -0
- package/tests/qtip-jgrowl-cookies.spec.ts +9 -0
- package/tests/refurbed.spec.ts +10 -0
- package/tests/rinkabyror-se.spec.ts +3 -0
- package/tests/romeo.spec.ts +3 -0
- package/tests/sfanytime.spec.ts +3 -0
- package/tests/smartweb.spec.ts +17 -0
- package/tests/stockholm-stad.spec.ts +7 -0
- package/tests/stright.spec.ts +11 -0
- package/tests/stripchat.com.spec.ts +4 -1
- package/tests/trustarc-newcm.spec.ts +9 -5
- package/tests/tvp.spec.ts +3 -0
- package/tests/umcg.spec.ts +3 -0
- package/tests/unive.it.spec.ts +3 -0
- package/tests/urvaerket.spec.ts +13 -0
- package/tests/vergelijkgroep.spec.ts +3 -0
- package/tests/volvocars-com.spec.ts +1 -1
- package/tests/vue-cookie-accept-decline.spec.ts +8 -0
- package/tests/widiba.spec.ts +3 -0
- package/tests/wimc-gtm-consent.spec.ts +3 -0
- package/tests/xlbygg.se.spec.ts +3 -0
- package/tests-wtr/heuristics/heuristics-utils.test.ts +49 -0
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "opencmp",
|
|
3
|
+
"vendorUrl": "https://opencmp.net/",
|
|
4
|
+
"prehideSelectors": [],
|
|
5
|
+
"detectCmp": [
|
|
6
|
+
{
|
|
7
|
+
"exists": [".cmp-root-container", "#cmp_consentDialog .cmp_ui .cmp_mainButtons"]
|
|
8
|
+
}
|
|
9
|
+
],
|
|
10
|
+
"detectPopup": [
|
|
11
|
+
{
|
|
12
|
+
"visible": [".cmp-root-container", "#cmp_consentDialog .cmp_ui"]
|
|
13
|
+
}
|
|
14
|
+
],
|
|
15
|
+
"optIn": [
|
|
16
|
+
{
|
|
17
|
+
"waitForThenClick": [".cmp-root-container", ".cmp_ui .cmp_mainButtons .cmp-button-accept-all"]
|
|
18
|
+
}
|
|
19
|
+
],
|
|
20
|
+
"optOut": [
|
|
21
|
+
{
|
|
22
|
+
"if": {
|
|
23
|
+
"exists": [".cmp-root-container", ".cmp_ui .cmp_mainButtons .cmp_button:not(.cmp-button-accept-all)"]
|
|
24
|
+
},
|
|
25
|
+
"then": [
|
|
26
|
+
{
|
|
27
|
+
"click": [".cmp-root-container", ".cmp_ui .cmp_mainButtons .cmp_button:not(.cmp-button-accept-all)"]
|
|
28
|
+
}
|
|
29
|
+
],
|
|
30
|
+
"else": [
|
|
31
|
+
{
|
|
32
|
+
"click": [".cmp-root-container", ".cmp_ui .cmp_mainButtons .cmp_saveLink a"]
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"waitFor": [".cmp-root-container", ".cmp_ui .cmp_level1Container"],
|
|
36
|
+
"timeout": 3000
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"click": [".cmp-root-container", ".cmp_ui .cmp_activateAll button:nth-child(2)"],
|
|
40
|
+
"all": true,
|
|
41
|
+
"optional": true
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"click": [".cmp-root-container", ".cmp_ui .cmp_level1Container .cmp_levelItem:nth-child(2) > div"],
|
|
45
|
+
"optional": true
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"waitFor": [".cmp-root-container", ".cmp_ui .cmp_level1Container .cmp_levelItem.cmp_active:nth-child(2)"],
|
|
49
|
+
"timeout": 2000,
|
|
50
|
+
"optional": true
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"click": [".cmp-root-container", ".cmp_ui .cmp_activateAll button:nth-child(2)"],
|
|
54
|
+
"all": true,
|
|
55
|
+
"optional": true
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"click": [".cmp-root-container", ".cmp_ui .cmp_mainButtons .cmp_saveLink a"]
|
|
59
|
+
}
|
|
60
|
+
]
|
|
61
|
+
}
|
|
62
|
+
],
|
|
63
|
+
"test": [
|
|
64
|
+
{
|
|
65
|
+
"waitForVisible": [".cmp-root-container", "#cmp_consentDialog .cmp_ui"],
|
|
66
|
+
"timeout": 2000,
|
|
67
|
+
"check": "none"
|
|
68
|
+
}
|
|
69
|
+
]
|
|
70
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "pharmasave",
|
|
3
|
+
"runContext": { "urlPattern": "^https?://(www\\.)?pharmasave\\.com/" },
|
|
4
|
+
"prehideSelectors": [".cookie-consent-popup"],
|
|
5
|
+
"detectCmp": [{ "exists": ".cookie-consent-popup .cookie-consent-accept" }],
|
|
6
|
+
"detectPopup": [{ "visible": ".cookie-consent-popup .cookie-consent-accept" }],
|
|
7
|
+
"optIn": [{ "waitForThenClick": ".cookie-consent-popup .cookie-consent-accept .elementor-button", "retry": 10, "retryInterval": 500 }],
|
|
8
|
+
"optOut": [
|
|
9
|
+
{ "waitForThenClick": ".cookie-consent-popup .cookie-consent-accept .elementor-button", "retry": 10, "retryInterval": 500 },
|
|
10
|
+
{ "waitForVisible": ".cookie-consent-popup", "check": "none" }
|
|
11
|
+
],
|
|
12
|
+
"test": [{ "cookieContains": "cookie_consent=accepted" }]
|
|
13
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "poki",
|
|
3
|
+
"_metadata": {
|
|
4
|
+
"vendorUrl": "https://poki.com/"
|
|
5
|
+
},
|
|
6
|
+
"runContext": {
|
|
7
|
+
"urlPattern": "^https?://(\\w+\\.)?poki\\.com/"
|
|
8
|
+
},
|
|
9
|
+
"prehideSelectors": ["#notification-stack > div:has(> header > [style*='ui-icons-lock.svg'] ~ button)"],
|
|
10
|
+
"detectCmp": [
|
|
11
|
+
{
|
|
12
|
+
"exists": "#notification-stack header:has([style*='ui-icons-lock.svg']) button"
|
|
13
|
+
}
|
|
14
|
+
],
|
|
15
|
+
"detectPopup": [
|
|
16
|
+
{
|
|
17
|
+
"visible": "#notification-stack header:has([style*='ui-icons-lock.svg']) button"
|
|
18
|
+
}
|
|
19
|
+
],
|
|
20
|
+
"optIn": [
|
|
21
|
+
{
|
|
22
|
+
"waitForThenClick": "#notification-stack header:has([style*='ui-icons-lock.svg']) button"
|
|
23
|
+
}
|
|
24
|
+
],
|
|
25
|
+
"optOut": [
|
|
26
|
+
{
|
|
27
|
+
"waitForThenClick": "#notification-stack header:has([style*='ui-icons-lock.svg']) button"
|
|
28
|
+
}
|
|
29
|
+
],
|
|
30
|
+
"test": [
|
|
31
|
+
{
|
|
32
|
+
"waitForVisible": "#notification-stack header:has([style*='ui-icons-lock.svg'])",
|
|
33
|
+
"check": "none",
|
|
34
|
+
"timeout": 2000
|
|
35
|
+
}
|
|
36
|
+
]
|
|
37
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "polisen-se",
|
|
3
|
+
"vendorUrl": "https://polisen.se/",
|
|
4
|
+
"cosmetic": false,
|
|
5
|
+
"runContext": {
|
|
6
|
+
"main": true,
|
|
7
|
+
"frame": false
|
|
8
|
+
},
|
|
9
|
+
"prehideSelectors": ["#cookie-consent.c-cookie-banner"],
|
|
10
|
+
"detectCmp": [{ "exists": "#cookie-consent.c-cookie-banner .c-cookie-banner__quickform" }],
|
|
11
|
+
"detectPopup": [{ "visible": "#cookie-consent.c-cookie-banner" }],
|
|
12
|
+
"optIn": [
|
|
13
|
+
{
|
|
14
|
+
"waitForThenClick": "#cookie-consent .c-cookie-banner__quickform input[name='Purpose.Statistics'][value='True'] ~ input[type='submit']"
|
|
15
|
+
}
|
|
16
|
+
],
|
|
17
|
+
"optOut": [
|
|
18
|
+
{
|
|
19
|
+
"waitForThenClick": "#cookie-consent .c-cookie-banner__quickform input[name='Purpose.Statistics'][value='False'] ~ input[type='submit']"
|
|
20
|
+
}
|
|
21
|
+
],
|
|
22
|
+
"test": [
|
|
23
|
+
{ "waitForVisible": "#cookie-consent.c-cookie-banner", "check": "none", "timeout": 3000, "optional": true },
|
|
24
|
+
{ "cookieContains": "%22statistics%22%3Afalse" }
|
|
25
|
+
]
|
|
26
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "praktikertjanst",
|
|
3
|
+
"vendorUrl": "https://www.praktikertjanst.se/",
|
|
4
|
+
"runContext": {
|
|
5
|
+
"urlPattern": "^https?://(www\\.)?praktikertjanst\\.se/"
|
|
6
|
+
},
|
|
7
|
+
"prehideSelectors": ["#tc-banner"],
|
|
8
|
+
"detectCmp": [{ "exists": "#tc-consent #tc-banner" }],
|
|
9
|
+
"detectPopup": [{ "visible": "#tc-banner .tc-accept-btn" }],
|
|
10
|
+
"optIn": [{ "waitForThenClick": "#tc-banner .tc-accept-all-btn" }],
|
|
11
|
+
"optOut": [
|
|
12
|
+
{ "click": ".tc-checkbox:checked:not([disabled])", "all": true, "optional": true },
|
|
13
|
+
{ "waitForThenClick": "#tc-banner .tc-accept-btn" }
|
|
14
|
+
],
|
|
15
|
+
"test": [{ "cookieContains": "UserConsentedToTastyCookies=[\"nodvandiga\"]" }]
|
|
16
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "qtip-jgrowl-cookies",
|
|
3
|
+
"prehideSelectors": [],
|
|
4
|
+
"detectCmp": [
|
|
5
|
+
{
|
|
6
|
+
"exists": "xpath///div[@id='qtip-growl-container']/div[contains(@class,'qtip-jgrowl')][.//div[contains(@class,'qtip-title')][contains(., 'ookie')]]"
|
|
7
|
+
}
|
|
8
|
+
],
|
|
9
|
+
"detectPopup": [
|
|
10
|
+
{
|
|
11
|
+
"visible": "xpath///div[@id='qtip-growl-container']/div[contains(@class,'qtip-jgrowl')][.//div[contains(@class,'qtip-title')][contains(., 'ookie')]]"
|
|
12
|
+
}
|
|
13
|
+
],
|
|
14
|
+
"optIn": [
|
|
15
|
+
{
|
|
16
|
+
"waitForThenClick": "xpath///div[@id='qtip-growl-container']/div[contains(@class,'qtip-jgrowl')][.//div[contains(@class,'qtip-title')][contains(., 'ookie')]]//a[contains(@class,'qtip-close')]"
|
|
17
|
+
}
|
|
18
|
+
],
|
|
19
|
+
"optOut": [
|
|
20
|
+
{
|
|
21
|
+
"waitForThenClick": "xpath///div[@id='qtip-growl-container']/div[contains(@class,'qtip-jgrowl')][.//div[contains(@class,'qtip-title')][contains(., 'ookie')]]//a[contains(@class,'qtip-close')]"
|
|
22
|
+
}
|
|
23
|
+
],
|
|
24
|
+
"test": [
|
|
25
|
+
{
|
|
26
|
+
"waitForVisible": "xpath///div[@id='qtip-growl-container']/div[contains(@class,'qtip-jgrowl')][.//div[contains(@class,'qtip-title')][contains(., 'ookie')]]",
|
|
27
|
+
"check": "none",
|
|
28
|
+
"timeout": 2000
|
|
29
|
+
}
|
|
30
|
+
]
|
|
31
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "refurbed",
|
|
3
|
+
"runContext": {
|
|
4
|
+
"urlPattern": "^https?://(www\\.)?refurbed\\.(com|co\\.uk|[a-z]{2})/"
|
|
5
|
+
},
|
|
6
|
+
"prehideSelectors": ["#cookiebanner"],
|
|
7
|
+
"detectCmp": [
|
|
8
|
+
{
|
|
9
|
+
"exists": "#cookiebanner #acceptNecessaryCookiesBtn"
|
|
10
|
+
}
|
|
11
|
+
],
|
|
12
|
+
"detectPopup": [
|
|
13
|
+
{
|
|
14
|
+
"visible": "#cookiebanner"
|
|
15
|
+
}
|
|
16
|
+
],
|
|
17
|
+
"optIn": [
|
|
18
|
+
{
|
|
19
|
+
"waitForThenClick": "#cookiebanner #acceptAllCookiesBtn"
|
|
20
|
+
}
|
|
21
|
+
],
|
|
22
|
+
"optOut": [
|
|
23
|
+
{
|
|
24
|
+
"waitForThenClick": "#cookiebanner #acceptNecessaryCookiesBtn"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"waitForVisible": "#cookiebanner",
|
|
28
|
+
"check": "none",
|
|
29
|
+
"timeout": 2000
|
|
30
|
+
}
|
|
31
|
+
],
|
|
32
|
+
"test": [
|
|
33
|
+
{
|
|
34
|
+
"cookieContains": "refbConsent={%22categories%22:[%22necessary%22]%2C"
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"cookieContains": "%22consent_date%22:1"
|
|
38
|
+
}
|
|
39
|
+
]
|
|
40
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "rinkabyror-se",
|
|
3
|
+
"vendorUrl": "https://www.rinkabyror.se/",
|
|
4
|
+
"cosmetic": true,
|
|
5
|
+
"runContext": {
|
|
6
|
+
"urlPattern": "^https?://(www\\.)?rinkabyror\\.se/"
|
|
7
|
+
},
|
|
8
|
+
"prehideSelectors": ["#cookie_container"],
|
|
9
|
+
"detectCmp": [
|
|
10
|
+
{
|
|
11
|
+
"exists": "#cookie_container #accept_cookies_btn"
|
|
12
|
+
}
|
|
13
|
+
],
|
|
14
|
+
"detectPopup": [
|
|
15
|
+
{
|
|
16
|
+
"visible": "#cookie_container"
|
|
17
|
+
}
|
|
18
|
+
],
|
|
19
|
+
"optIn": [
|
|
20
|
+
{
|
|
21
|
+
"waitForThenClick": "#accept_cookies_btn"
|
|
22
|
+
}
|
|
23
|
+
],
|
|
24
|
+
"optOut": [
|
|
25
|
+
{
|
|
26
|
+
"hide": "#cookie_container"
|
|
27
|
+
}
|
|
28
|
+
]
|
|
29
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "romeo",
|
|
3
|
+
"vendorUrl": "https://www.romeo.com/",
|
|
4
|
+
"runContext": {
|
|
5
|
+
"urlPattern": "^https?://(www\\.)?romeo\\.com/"
|
|
6
|
+
},
|
|
7
|
+
"detectCmp": [
|
|
8
|
+
{
|
|
9
|
+
"exists": "[role=dialog] form #cookie_consent_accept_all_button"
|
|
10
|
+
}
|
|
11
|
+
],
|
|
12
|
+
"detectPopup": [
|
|
13
|
+
{
|
|
14
|
+
"visible": "[role=dialog] form #cookie_consent_accept_all_button"
|
|
15
|
+
}
|
|
16
|
+
],
|
|
17
|
+
"optIn": [
|
|
18
|
+
{
|
|
19
|
+
"waitForThenClick": "[role=dialog] form #cookie_consent_accept_all_button"
|
|
20
|
+
}
|
|
21
|
+
],
|
|
22
|
+
"optOut": [
|
|
23
|
+
{
|
|
24
|
+
"waitForThenClick": "[role=dialog] form:has(#cookie_consent_accept_all_button) button[type=button]"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"waitForVisible": "[role=dialog] form input#analytical"
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"if": {
|
|
31
|
+
"exists": "[role=dialog] form input#analytical:checked"
|
|
32
|
+
},
|
|
33
|
+
"then": [
|
|
34
|
+
{
|
|
35
|
+
"click": "[role=dialog] form input#analytical"
|
|
36
|
+
}
|
|
37
|
+
]
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"click": "[role=dialog] form:has(input#analytical) button[type=submit]:not(#cookie_consent_accept_all_button)"
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"waitForVisible": "[role=dialog] form #cookie_consent_accept_all_button",
|
|
44
|
+
"check": "none"
|
|
45
|
+
}
|
|
46
|
+
]
|
|
47
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "sfanytime",
|
|
3
|
+
"_metadata": {
|
|
4
|
+
"vendorUrl": "https://www.sfanytime.com/"
|
|
5
|
+
},
|
|
6
|
+
"runContext": {
|
|
7
|
+
"urlPattern": "^https?://(www\\.)?sfanytime\\.com/"
|
|
8
|
+
},
|
|
9
|
+
"prehideSelectors": ["[data-testid=\"cookie-banner\"]"],
|
|
10
|
+
"detectCmp": [
|
|
11
|
+
{
|
|
12
|
+
"exists": "[data-testid=\"cookie-banner\"]"
|
|
13
|
+
}
|
|
14
|
+
],
|
|
15
|
+
"detectPopup": [
|
|
16
|
+
{
|
|
17
|
+
"visible": "[data-testid=\"cookie-banner\"]"
|
|
18
|
+
}
|
|
19
|
+
],
|
|
20
|
+
"optIn": [
|
|
21
|
+
{
|
|
22
|
+
"waitForThenClick": "[data-testid=\"cookie-banner\"] button + button"
|
|
23
|
+
}
|
|
24
|
+
],
|
|
25
|
+
"optOut": [
|
|
26
|
+
{
|
|
27
|
+
"waitForThenClick": "[data-testid=\"cookie-banner\"] button:has(+ button)"
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"waitForVisible": "dialog[open]:has(input[name^=\"cookiesetting.\"])"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"click": "dialog[open] input[name^=\"cookiesetting.\"]:checked:not([disabled])",
|
|
34
|
+
"all": true,
|
|
35
|
+
"optional": true
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"waitForThenClick": "dialog[open]:has(input[name^=\"cookiesetting.\"]) > div > div.p-4 > button"
|
|
39
|
+
}
|
|
40
|
+
],
|
|
41
|
+
"test": [
|
|
42
|
+
{
|
|
43
|
+
"visible": "[data-testid=\"cookie-banner\"]",
|
|
44
|
+
"check": "none"
|
|
45
|
+
}
|
|
46
|
+
]
|
|
47
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "smartweb",
|
|
3
|
+
"vendorUrl": "https://www.smartweb.dk/",
|
|
4
|
+
"cosmetic": false,
|
|
5
|
+
"runContext": {
|
|
6
|
+
"main": true,
|
|
7
|
+
"frame": false
|
|
8
|
+
},
|
|
9
|
+
"prehideSelectors": [".w-cookie"],
|
|
10
|
+
"detectCmp": [{ "exists": ".w-cookie-modal .w-cookie-actions button[name=accept]" }],
|
|
11
|
+
"detectPopup": [{ "visible": ".w-cookie-modal .w-cookie-form" }],
|
|
12
|
+
"optIn": [{ "waitForThenClick": ".w-cookie-modal .w-cookie-actions button[name=accept_all]" }],
|
|
13
|
+
"optOut": [
|
|
14
|
+
{ "click": ".w-cookie-modal .w-cookie-option input[type=checkbox]:checked:not([disabled])", "all": true, "optional": true },
|
|
15
|
+
{ "waitForThenClick": ".w-cookie-modal .w-cookie-actions button[name=accept]" }
|
|
16
|
+
],
|
|
17
|
+
"test": [{ "cookieContains": "cookie_consent=REQUIRED" }]
|
|
18
|
+
}
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sourcepoint-top",
|
|
3
3
|
"vendorUrl": "https://www.sourcepoint.com/",
|
|
4
|
-
"comment": "Top-frame companion to Sourcepoint-frame. The message UI lives in a cross-origin iframe, so the top frame cannot tell an ordinary notice from a 'consent or pay' wall that Sourcepoint-frame has to bail on; hide it either way and undo the scroll lock. Hiding uses visibility rather than display so the iframe keeps its layout and the frame rule can still complete a real rejection underneath, with z-index and pointer-events mirroring the built-in hide step. The scroll lock is undone twice over: removeClass restores each site's own layout in the normal case, and the stylesheet neutralises the lock declarations if Sourcepoint re-adds the class later (it does so on pageshow after a back/forward restore, which autoconsent does not re-run for). Sourcepoint also saves the scroll position before locking and scrolls back to it when it unlocks: the eval step restores that position (the lock can clamp it to the top when a back navigation reloads the page) and clears it, so Sourcepoint does not later scroll to a stale value such as the top after a back/forward restore.",
|
|
4
|
+
"comment": "Top-frame companion to Sourcepoint-frame. The message UI lives in a cross-origin iframe, so the top frame cannot tell an ordinary notice from a 'consent or pay' wall that Sourcepoint-frame has to bail on; hide it either way and undo the scroll lock. Only overlay messages, which Sourcepoint appends to body, are matched: an embedded message rendered inside the page's own consent wall is left alone, since hiding it would remove the wall's only consent control. Hiding uses visibility rather than display so the iframe keeps its layout and the frame rule can still complete a real rejection underneath, with z-index and pointer-events mirroring the built-in hide step. The scroll lock is undone twice over: removeClass restores each site's own layout in the normal case, and the stylesheet neutralises the lock declarations if Sourcepoint re-adds the class later (it does so on pageshow after a back/forward restore, which autoconsent does not re-run for). Sourcepoint also saves the scroll position before locking and scrolls back to it when it unlocks: the eval step restores that position (the lock can clamp it to the top when a back navigation reloads the page) and clears it, so Sourcepoint does not later scroll to a stale value such as the top after a back/forward restore.",
|
|
5
5
|
"minimumRuleStepVersion": 3,
|
|
6
6
|
"runContext": {
|
|
7
7
|
"main": true,
|
|
8
8
|
"frame": false
|
|
9
9
|
},
|
|
10
|
-
"prehideSelectors": ["div[id^='sp_message_container_']"],
|
|
11
|
-
"detectCmp": [{ "exists": "div[id^='sp_message_container_']" }],
|
|
12
|
-
"detectPopup": [{ "visible": "div[id^='sp_message_container_']" }],
|
|
13
|
-
"optIn": [{ "visible": "div[id^='sp_message_container_']", "check": "none" }],
|
|
10
|
+
"prehideSelectors": ["body > div[id^='sp_message_container_']"],
|
|
11
|
+
"detectCmp": [{ "exists": "body > div[id^='sp_message_container_']" }],
|
|
12
|
+
"detectPopup": [{ "visible": "body > div[id^='sp_message_container_']" }],
|
|
13
|
+
"optIn": [{ "visible": "body > div[id^='sp_message_container_']", "check": "none" }],
|
|
14
14
|
"optOut": [
|
|
15
15
|
{
|
|
16
|
-
"stylesheet": "div[id^='sp_message_container_'] { visibility: hidden !important; z-index: -1 !important; pointer-events: none !important; }",
|
|
16
|
+
"stylesheet": "body > div[id^='sp_message_container_'] { visibility: hidden !important; z-index: -1 !important; pointer-events: none !important; }",
|
|
17
17
|
"stylesheetId": "sourcepoint-top-hide"
|
|
18
18
|
},
|
|
19
19
|
{
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "stockholm-stad",
|
|
3
|
+
"vendorUrl": "https://start.stockholm/",
|
|
4
|
+
"prehideSelectors": [".js-cookie-banner.cookie-banner"],
|
|
5
|
+
"detectCmp": [
|
|
6
|
+
{
|
|
7
|
+
"exists": ".js-cookie-banner.cookie-banner #cookie-banner__settings .js-cookie-settings__form"
|
|
8
|
+
}
|
|
9
|
+
],
|
|
10
|
+
"detectPopup": [
|
|
11
|
+
{
|
|
12
|
+
"visible": ".js-cookie-banner.cookie-banner"
|
|
13
|
+
}
|
|
14
|
+
],
|
|
15
|
+
"optIn": [
|
|
16
|
+
{
|
|
17
|
+
"waitForThenClick": ".js-cookie-banner.cookie-banner .cookie-banner__actions .js-cookie-btn"
|
|
18
|
+
}
|
|
19
|
+
],
|
|
20
|
+
"optOut": [
|
|
21
|
+
{
|
|
22
|
+
"waitForThenClick": ".js-cookie-banner.cookie-banner .cookie-banner__actions .js-cookie-banner-settings-btn"
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"waitForVisible": "#cookie-banner__settings .js-cookie-settings__form",
|
|
26
|
+
"timeout": 2000
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"click": "#cookie-banner__settings .js-cookie-settings__checkbox:checked:not(:disabled)",
|
|
30
|
+
"all": true,
|
|
31
|
+
"optional": true
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"click": "#cookie-banner__settings .cookie-settings__submit-btn"
|
|
35
|
+
}
|
|
36
|
+
],
|
|
37
|
+
"test": [
|
|
38
|
+
{
|
|
39
|
+
"cookieContains": "-consent-necessary=1"
|
|
40
|
+
}
|
|
41
|
+
]
|
|
42
|
+
}
|
|
@@ -18,8 +18,26 @@
|
|
|
18
18
|
{
|
|
19
19
|
"waitForThenClick": "#controlled_submit-cookie_consent-consent_banner-privacy_setting_banner_link"
|
|
20
20
|
},
|
|
21
|
+
{ "waitForVisible": "#controlled_banner-cookie_consent-privacy_setting_banner" },
|
|
21
22
|
{
|
|
22
|
-
"
|
|
23
|
+
"if": {
|
|
24
|
+
"exists": "#controlled_banner-cookie_consent-privacy_setting_banner [data-search-key-button=reject_all_text]"
|
|
25
|
+
},
|
|
26
|
+
"then": [
|
|
27
|
+
{
|
|
28
|
+
"waitForThenClick": "#controlled_banner-cookie_consent-privacy_setting_banner [data-search-key-button=reject_all_text]"
|
|
29
|
+
}
|
|
30
|
+
],
|
|
31
|
+
"else": [
|
|
32
|
+
{
|
|
33
|
+
"click": "#controlled_banner-cookie_consent-privacy_setting_banner [role=checkbox][aria-checked=true]",
|
|
34
|
+
"all": true,
|
|
35
|
+
"optional": true
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"waitForThenClick": "#controlled_banner-cookie_consent-privacy_setting_banner [data-search-key-button=save_settings_text]"
|
|
39
|
+
}
|
|
40
|
+
]
|
|
23
41
|
}
|
|
24
42
|
]
|
|
25
43
|
},
|
|
@@ -2,25 +2,46 @@
|
|
|
2
2
|
"name": "stripchat.com",
|
|
3
3
|
"vendorUrl": "https://unknown",
|
|
4
4
|
"cosmetic": false,
|
|
5
|
-
"prehideSelectors": ["
|
|
5
|
+
"prehideSelectors": ["[data-testid=\"CookiesReminder\"]"],
|
|
6
6
|
"detectCmp": [
|
|
7
7
|
{
|
|
8
|
-
"
|
|
8
|
+
"visible": "[data-testid=\"CookiesReminder\"] [data-testid=\"CookiesManage\"]"
|
|
9
9
|
}
|
|
10
10
|
],
|
|
11
11
|
"detectPopup": [
|
|
12
12
|
{
|
|
13
|
-
"visible": "
|
|
13
|
+
"visible": "[data-testid=\"CookiesReminder\"]"
|
|
14
14
|
}
|
|
15
15
|
],
|
|
16
16
|
"optIn": [
|
|
17
17
|
{
|
|
18
|
-
"waitForThenClick": "
|
|
18
|
+
"waitForThenClick": "[data-testid=\"CookiesReminder\"] [data-testid=\"CookiesAcceptAll\"]"
|
|
19
19
|
}
|
|
20
20
|
],
|
|
21
21
|
"optOut": [
|
|
22
22
|
{
|
|
23
|
-
"
|
|
23
|
+
"waitFor": "body:not(.disable-transition)",
|
|
24
|
+
"timeout": 5000,
|
|
25
|
+
"optional": true
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"waitForThenClick": "[data-testid=\"CookiesReminder\"] [data-testid=\"CookiesManage\"]"
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"waitForVisible": "dialog[open] .cookies-select-modal",
|
|
32
|
+
"timeout": 1500,
|
|
33
|
+
"optional": true
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"if": {
|
|
37
|
+
"visible": "dialog[open] .cookies-select-modal",
|
|
38
|
+
"check": "none"
|
|
39
|
+
},
|
|
40
|
+
"then": [
|
|
41
|
+
{
|
|
42
|
+
"click": "[data-testid=\"CookiesReminder\"] [data-testid=\"CookiesManage\"]"
|
|
43
|
+
}
|
|
44
|
+
]
|
|
24
45
|
},
|
|
25
46
|
{
|
|
26
47
|
"waitForThenClick": "dialog[open] .cookies-select-modal .cookies-select-modal__buttons .ds-btn-apply-2-ds"
|
|
@@ -4,23 +4,23 @@
|
|
|
4
4
|
"prehideSelectors": [".truste_popframe.trustarc_newcm_container"],
|
|
5
5
|
"detectCmp": [
|
|
6
6
|
{
|
|
7
|
-
"exists": [".truste_popframe.trustarc_newcm_container", "a.required, a.call"]
|
|
7
|
+
"exists": [".truste_popframe.trustarc_newcm_container", "a.required, a.call, button.required, button.call"]
|
|
8
8
|
}
|
|
9
9
|
],
|
|
10
10
|
"detectPopup": [
|
|
11
11
|
{
|
|
12
|
-
"visible": [".truste_popframe.trustarc_newcm_container", "a.required, a.call"],
|
|
12
|
+
"visible": [".truste_popframe.trustarc_newcm_container", "a.required, a.call, button.required, button.call"],
|
|
13
13
|
"check": "any"
|
|
14
14
|
}
|
|
15
15
|
],
|
|
16
16
|
"optIn": [
|
|
17
17
|
{
|
|
18
|
-
"waitForThenClick": [".truste_popframe.trustarc_newcm_container", "a.call"]
|
|
18
|
+
"waitForThenClick": [".truste_popframe.trustarc_newcm_container", "a.call, button.call"]
|
|
19
19
|
}
|
|
20
20
|
],
|
|
21
21
|
"optOut": [
|
|
22
22
|
{
|
|
23
|
-
"waitForThenClick": [".truste_popframe.trustarc_newcm_container", "a.required"]
|
|
23
|
+
"waitForThenClick": [".truste_popframe.trustarc_newcm_container", "a.required, button.required"]
|
|
24
24
|
}
|
|
25
25
|
],
|
|
26
26
|
"test": [
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "tvp",
|
|
3
|
+
"_metadata": {
|
|
4
|
+
"vendorUrl": "https://polityka-prywatnosci.tvp.pl/"
|
|
5
|
+
},
|
|
6
|
+
"cosmetic": false,
|
|
7
|
+
"runContext": {
|
|
8
|
+
"main": true,
|
|
9
|
+
"frame": false,
|
|
10
|
+
"urlPattern": "^https?://(\\w+\\.)?tvp\\.pl/"
|
|
11
|
+
},
|
|
12
|
+
"prehideSelectors": [".tvp-cookie-overlay"],
|
|
13
|
+
"detectCmp": [{ "exists": ".tvp-cookie-overlay .tvp-covl" }],
|
|
14
|
+
"detectPopup": [{ "visible": ".tvp-cookie-overlay .tvp-covl" }],
|
|
15
|
+
"optIn": [{ "waitForThenClick": ".tvp-covl .tvp-covl__ab" }],
|
|
16
|
+
"optOut": [
|
|
17
|
+
{ "waitForThenClick": ".tvp-covl .tvp-covl__sb" },
|
|
18
|
+
{ "waitFor": ".tvp-covl .tvp-covl__save" },
|
|
19
|
+
{
|
|
20
|
+
"if": { "exists": ".tvp-covl input.iabd:not(:checked)" },
|
|
21
|
+
"then": [{ "click": ".tvp-covl input.iabd" }]
|
|
22
|
+
},
|
|
23
|
+
{ "click": ".tvp-covl .tvp-covl__save" },
|
|
24
|
+
{ "waitForVisible": ".tvp-cookie-overlay .tvp-covl", "check": "none", "timeout": 2000, "optional": true }
|
|
25
|
+
],
|
|
26
|
+
"test": [{ "cookieContains": "TVPtcs22=" }]
|
|
27
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "umcg",
|
|
3
|
+
"vendorUrl": "https://www.umcg.nl/",
|
|
4
|
+
"prehideSelectors": [".cookie-notice-advanced"],
|
|
5
|
+
"detectCmp": [{ "exists": ".cookie-notice-advanced .cookie-bar #cookie-save" }],
|
|
6
|
+
"detectPopup": [{ "visible": ".cookie-notice-advanced .cookie-bar" }],
|
|
7
|
+
"optIn": [{ "waitForThenClick": ".cookie-notice-advanced #cookie-accept-all" }],
|
|
8
|
+
"optOut": [
|
|
9
|
+
{
|
|
10
|
+
"click": ".cookie-notice-advanced input:is(#social-cookies, #advertisement-cookies):checked",
|
|
11
|
+
"all": true,
|
|
12
|
+
"optional": true
|
|
13
|
+
},
|
|
14
|
+
{ "waitForThenClick": ".cookie-notice-advanced #cookie-save" }
|
|
15
|
+
]
|
|
16
|
+
}
|