@duckduckgo/autoconsent 16.60.0 → 16.62.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 +99 -0
- package/dist/addon-firefox/compact-rules.json +1 -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/manifest.json +1 -1
- package/dist/addon-mv3/rule-index.json +1 -1
- package/dist/addon-mv3/rules.json +1 -1
- package/dist/autoconsent.standalone.js +1 -1
- package/package.json +1 -1
- 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/airbnb.json +32 -0
- package/rules/autoconsent/appconsent.json +6 -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/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/coki61.json +29 -0
- package/rules/autoconsent/com-consent-layer.json +10 -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/ecoprivacy.json +42 -0
- package/rules/autoconsent/emr-ch.json +16 -0
- package/rules/autoconsent/evozen.fr.json +27 -0
- package/rules/autoconsent/fastweb-cookie-center.json +13 -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/futurabolzano-it.json +35 -0
- package/rules/autoconsent/giustizia-it.json +40 -0
- package/rules/autoconsent/gnoccaforum.json +12 -0
- package/rules/autoconsent/gobasic.json +10 -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/io.no.json +36 -0
- package/rules/autoconsent/jollyroom.json +47 -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/livsmedelsverket.json +18 -0
- package/rules/autoconsent/massaggiamilano.json +15 -0
- package/rules/autoconsent/mercedes-benz-cmm.json +55 -0
- package/rules/autoconsent/newsbreak.json +16 -0
- package/rules/autoconsent/nhsapp.json +10 -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/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/sas.json +6 -6
- package/rules/autoconsent/scb.se.json +13 -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/studentapan.json +16 -0
- package/rules/autoconsent/trustarc-newcm.json +4 -4
- package/rules/autoconsent/tv2reg-cookie-notice.json +39 -0
- package/rules/autoconsent/umcg.json +16 -0
- package/rules/autoconsent/unive.it.json +62 -0
- package/rules/autoconsent/vergelijkgroep.json +37 -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/airbnb.spec.ts +3 -0
- package/tests/appconsent.spec.ts +6 -0
- 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/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/coki61.spec.ts +3 -0
- package/tests/com-consent-layer.spec.ts +6 -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/ecoprivacy.spec.ts +8 -0
- package/tests/emr-ch.spec.ts +3 -0
- package/tests/evozen.fr.spec.ts +3 -0
- package/tests/fastweb-cookie-center.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/futurabolzano-it.spec.ts +3 -0
- package/tests/giustizia-it.spec.ts +15 -0
- package/tests/gnoccaforum.spec.ts +3 -0
- package/tests/gobasic.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/io.no.spec.ts +3 -0
- package/tests/jollyroom.spec.ts +9 -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/livsmedelsverket.spec.ts +5 -0
- package/tests/massaggiamilano.spec.ts +3 -0
- package/tests/mercedes-benz-cmm.spec.ts +12 -0
- package/tests/newsbreak.spec.ts +3 -0
- package/tests/nhsapp.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/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/sas.spec.ts +1 -1
- package/tests/scb.se.spec.ts +4 -0
- package/tests/sfanytime.spec.ts +3 -0
- package/tests/smartweb.spec.ts +17 -0
- package/tests/studentapan.spec.ts +3 -0
- package/tests/trustarc-newcm.spec.ts +9 -5
- package/tests/tv2reg-cookie-notice.spec.ts +16 -0
- package/tests/umcg.spec.ts +3 -0
- package/tests/unive.it.spec.ts +3 -0
- package/tests/vergelijkgroep.spec.ts +3 -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/rules/generated/auto_AU_flysas.com_r1s.json +0 -40
- package/rules/generated/auto_CH_airbnb.de_83z.json +0 -40
- package/rules/generated/auto_US_newsbreak.com_0.json +0 -28
- package/tests/generated/auto_AU_flysas.com_r1s.spec.ts +0 -2
- package/tests/generated/auto_CH_airbnb.de_83z.spec.ts +0 -2
- package/tests/generated/auto_US_newsbreak.com_0.spec.ts +0 -2
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "lexbase.se",
|
|
3
|
+
"vendorUrl": "https://lexbase.se/",
|
|
4
|
+
"cosmetic": true,
|
|
5
|
+
"runContext": {
|
|
6
|
+
"urlPattern": "^https?://(www\\.)?lexbase\\.se/"
|
|
7
|
+
},
|
|
8
|
+
"prehideSelectors": ["section.consent-banner"],
|
|
9
|
+
"detectCmp": [
|
|
10
|
+
{
|
|
11
|
+
"exists": "section.consent-banner button.hide-consent"
|
|
12
|
+
}
|
|
13
|
+
],
|
|
14
|
+
"detectPopup": [
|
|
15
|
+
{
|
|
16
|
+
"visible": "section.consent-banner"
|
|
17
|
+
}
|
|
18
|
+
],
|
|
19
|
+
"optIn": [
|
|
20
|
+
{
|
|
21
|
+
"waitForThenClick": "section.consent-banner button.hide-consent"
|
|
22
|
+
}
|
|
23
|
+
],
|
|
24
|
+
"optOut": [
|
|
25
|
+
{
|
|
26
|
+
"hide": "section.consent-banner"
|
|
27
|
+
}
|
|
28
|
+
],
|
|
29
|
+
"test": [
|
|
30
|
+
{
|
|
31
|
+
"visible": "section.consent-banner",
|
|
32
|
+
"check": "none"
|
|
33
|
+
}
|
|
34
|
+
]
|
|
35
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "livsmedelsverket",
|
|
3
|
+
"vendorUrl": "https://www.livsmedelsverket.se/",
|
|
4
|
+
"runContext": {
|
|
5
|
+
"urlPattern": "^https?://(\\w+\\.)?livsmedelsverket\\.se/"
|
|
6
|
+
},
|
|
7
|
+
"prehideSelectors": ["#cookie-banner"],
|
|
8
|
+
"detectCmp": [{ "exists": "#cookie-banner #cookie-consent-settings" }],
|
|
9
|
+
"detectPopup": [{ "visible": "#cookie-banner #cookie-consent-view" }],
|
|
10
|
+
"optIn": [{ "waitForThenClick": "#cookie-banner #cookie-consent-accept" }],
|
|
11
|
+
"optOut": [
|
|
12
|
+
{ "waitForThenClick": "#cookie-banner #cookie-consent-settings" },
|
|
13
|
+
{ "waitForVisible": "#cookie-banner #cookie-settings-view" },
|
|
14
|
+
{ "click": "#cookie-form input[type=checkbox]:checked:not(:disabled)", "all": true, "optional": true },
|
|
15
|
+
{ "click": "#cookie-banner #cookie-settings-save" }
|
|
16
|
+
],
|
|
17
|
+
"test": [{ "cookieContains": "analytic%3A0" }]
|
|
18
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "massaggiamilano",
|
|
3
|
+
"_metadata": {
|
|
4
|
+
"vendorUrl": "https://www.massaggiamilano.it/"
|
|
5
|
+
},
|
|
6
|
+
"runContext": {
|
|
7
|
+
"urlPattern": "^https?://(www\\.)?massagg(iamilano|iemozionali)\\.it/"
|
|
8
|
+
},
|
|
9
|
+
"prehideSelectors": [".navbar-privacy"],
|
|
10
|
+
"detectCmp": [{ "exists": "nav.navbar-privacy .privacy-continue" }],
|
|
11
|
+
"detectPopup": [{ "visible": "nav.navbar-privacy .privacy-continue" }],
|
|
12
|
+
"optIn": [{ "waitForThenClick": "nav.navbar-privacy .privacy-continue" }, { "waitForThenClick": "#generic-modal .privacy-accept" }],
|
|
13
|
+
"optOut": [{ "waitForThenClick": "nav.navbar-privacy .privacy-continue" }, { "waitForThenClick": "#generic-modal .privacy-accept" }],
|
|
14
|
+
"test": [{ "waitForVisible": "nav.navbar-privacy", "check": "none", "timeout": 5000 }]
|
|
15
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "mercedes-benz-cmm",
|
|
3
|
+
"vendorUrl": "https://www.mercedes-benz.com/",
|
|
4
|
+
"prehideSelectors": ["cmm-cookie-banner"],
|
|
5
|
+
"detectCmp": [
|
|
6
|
+
{
|
|
7
|
+
"exists": ["cmm-cookie-banner", ".cmm-cookie-banner__wrapper"]
|
|
8
|
+
}
|
|
9
|
+
],
|
|
10
|
+
"detectPopup": [
|
|
11
|
+
{
|
|
12
|
+
"visible": ["cmm-cookie-banner", ".cmm-cookie-banner__wrapper.visible"]
|
|
13
|
+
}
|
|
14
|
+
],
|
|
15
|
+
"optIn": [
|
|
16
|
+
{
|
|
17
|
+
"waitForThenClick": ["cmm-cookie-banner", "wb7-button[data-test=handle-accept-all-button]"]
|
|
18
|
+
}
|
|
19
|
+
],
|
|
20
|
+
"optOut": [
|
|
21
|
+
{
|
|
22
|
+
"if": {
|
|
23
|
+
"exists": ["cmm-cookie-banner", "wb7-button[data-test=handle-deny-button]"]
|
|
24
|
+
},
|
|
25
|
+
"then": [
|
|
26
|
+
{
|
|
27
|
+
"waitForThenClick": ["cmm-cookie-banner", "wb7-button[data-test=handle-deny-button]"]
|
|
28
|
+
}
|
|
29
|
+
],
|
|
30
|
+
"else": [
|
|
31
|
+
{
|
|
32
|
+
"waitForThenClick": ["cmm-cookie-banner", "wb7-button[data-test=toggle-cookie-details]"]
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"waitForVisible": ["cmm-cookie-banner", "wb7-button[data-test=handle-confirm-selection-button]"]
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"click": ["cmm-cookie-banner", "input[data-test=handle-category-change]:checked:not([disabled])"],
|
|
39
|
+
"all": true,
|
|
40
|
+
"optional": true
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"waitForThenClick": ["cmm-cookie-banner", "wb7-button[data-test=handle-confirm-selection-button]"]
|
|
44
|
+
}
|
|
45
|
+
]
|
|
46
|
+
}
|
|
47
|
+
],
|
|
48
|
+
"test": [
|
|
49
|
+
{
|
|
50
|
+
"waitForVisible": ["cmm-cookie-banner", ".cmm-cookie-banner__wrapper.visible"],
|
|
51
|
+
"timeout": 2000,
|
|
52
|
+
"check": "none"
|
|
53
|
+
}
|
|
54
|
+
]
|
|
55
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "newsbreak",
|
|
3
|
+
"vendorUrl": "https://www.newsbreak.com/",
|
|
4
|
+
"cosmetic": false,
|
|
5
|
+
"runContext": {
|
|
6
|
+
"main": true,
|
|
7
|
+
"frame": false,
|
|
8
|
+
"urlPattern": "^https?://(www\\.)?newsbreak\\.com/"
|
|
9
|
+
},
|
|
10
|
+
"prehideSelectors": [],
|
|
11
|
+
"detectCmp": [{ "exists": "button[aria-label='Close cookie banner']" }],
|
|
12
|
+
"detectPopup": [{ "visible": "button[aria-label='Close cookie banner']" }],
|
|
13
|
+
"optIn": [{ "waitForThenClick": "button[aria-label='Close cookie banner']" }],
|
|
14
|
+
"optOut": [{ "waitForThenClick": "button[aria-label='Close cookie banner']", "comment": "notice only offers a close (X) button" }],
|
|
15
|
+
"test": [{ "waitForVisible": "button[aria-label='Close cookie banner']", "check": "none", "timeout": 2000 }]
|
|
16
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "nhsapp",
|
|
3
|
+
"runContext": { "urlPattern": "^https?://(\\w+\\.)?nhsapp\\.service\\.nhs\\.uk/" },
|
|
4
|
+
"prehideSelectors": ["#cookie-banner.nhsuk-cookie-banner"],
|
|
5
|
+
"detectCmp": [{ "exists": "#cookie-banner [data-qa=\"cookie-banner-close\"]" }],
|
|
6
|
+
"detectPopup": [{ "visible": "#cookie-banner [data-qa=\"cookie-banner\"]" }],
|
|
7
|
+
"optIn": [{ "waitForThenClick": "#cookie-banner [data-qa=\"cookie-banner-close\"]" }],
|
|
8
|
+
"optOut": [{ "waitForThenClick": "#cookie-banner [data-qa=\"cookie-banner-close\"]" }],
|
|
9
|
+
"test": [{ "waitForVisible": "#cookie-banner [data-qa=\"cookie-banner\"]", "timeout": 1000, "check": "none" }]
|
|
10
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "nojazz",
|
|
3
|
+
"vendorUrl": "https://www.webads.nl/",
|
|
4
|
+
"runContext": {
|
|
5
|
+
"main": false,
|
|
6
|
+
"frame": true,
|
|
7
|
+
"urlPattern": "^https://nojazz\\.eu/"
|
|
8
|
+
},
|
|
9
|
+
"prehideSelectors": [],
|
|
10
|
+
"detectCmp": [{ "exists": "#consentui #buttons .btn.amber" }],
|
|
11
|
+
"detectPopup": [{ "visible": "#consentui #buttons .btn.amber" }],
|
|
12
|
+
"optIn": [{ "waitForThenClick": "#consentui #buttons .btn.green" }],
|
|
13
|
+
"optOut": [
|
|
14
|
+
{
|
|
15
|
+
"if": { "visible": "#consentui #buttons .btn.red" },
|
|
16
|
+
"then": [{ "click": "#consentui #buttons .btn.red" }],
|
|
17
|
+
"else": [
|
|
18
|
+
{ "click": "#consentui #buttons .btn.amber" },
|
|
19
|
+
{ "waitFor": "#consentui.screen_2 #filters" },
|
|
20
|
+
{ "click": "#consentui #filters input[type=checkbox]:checked", "all": true, "optional": true },
|
|
21
|
+
{ "waitForThenClick": "#consentui.screen_2 #buttons .btn.green" }
|
|
22
|
+
]
|
|
23
|
+
}
|
|
24
|
+
]
|
|
25
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "octopusenergy-it",
|
|
3
|
+
"runContext": {
|
|
4
|
+
"urlPattern": "^https?://(www\\.)?octopusenergy\\.it/"
|
|
5
|
+
},
|
|
6
|
+
"prehideSelectors": [],
|
|
7
|
+
"detectCmp": [{ "exists": "xpath///button[contains(., 'Imposta le tue preferenze')]" }],
|
|
8
|
+
"detectPopup": [{ "visible": "xpath///button[contains(., 'Imposta le tue preferenze')]" }],
|
|
9
|
+
"optIn": [{ "waitForThenClick": "xpath///button[contains(., 'Accetta tutto')]" }],
|
|
10
|
+
"optOut": [
|
|
11
|
+
{ "waitForThenClick": "xpath///button[contains(., 'Imposta le tue preferenze')]" },
|
|
12
|
+
{ "waitFor": "input[data-part='checkbox-input'][name='analytics']" },
|
|
13
|
+
{
|
|
14
|
+
"if": { "exists": "input[data-part='checkbox-input'][name='analytics']:checked" },
|
|
15
|
+
"then": [{ "click": "input[data-part='checkbox-input'][name='analytics']" }]
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"if": { "exists": "input[data-part='checkbox-input'][name='marketing']:checked" },
|
|
19
|
+
"then": [{ "click": "input[data-part='checkbox-input'][name='marketing']" }]
|
|
20
|
+
},
|
|
21
|
+
{ "waitForThenClick": "xpath///button[contains(., 'Salva le mie impostazioni')]" }
|
|
22
|
+
],
|
|
23
|
+
"test": [{ "cookieContains": "cookie_consent=a%3D0%26m%3D0" }]
|
|
24
|
+
}
|
|
@@ -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,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
|
+
}
|
|
@@ -1,30 +1,30 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sas",
|
|
3
3
|
"vendorUrl": "https://www.flysas.com/",
|
|
4
|
-
"prehideSelectors": ["
|
|
4
|
+
"prehideSelectors": ["dialog[aria-labelledby='cookie-dialog-title']:has(#deny-consent-button)"],
|
|
5
5
|
"detectCmp": [
|
|
6
6
|
{
|
|
7
|
-
"exists": "
|
|
7
|
+
"exists": "dialog[aria-labelledby='cookie-dialog-title'] #deny-consent-button"
|
|
8
8
|
}
|
|
9
9
|
],
|
|
10
10
|
"detectPopup": [
|
|
11
11
|
{
|
|
12
|
-
"visible": "
|
|
12
|
+
"visible": "dialog[aria-labelledby='cookie-dialog-title'][open]"
|
|
13
13
|
}
|
|
14
14
|
],
|
|
15
15
|
"optIn": [
|
|
16
16
|
{
|
|
17
|
-
"waitForThenClick": "
|
|
17
|
+
"waitForThenClick": "dialog[aria-labelledby='cookie-dialog-title'] #deny-consent-button ~ button:last-child"
|
|
18
18
|
}
|
|
19
19
|
],
|
|
20
20
|
"optOut": [
|
|
21
21
|
{
|
|
22
|
-
"waitForThenClick": "
|
|
22
|
+
"waitForThenClick": "dialog[aria-labelledby='cookie-dialog-title'] #deny-consent-button"
|
|
23
23
|
}
|
|
24
24
|
],
|
|
25
25
|
"test": [
|
|
26
26
|
{
|
|
27
|
-
"cookieContains": "
|
|
27
|
+
"cookieContains": "%22marketing%22%3Afalse"
|
|
28
28
|
}
|
|
29
29
|
]
|
|
30
30
|
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "scb.se",
|
|
3
|
+
"vendorUrl": "https://www.scb.se/",
|
|
4
|
+
"runContext": {
|
|
5
|
+
"urlPattern": "^https?://(www\\.)?scb\\.se/"
|
|
6
|
+
},
|
|
7
|
+
"prehideSelectors": ["#kakrutan"],
|
|
8
|
+
"detectCmp": [{ "exists": "#kakrutan scb-button[value='inget']" }],
|
|
9
|
+
"detectPopup": [{ "visible": "#kakrutan" }],
|
|
10
|
+
"optIn": [{ "waitForThenClick": ["#kakrutan scb-button[value='allt']", "button"] }],
|
|
11
|
+
"optOut": [{ "waitForThenClick": ["#kakrutan scb-button[value='inget']", "button"] }],
|
|
12
|
+
"test": [{ "visible": "#kakrutan", "check": "none" }]
|
|
13
|
+
}
|
|
@@ -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,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "studentapan",
|
|
3
|
+
"_metadata": { "vendorUrl": "https://www.studentapan.se/" },
|
|
4
|
+
"runContext": { "urlPattern": "^https?://(www\\.)?studentapan\\.se/" },
|
|
5
|
+
"prehideSelectors": ["dialog[class*=\"CookieModal-module\"]"],
|
|
6
|
+
"detectCmp": [{ "exists": "dialog[class*=\"CookieModal-module\"]" }],
|
|
7
|
+
"detectPopup": [{ "visible": "dialog[class*=\"CookieModal-module\"]" }],
|
|
8
|
+
"optIn": [{ "waitForThenClick": "dialog[class*=\"CookieModal-module\"] button[class*=\"__primaryButton\"]" }],
|
|
9
|
+
"optOut": [
|
|
10
|
+
{ "waitForThenClick": "dialog[class*=\"CookieModal-module\"] button[class*=\"__secondaryButton\"]" },
|
|
11
|
+
{ "waitForVisible": "[role=\"dialog\"] [class*=\"SettingsModal-module\"]" },
|
|
12
|
+
{ "click": "[role=\"dialog\"] [class*=\"SettingsModal-module\"] input[type=\"checkbox\"]:checked", "all": true, "optional": true },
|
|
13
|
+
{ "waitForThenClick": "[role=\"dialog\"]:has([class*=\"SettingsModal-module\"]) [class*=\"__footer\"] button" }
|
|
14
|
+
],
|
|
15
|
+
"test": [{ "cookieContains": "targTK=false" }]
|
|
16
|
+
}
|
|
@@ -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": [
|