@duckduckgo/autoconsent 16.62.0 → 17.0.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/CHANGELOG.md +84 -0
- package/dist/addon-firefox/background.bundle.js +1 -0
- package/dist/addon-firefox/compact-rules.json +1 -1
- package/dist/addon-firefox/content.bundle.js +176 -36
- package/dist/addon-firefox/manifest.json +1 -1
- package/dist/addon-firefox/popup.bundle.js +1 -0
- package/dist/addon-firefox/rule-index.json +1 -1
- package/dist/addon-firefox/rules.json +1 -1
- package/dist/addon-mv3/background.bundle.js +1 -0
- package/dist/addon-mv3/compact-rules.json +1 -1
- package/dist/addon-mv3/content.bundle.js +176 -36
- package/dist/addon-mv3/manifest.json +1 -1
- package/dist/addon-mv3/popup.bundle.js +1 -0
- package/dist/addon-mv3/rule-index.json +1 -1
- package/dist/addon-mv3/rules.json +1 -1
- package/dist/autoconsent.cjs.js +176 -36
- package/dist/autoconsent.esm.js +176 -36
- package/dist/autoconsent.playwright.js +179 -36
- package/dist/autoconsent.standalone.js +177 -37
- package/dist/heuristics.cjs.js +14 -1
- package/dist/heuristics.mjs +14 -1
- package/dist/types/heuristics.d.ts +12 -3
- package/dist/types/types.d.ts +12 -1
- package/lib/cmps/base.ts +5 -1
- package/lib/heuristic-patterns.ts +17 -1
- package/lib/heuristics.ts +240 -45
- package/lib/types.ts +16 -1
- package/lib/utils.ts +1 -0
- package/package.json +2 -2
- package/readme.md +1 -1
- package/rules/autoconsent/appconsent-legacy.json +22 -1
- package/rules/autoconsent/asrock.json +44 -0
- package/rules/autoconsent/beetle-tracking.json +22 -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/consentmo.json +5 -2
- package/rules/autoconsent/cookie-script.json +34 -15
- package/rules/autoconsent/cookiesinfo-closecookies.json +9 -0
- package/rules/autoconsent/dack365.json +35 -0
- package/rules/autoconsent/epaas.json +18 -1
- package/rules/autoconsent/eu-cookie-law-popup.json +33 -0
- package/rules/autoconsent/fascicolosanitario-lombardia.json +14 -0
- package/rules/autoconsent/fnsp-cookieconsent.json +30 -0
- package/rules/autoconsent/fod-fujitv.json +13 -0
- package/rules/autoconsent/fundingchoices.json +12 -2
- package/rules/autoconsent/hkdir.json +33 -0
- package/rules/autoconsent/hyrabostad.json +21 -0
- package/rules/autoconsent/insided.json +15 -0
- package/rules/autoconsent/jokul-cookie-consent.json +28 -0
- package/rules/autoconsent/kartverket.json +46 -0
- package/rules/autoconsent/lego.json +27 -5
- package/rules/autoconsent/luxmed.json +33 -0
- package/rules/autoconsent/mars-cookies-prompt.json +20 -0
- package/rules/autoconsent/meta-cookie-dialog.json +37 -0
- package/rules/autoconsent/mittanbud.json +33 -0
- package/rules/autoconsent/niedziela-pl.json +35 -0
- package/rules/autoconsent/nikkeibp.json +10 -0
- package/rules/autoconsent/onecom-cookie-banner.json +25 -0
- package/rules/autoconsent/oslosportslager.no.json +34 -0
- package/rules/autoconsent/plex.tv.json +52 -0
- package/rules/autoconsent/poki.json +37 -0
- package/rules/autoconsent/polisen-se.json +26 -0
- package/rules/autoconsent/radio-canada.json +28 -0
- package/rules/autoconsent/regjeringen.no.json +13 -0
- package/rules/autoconsent/roll20.json +50 -0
- package/rules/autoconsent/romeo.json +47 -0
- package/rules/autoconsent/sirdata.json +8 -3
- package/rules/autoconsent/site-notifications-cookie-usage.json +25 -0
- package/rules/autoconsent/sparebank1-optin.json +10 -0
- 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/tri-table.json +6 -2
- package/rules/autoconsent/tvp.json +27 -0
- package/rules/autoconsent/urvaerket.json +33 -0
- package/rules/autoconsent/vinnova-se.json +50 -0
- package/rules/autoconsent/volvocars-com.json +23 -2
- package/rules/autoconsent/vortex-consent.json +33 -0
- package/rules/autoconsent/vue-cookie-accept-decline.json +42 -0
- package/rules/compact-rules.json +1 -1
- package/rules/rule-index.json +1 -1
- package/rules/rules.json +1 -1
- package/tests/appconsent-legacy.spec.ts +1 -1
- package/tests/asrock.spec.ts +3 -0
- package/tests/beetle-tracking.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/consentmo.spec.ts +2 -0
- package/tests/cookie-script.spec.ts +5 -0
- package/tests/cookiesinfo-closecookies.spec.ts +8 -0
- package/tests/dack365.spec.ts +3 -0
- package/tests/epaas.spec.ts +3 -0
- package/tests/eu-cookie-law-popup.spec.ts +8 -0
- package/tests/fascicolosanitario-lombardia.spec.ts +3 -0
- package/tests/fnsp-cookieconsent.spec.ts +9 -0
- package/tests/fod-fujitv.spec.ts +3 -0
- package/tests/fundingchoices.spec.ts +7 -1
- package/tests/hkdir.spec.ts +10 -0
- package/tests/hyrabostad.spec.ts +3 -0
- package/tests/insided.spec.ts +9 -0
- package/tests/jokul-cookie-consent.spec.ts +3 -0
- package/tests/kartverket.spec.ts +3 -0
- package/tests/luxmed.spec.ts +3 -0
- package/tests/mars-cookies-prompt.spec.ts +3 -0
- package/tests/meta-cookie-dialog.spec.ts +14 -0
- package/tests/mittanbud.spec.ts +3 -0
- package/tests/niedziela-pl.spec.ts +3 -0
- package/tests/nikkeibp.spec.ts +8 -0
- package/tests/onecom-cookie-banner.spec.ts +5 -0
- package/tests/oslosportslager.no.spec.ts +3 -0
- package/tests/plex.tv.spec.ts +5 -0
- package/tests/poki.spec.ts +6 -0
- package/tests/polisen-se.spec.ts +3 -0
- package/tests/radio-canada.spec.ts +15 -0
- package/tests/regjeringen.no.spec.ts +3 -0
- package/tests/roll20.spec.ts +3 -0
- package/tests/romeo.spec.ts +3 -0
- package/tests/sirdata.spec.ts +13 -1
- package/tests/site-notifications-cookie-usage.spec.ts +3 -0
- package/tests/sparebank1-optin.spec.ts +8 -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/tri-table.spec.ts +1 -1
- package/tests/tvp.spec.ts +3 -0
- package/tests/urvaerket.spec.ts +13 -0
- package/tests/vinnova-se.spec.ts +6 -0
- package/tests/volvocars-com.spec.ts +1 -1
- package/tests/vortex-consent.spec.ts +18 -0
- package/tests/vue-cookie-accept-decline.spec.ts +8 -0
- package/tests-wtr/heuristics/get-actionable-popups.ts +41 -7
- package/tests-wtr/heuristics/get-potential-popups.test.ts +235 -4
- package/tests-wtr/heuristics/heuristic-cmp.ts +16 -1
- package/tests-wtr/heuristics/heuristics-utils.test.ts +49 -0
- package/rules/generated/auto_CA_plex.tv_ee4.json +0 -40
- package/rules/generated/auto_CA_support.plex.tv_gn3.json +0 -40
- package/tests/generated/auto_CA_plex.tv_ee4.spec.ts +0 -2
- package/tests/generated/auto_CA_support.plex.tv_gn3.spec.ts +0 -6
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "asrock",
|
|
3
|
+
"vendorUrl": "https://www.asrock.com/",
|
|
4
|
+
"runContext": {
|
|
5
|
+
"urlPattern": "^https?://(\\w+\\.)?asrock\\.com/"
|
|
6
|
+
},
|
|
7
|
+
"prehideSelectors": [],
|
|
8
|
+
"detectCmp": [
|
|
9
|
+
{
|
|
10
|
+
"exists": "#AcceptCookies2 #MrktConfirm"
|
|
11
|
+
}
|
|
12
|
+
],
|
|
13
|
+
"detectPopup": [
|
|
14
|
+
{
|
|
15
|
+
"visible": "#AcceptCookies"
|
|
16
|
+
}
|
|
17
|
+
],
|
|
18
|
+
"optIn": [
|
|
19
|
+
{
|
|
20
|
+
"waitForThenClick": "#AcceptCookies input[onclick*=SetCookie]"
|
|
21
|
+
}
|
|
22
|
+
],
|
|
23
|
+
"optOut": [
|
|
24
|
+
{
|
|
25
|
+
"waitForThenClick": "#AcceptCookies input[onclick*=AcceptCookies2]"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"waitForVisible": "#AcceptCookies2"
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"click": "#AcceptCookies2 input[type=checkbox]:checked",
|
|
32
|
+
"all": true,
|
|
33
|
+
"optional": true
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"click": "#AcceptCookies2 input[onclick*=SetCookie]"
|
|
37
|
+
}
|
|
38
|
+
],
|
|
39
|
+
"test": [
|
|
40
|
+
{
|
|
41
|
+
"cookieContains": "MrktConfirm=false"
|
|
42
|
+
}
|
|
43
|
+
]
|
|
44
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "beetle-tracking",
|
|
3
|
+
"vendorUrl": "https://beetle-tracking.com/",
|
|
4
|
+
"prehideSelectors": ["beetle-tracking-consent-modal"],
|
|
5
|
+
"detectCmp": [{ "exists": ["beetle-tracking-consent-modal", ".consent"] }],
|
|
6
|
+
"detectPopup": [{ "visible": ["beetle-tracking-consent-modal", ".consent__dialog-wrapper"] }],
|
|
7
|
+
"optIn": [
|
|
8
|
+
{
|
|
9
|
+
"waitForThenClick": ["beetle-tracking-consent-modal", ".consent__button-accept-all"],
|
|
10
|
+
"retry": 10,
|
|
11
|
+
"retryInterval": 500
|
|
12
|
+
}
|
|
13
|
+
],
|
|
14
|
+
"optOut": [
|
|
15
|
+
{
|
|
16
|
+
"waitForThenClick": ["beetle-tracking-consent-modal", ".consent__button-decline-all"],
|
|
17
|
+
"retry": 10,
|
|
18
|
+
"retryInterval": 500
|
|
19
|
+
}
|
|
20
|
+
],
|
|
21
|
+
"test": [{ "cookieContains": "\"bt_marketing\":false" }]
|
|
22
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "casier-judiciaire-justice-gouv-fr",
|
|
3
|
+
"vendorUrl": "https://casier-judiciaire.justice.gouv.fr/",
|
|
4
|
+
"runContext": {
|
|
5
|
+
"urlPattern": "^https?://casier-judiciaire\\.justice\\.gouv\\.fr/"
|
|
6
|
+
},
|
|
7
|
+
"prehideSelectors": ["#cookie_banner #myModal"],
|
|
8
|
+
"detectCmp": [
|
|
9
|
+
{
|
|
10
|
+
"exists": "#cookie_banner #myModal #popupCross"
|
|
11
|
+
}
|
|
12
|
+
],
|
|
13
|
+
"detectPopup": [
|
|
14
|
+
{
|
|
15
|
+
"visible": "#cookie_banner #myModal"
|
|
16
|
+
}
|
|
17
|
+
],
|
|
18
|
+
"optIn": [
|
|
19
|
+
{
|
|
20
|
+
"waitForThenClick": "#myModal #popupCross"
|
|
21
|
+
}
|
|
22
|
+
],
|
|
23
|
+
"optOut": [
|
|
24
|
+
{
|
|
25
|
+
"waitForThenClick": "#myModal #popupCross"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"waitForVisible": "#cookie_banner #myModal",
|
|
29
|
+
"check": "none",
|
|
30
|
+
"timeout": 2000,
|
|
31
|
+
"optional": true
|
|
32
|
+
}
|
|
33
|
+
],
|
|
34
|
+
"test": [
|
|
35
|
+
{
|
|
36
|
+
"visible": "#cookie_banner #myModal",
|
|
37
|
+
"check": "none"
|
|
38
|
+
}
|
|
39
|
+
]
|
|
40
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "civilservicejobs-service-gov-uk",
|
|
3
|
+
"runContext": {
|
|
4
|
+
"urlPattern": "^https?://(\\w+\\.)?civilservicejobs\\.service\\.gov\\.uk/"
|
|
5
|
+
},
|
|
6
|
+
"prehideSelectors": ["#csr-cookie-message"],
|
|
7
|
+
"detectCmp": [
|
|
8
|
+
{
|
|
9
|
+
"exists": "#csr-cookie-message #accept_essential_cookies_button"
|
|
10
|
+
}
|
|
11
|
+
],
|
|
12
|
+
"detectPopup": [
|
|
13
|
+
{
|
|
14
|
+
"visible": "#csr-cookie-message #accept_essential_cookies_button"
|
|
15
|
+
}
|
|
16
|
+
],
|
|
17
|
+
"optIn": [
|
|
18
|
+
{
|
|
19
|
+
"waitForThenClick": "#csr-cookie-message #accept_all_cookies_button"
|
|
20
|
+
}
|
|
21
|
+
],
|
|
22
|
+
"optOut": [
|
|
23
|
+
{
|
|
24
|
+
"waitForThenClick": "#csr-cookie-message #accept_essential_cookies_button"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"waitForVisible": "#csr-cookie-message",
|
|
28
|
+
"check": "none",
|
|
29
|
+
"timeout": 2000,
|
|
30
|
+
"optional": true
|
|
31
|
+
}
|
|
32
|
+
],
|
|
33
|
+
"test": [
|
|
34
|
+
{
|
|
35
|
+
"cookieContains": "cookies_accepted=essential"
|
|
36
|
+
}
|
|
37
|
+
]
|
|
38
|
+
}
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
{
|
|
56
56
|
"waitForVisible": [
|
|
57
57
|
"csm-cookie-consent",
|
|
58
|
-
".csm-wrapper .cc-deny, .csm-wrapper [data-csm-button-type='accept_selected']"
|
|
58
|
+
".csm-wrapper .cc-deny, .csm-wrapper [data-csm-button-type='accept_selected'], .csm-wrapper [data-preferences-csm-button-type='accept_selected']"
|
|
59
59
|
]
|
|
60
60
|
},
|
|
61
61
|
{
|
|
@@ -69,7 +69,10 @@
|
|
|
69
69
|
],
|
|
70
70
|
"else": [
|
|
71
71
|
{
|
|
72
|
-
"click": [
|
|
72
|
+
"click": [
|
|
73
|
+
"csm-cookie-consent",
|
|
74
|
+
".csm-wrapper [data-csm-button-type='accept_selected'], .csm-wrapper [data-preferences-csm-button-type='accept_selected']"
|
|
75
|
+
]
|
|
73
76
|
}
|
|
74
77
|
]
|
|
75
78
|
}
|
|
@@ -9,27 +9,46 @@
|
|
|
9
9
|
"if": { "exists": "#cookiescript_reject" },
|
|
10
10
|
"then": [{ "wait": 100 }, { "click": "#cookiescript_reject" }],
|
|
11
11
|
"else": [
|
|
12
|
-
{ "click": "#cookiescript_manage" },
|
|
13
|
-
{ "waitForVisible": ".cookiescript_fsd_main, #cookiescript_save", "timeout": 3000, "optional": true },
|
|
14
12
|
{
|
|
15
|
-
"if": { "exists": "
|
|
16
|
-
"then": [
|
|
17
|
-
|
|
13
|
+
"if": { "exists": "#cookiescript_manage" },
|
|
14
|
+
"then": [
|
|
15
|
+
{ "click": "#cookiescript_manage" },
|
|
16
|
+
{ "waitForVisible": ".cookiescript_fsd_main, #cookiescript_save", "timeout": 3000, "optional": true },
|
|
18
17
|
{
|
|
19
|
-
"if": { "
|
|
20
|
-
"then": [
|
|
18
|
+
"if": { "exists": ".cookiescript_fsd_main" },
|
|
19
|
+
"then": [{ "waitForThenClick": "#cookiescript_reject" }],
|
|
20
|
+
"else": [
|
|
21
21
|
{
|
|
22
|
-
"if": {
|
|
23
|
-
"exists": "#cookiescript_injected input.cookiescript_checkbox_input:checked:not(:disabled), .cookiescript_banner_container input.cokiescript_checkbox:checked:not(:disabled)"
|
|
24
|
-
},
|
|
22
|
+
"if": { "visible": "#cookiescript_save" },
|
|
25
23
|
"then": [
|
|
26
24
|
{
|
|
27
|
-
"
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
25
|
+
"if": {
|
|
26
|
+
"exists": "#cookiescript_injected input.cookiescript_checkbox_input:checked:not(:disabled), .cookiescript_banner_container input.cokiescript_checkbox:checked:not(:disabled)"
|
|
27
|
+
},
|
|
28
|
+
"then": [
|
|
29
|
+
{
|
|
30
|
+
"click": "#cookiescript_injected input.cookiescript_checkbox_input:checked:not(:disabled), .cookiescript_banner_container input.cokiescript_checkbox:checked:not(:disabled)",
|
|
31
|
+
"all": true
|
|
32
|
+
}
|
|
33
|
+
]
|
|
34
|
+
},
|
|
35
|
+
{ "waitForThenClick": "#cookiescript_save", "retry": 6, "retryInterval": 1000 }
|
|
36
|
+
],
|
|
37
|
+
"else": [{ "click": "#cookiescript_close, .cookiescript_close_btn" }]
|
|
38
|
+
}
|
|
39
|
+
]
|
|
40
|
+
}
|
|
41
|
+
],
|
|
42
|
+
"else": [
|
|
43
|
+
{
|
|
44
|
+
"if": { "exists": "#cookiescript_save" },
|
|
45
|
+
"then": [
|
|
46
|
+
{
|
|
47
|
+
"click": "#cookiescript_injected input.cookiescript_checkbox_input:checked:not(:disabled), .cookiescript_banner_container input.cokiescript_checkbox:checked:not(:disabled)",
|
|
48
|
+
"all": true,
|
|
49
|
+
"optional": true
|
|
31
50
|
},
|
|
32
|
-
{ "
|
|
51
|
+
{ "click": "#cookiescript_save" }
|
|
33
52
|
],
|
|
34
53
|
"else": [{ "click": "#cookiescript_close, .cookiescript_close_btn" }]
|
|
35
54
|
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "cookiesinfo-closecookies",
|
|
3
|
+
"prehideSelectors": [],
|
|
4
|
+
"detectCmp": [{ "exists": "#cookiesInfo #closeCookies" }],
|
|
5
|
+
"detectPopup": [{ "visible": "#cookiesInfo #closeCookies" }],
|
|
6
|
+
"optIn": [{ "waitForThenClick": "#cookiesInfo #closeCookies" }],
|
|
7
|
+
"optOut": [{ "waitForThenClick": "#cookiesInfo #closeCookies" }],
|
|
8
|
+
"test": [{ "waitForVisible": "#cookiesInfo", "check": "none", "timeout": 2000 }]
|
|
9
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "dack365",
|
|
3
|
+
"vendorUrl": "https://www.dack365.se/",
|
|
4
|
+
"prehideSelectors": [".cookie-consent-banner:has(#FormCookieConsentAll)"],
|
|
5
|
+
"detectCmp": [
|
|
6
|
+
{
|
|
7
|
+
"exists": ".cookie-consent-banner #FormCookieConsentAll"
|
|
8
|
+
}
|
|
9
|
+
],
|
|
10
|
+
"detectPopup": [
|
|
11
|
+
{
|
|
12
|
+
"visible": ".cookie-consent-banner .btn-cookie-consent-settings"
|
|
13
|
+
}
|
|
14
|
+
],
|
|
15
|
+
"optIn": [
|
|
16
|
+
{
|
|
17
|
+
"waitForThenClick": ".cookie-consent-banner .btn-cookie-consent-allow-all"
|
|
18
|
+
}
|
|
19
|
+
],
|
|
20
|
+
"optOut": [
|
|
21
|
+
{
|
|
22
|
+
"waitForThenClick": ".cookie-consent-banner .btn-cookie-consent-settings"
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"waitForThenClick": ".modal-cookie-consent .btn-cookie-consent-modal-disallow-all"
|
|
26
|
+
}
|
|
27
|
+
],
|
|
28
|
+
"test": [
|
|
29
|
+
{
|
|
30
|
+
"waitForVisible": ".cookie-consent-banner",
|
|
31
|
+
"check": "none",
|
|
32
|
+
"timeout": 5000
|
|
33
|
+
}
|
|
34
|
+
]
|
|
35
|
+
}
|
|
@@ -11,7 +11,24 @@
|
|
|
11
11
|
"else": [
|
|
12
12
|
{ "waitForThenClick": ["epaas-consent-drawer-shell", "button.personalize-button"] },
|
|
13
13
|
{ "waitFor": ["epaas-consent-drawer-shell", "epaas-policy-page-shell"] },
|
|
14
|
-
{
|
|
14
|
+
{
|
|
15
|
+
"waitFor": ["epaas-consent-drawer-shell", "epaas-policy-page-shell", "label[class*='category-header__switch']"],
|
|
16
|
+
"optional": true
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"click": ["epaas-consent-drawer-shell", "epaas-policy-page-shell", "label.category-header__switch--on input"],
|
|
20
|
+
"all": true,
|
|
21
|
+
"optional": true
|
|
22
|
+
},
|
|
23
|
+
{ "waitFor": ["epaas-consent-drawer-shell", "section.consentDrawer.layered button.accept-button"] },
|
|
24
|
+
{
|
|
25
|
+
"if": { "exists": ["epaas-consent-drawer-shell", "button.save-button"] },
|
|
26
|
+
"then": [{ "click": ["epaas-consent-drawer-shell", "button.save-button"] }],
|
|
27
|
+
"else": [
|
|
28
|
+
{ "waitFor": ["epaas-consent-drawer-shell", "epaas-policy-page-shell", "label.category-header__switch--off"] },
|
|
29
|
+
{ "click": ["epaas-consent-drawer-shell", "button.accept-button"] }
|
|
30
|
+
]
|
|
31
|
+
}
|
|
15
32
|
]
|
|
16
33
|
}
|
|
17
34
|
],
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "eu-cookie-law-popup",
|
|
3
|
+
"vendorUrl": "https://github.com/wimagguc/jquery-eu-cookie-law-popup",
|
|
4
|
+
"prehideSelectors": [".eupopup-container"],
|
|
5
|
+
"detectCmp": [
|
|
6
|
+
{
|
|
7
|
+
"exists": ".eupopup-container > .eupopup-closebutton"
|
|
8
|
+
}
|
|
9
|
+
],
|
|
10
|
+
"detectPopup": [
|
|
11
|
+
{
|
|
12
|
+
"visible": ".eupopup-container > .eupopup-closebutton",
|
|
13
|
+
"check": "any"
|
|
14
|
+
}
|
|
15
|
+
],
|
|
16
|
+
"optIn": [
|
|
17
|
+
{
|
|
18
|
+
"waitForThenClick": ".eupopup-container .eupopup-button_1"
|
|
19
|
+
}
|
|
20
|
+
],
|
|
21
|
+
"optOut": [
|
|
22
|
+
{
|
|
23
|
+
"waitForThenClick": ".eupopup-container > .eupopup-closebutton"
|
|
24
|
+
}
|
|
25
|
+
],
|
|
26
|
+
"test": [
|
|
27
|
+
{
|
|
28
|
+
"waitForVisible": ".eupopup-container > .eupopup-closebutton",
|
|
29
|
+
"check": "none",
|
|
30
|
+
"timeout": 2000
|
|
31
|
+
}
|
|
32
|
+
]
|
|
33
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "fascicolosanitario-lombardia",
|
|
3
|
+
"vendorUrl": "https://www.fascicolosanitario.regione.lombardia.it/",
|
|
4
|
+
"runContext": {
|
|
5
|
+
"urlPattern": "^https?://(\\w+\\.)?fascicolosanitario\\.regione\\.lombardia\\.it/"
|
|
6
|
+
},
|
|
7
|
+
"cosmetic": false,
|
|
8
|
+
"prehideSelectors": ["#cookie-bar"],
|
|
9
|
+
"detectCmp": [{ "exists": "#cookie-bar #cookieBarClose" }],
|
|
10
|
+
"detectPopup": [{ "visible": "#cookie-bar[aria-hidden=\"false\"]" }],
|
|
11
|
+
"optIn": [{ "waitForThenClick": "#cookie-bar #cookieBarClose .cookie-bar-close" }],
|
|
12
|
+
"optOut": [{ "waitForThenClick": "#cookie-bar #cookieBarClose .cookie-bar-close" }],
|
|
13
|
+
"test": [{ "cookieContains": "FSE-COOKIEBAR=hide" }]
|
|
14
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "fnsp-cookieconsent",
|
|
3
|
+
"vendorUrl": "https://www.helse-bergen.no/",
|
|
4
|
+
"prehideSelectors": ["[class*=\"_cookieconsent-banner--open_\"]"],
|
|
5
|
+
"detectCmp": [
|
|
6
|
+
{
|
|
7
|
+
"exists": "[class*=\"_cookieconsent-banner_\"] [class*=\"_cookieconsent__button-container_\"]"
|
|
8
|
+
}
|
|
9
|
+
],
|
|
10
|
+
"detectPopup": [
|
|
11
|
+
{
|
|
12
|
+
"visible": "[class*=\"_cookieconsent-banner--open_\"] [class*=\"_cookieconsent--initial_\"]"
|
|
13
|
+
}
|
|
14
|
+
],
|
|
15
|
+
"optIn": [
|
|
16
|
+
{
|
|
17
|
+
"waitForThenClick": "[class*=\"_cookieconsent--initial_\"] [class*=\"_cookieconsent__button-container_\"] > button:nth-child(1)"
|
|
18
|
+
}
|
|
19
|
+
],
|
|
20
|
+
"optOut": [
|
|
21
|
+
{
|
|
22
|
+
"waitForThenClick": "[class*=\"_cookieconsent--initial_\"] [class*=\"_cookieconsent__button-container_\"] > button:nth-child(2)"
|
|
23
|
+
}
|
|
24
|
+
],
|
|
25
|
+
"test": [
|
|
26
|
+
{
|
|
27
|
+
"cookieContains": "%22analyticsConsent%22%3Afalse%2C%22thirdPartyConsent%22%3Afalse%2C%22surveyConsent%22%3Afalse"
|
|
28
|
+
}
|
|
29
|
+
]
|
|
30
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "fod-fujitv",
|
|
3
|
+
"vendorUrl": "https://fod.fujitv.co.jp/",
|
|
4
|
+
"runContext": {
|
|
5
|
+
"urlPattern": "^https?://fod\\.fujitv\\.co\\.jp/"
|
|
6
|
+
},
|
|
7
|
+
"prehideSelectors": [".cookieCheckContainer"],
|
|
8
|
+
"detectCmp": [{ "visible": ".cookieCheckContainer .closeBtn" }],
|
|
9
|
+
"detectPopup": [{ "visible": ".cookieCheckContainer" }],
|
|
10
|
+
"optIn": [{ "waitForThenClick": ".cookieCheckContainer .closeBtn" }],
|
|
11
|
+
"optOut": [{ "waitForThenClick": ".cookieCheckContainer .closeBtn" }],
|
|
12
|
+
"test": [{ "cookieContains": "ACP=1" }]
|
|
13
|
+
}
|
|
@@ -4,9 +4,19 @@
|
|
|
4
4
|
"detectCmp": [{ "exists": ".fc-consent-root" }],
|
|
5
5
|
"detectPopup": [{ "exists": ".fc-dialog-container" }],
|
|
6
6
|
"optOut": [
|
|
7
|
-
{
|
|
7
|
+
{
|
|
8
|
+
"if": { "exists": ".fc-cta-do-not-consent,.fc-cta-manage-options" },
|
|
9
|
+
"then": [{ "click": ".fc-cta-do-not-consent,.fc-cta-manage-options" }],
|
|
10
|
+
"else": [{ "exists": ".fc-li-only-placeholder" }]
|
|
11
|
+
},
|
|
8
12
|
{ "click": ".fc-preference-consent:checked,.fc-preference-legitimate-interest:checked", "all": true, "optional": true },
|
|
9
13
|
{ "click": ".fc-confirm-choices", "optional": true }
|
|
10
14
|
],
|
|
11
|
-
"optIn": [
|
|
15
|
+
"optIn": [
|
|
16
|
+
{
|
|
17
|
+
"if": { "exists": ".fc-cta-consent" },
|
|
18
|
+
"then": [{ "click": ".fc-cta-consent" }],
|
|
19
|
+
"else": [{ "exists": ".fc-li-only-placeholder" }, { "click": ".fc-confirm-choices" }]
|
|
20
|
+
}
|
|
21
|
+
]
|
|
12
22
|
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "hkdir",
|
|
3
|
+
"vendorUrl": "https://hkdir.no/",
|
|
4
|
+
"prehideSelectors": [".hkd-cookie-banner"],
|
|
5
|
+
"detectCmp": [
|
|
6
|
+
{
|
|
7
|
+
"exists": ".hkd-cookie-banner .hkd-cookie-banner-button-group"
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
"exists": "next-route-announcer"
|
|
11
|
+
}
|
|
12
|
+
],
|
|
13
|
+
"detectPopup": [
|
|
14
|
+
{
|
|
15
|
+
"visible": ".hkd-cookie-banner"
|
|
16
|
+
}
|
|
17
|
+
],
|
|
18
|
+
"optIn": [
|
|
19
|
+
{
|
|
20
|
+
"waitForThenClick": ".hkd-cookie-banner-button-group > button:nth-of-type(1)"
|
|
21
|
+
}
|
|
22
|
+
],
|
|
23
|
+
"optOut": [
|
|
24
|
+
{
|
|
25
|
+
"waitForThenClick": ".hkd-cookie-banner-button-group > button:nth-of-type(2)"
|
|
26
|
+
}
|
|
27
|
+
],
|
|
28
|
+
"test": [
|
|
29
|
+
{
|
|
30
|
+
"cookieContains": "cookie-consent=essential"
|
|
31
|
+
}
|
|
32
|
+
]
|
|
33
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "hyrabostad.se",
|
|
3
|
+
"vendorUrl": "https://www.hyrabostad.se/",
|
|
4
|
+
"runContext": {
|
|
5
|
+
"urlPattern": "^https?://(www\\.)?hyrabostad\\.se/"
|
|
6
|
+
},
|
|
7
|
+
"prehideSelectors": ["#consent-container"],
|
|
8
|
+
"detectCmp": [{ "exists": "#consent-container #consent" }],
|
|
9
|
+
"detectPopup": [{ "visible": "#consent-container #consent" }],
|
|
10
|
+
"optIn": [{ "waitForThenClick": "#consent button[onclick*='saveCookieSettings(true)']" }],
|
|
11
|
+
"optOut": [
|
|
12
|
+
{ "waitForThenClick": "#consent button[data-bs-target='#cookieSettings']" },
|
|
13
|
+
{ "waitForVisible": "#cookieSettings .modal-footer" },
|
|
14
|
+
{
|
|
15
|
+
"if": { "exists": "#grantAdStorageCookies:checked" },
|
|
16
|
+
"then": [{ "click": "#grantAdStorageCookies:checked" }]
|
|
17
|
+
},
|
|
18
|
+
{ "waitForThenClick": "#cookieSettings button[onclick*='saveCookieSettings(false)']", "retry": 3, "retryInterval": 400 }
|
|
19
|
+
],
|
|
20
|
+
"test": [{ "visible": "#consent-container #consent,#cookieSettings", "check": "none" }]
|
|
21
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "insided",
|
|
3
|
+
"vendorUrl": "https://www.gainsight.com/customer-communities/",
|
|
4
|
+
"cosmetic": false,
|
|
5
|
+
"runContext": {
|
|
6
|
+
"main": true,
|
|
7
|
+
"frame": false
|
|
8
|
+
},
|
|
9
|
+
"prehideSelectors": ["[data-preact=\"cookie-banner/index\"] .js-cookiebar"],
|
|
10
|
+
"detectCmp": [{ "exists": "[data-preact=\"cookie-banner/index\"] .js-cookiebar .js-cookie-deny" }],
|
|
11
|
+
"detectPopup": [{ "visible": "[data-preact=\"cookie-banner/index\"] .js-cookiebar .js-cookie-deny" }],
|
|
12
|
+
"optIn": [{ "waitForThenClick": "[data-preact=\"cookie-banner/index\"] .js-cookiebar .js-cookie-accept" }],
|
|
13
|
+
"optOut": [{ "waitForThenClick": "[data-preact=\"cookie-banner/index\"] .js-cookiebar .js-cookie-deny" }],
|
|
14
|
+
"test": [{ "visible": "[data-preact=\"cookie-banner/index\"] .js-cookiebar .js-cookie-deny", "check": "none" }]
|
|
15
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "jokul-cookie-consent",
|
|
3
|
+
"vendorUrl": "https://jokul.fremtind.no/",
|
|
4
|
+
"prehideSelectors": [],
|
|
5
|
+
"detectCmp": [{ "exists": "[data-testid=\"jkl-cookie-consent-godta\"]" }],
|
|
6
|
+
"detectPopup": [{ "visible": "[data-testid=\"jkl-cookie-consent-godta\"]" }],
|
|
7
|
+
"optIn": [
|
|
8
|
+
{
|
|
9
|
+
"if": { "exists": "[data-testid=\"jkl-cookie-consent-godta-alle\"]" },
|
|
10
|
+
"then": [{ "waitForThenClick": "[data-testid=\"jkl-cookie-consent-godta-alle\"]" }],
|
|
11
|
+
"else": [{ "waitForThenClick": "[data-testid=\"jkl-cookie-consent-godta\"]" }]
|
|
12
|
+
}
|
|
13
|
+
],
|
|
14
|
+
"optOut": [
|
|
15
|
+
{
|
|
16
|
+
"if": { "exists": "[data-testid=\"jkl-cookie-consent-nekt\"]" },
|
|
17
|
+
"then": [{ "waitForThenClick": "[data-testid=\"jkl-cookie-consent-nekt\"]" }],
|
|
18
|
+
"else": [
|
|
19
|
+
{
|
|
20
|
+
"if": { "exists": "[id^=\"jkl-cookie-modal\"] input[type=\"checkbox\"]:checked" },
|
|
21
|
+
"then": [{ "click": "[id^=\"jkl-cookie-modal\"] input[type=\"checkbox\"]:checked", "all": true }]
|
|
22
|
+
},
|
|
23
|
+
{ "waitForThenClick": "[data-testid=\"jkl-cookie-consent-godta\"]" }
|
|
24
|
+
]
|
|
25
|
+
}
|
|
26
|
+
],
|
|
27
|
+
"test": [{ "cookieContains": "\"statistics\":\"denied\"" }]
|
|
28
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "kartverket",
|
|
3
|
+
"vendorUrl": "https://eiendomsregisteret.kartverket.no/",
|
|
4
|
+
"cosmetic": false,
|
|
5
|
+
"runContext": {
|
|
6
|
+
"urlPattern": "^https?://([a-z0-9-]+\\.)?kartverket\\.no/"
|
|
7
|
+
},
|
|
8
|
+
"prehideSelectors": ["#root > .chakra-stack:has(> div > p > a[href=\"/cookies\"])"],
|
|
9
|
+
"detectCmp": [
|
|
10
|
+
{
|
|
11
|
+
"exists": "button[aria-label^=\"Tilpass informasjonskap\"]"
|
|
12
|
+
}
|
|
13
|
+
],
|
|
14
|
+
"detectPopup": [
|
|
15
|
+
{
|
|
16
|
+
"visible": "button[aria-label^=\"Tilpass informasjonskap\"]"
|
|
17
|
+
}
|
|
18
|
+
],
|
|
19
|
+
"optIn": [
|
|
20
|
+
{
|
|
21
|
+
"waitForThenClick": "button[aria-label^=\"Tilpass informasjonskap\"] + button"
|
|
22
|
+
}
|
|
23
|
+
],
|
|
24
|
+
"optOut": [
|
|
25
|
+
{
|
|
26
|
+
"waitForThenClick": "button[aria-label^=\"Tilpass informasjonskap\"]"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"waitForVisible": "xpath///button[contains(., \"Lagre val\")]"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"click": ".kvib-switch__root[data-state=\"checked\"]",
|
|
33
|
+
"optional": true
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"click": "xpath///button[contains(., \"Lagre val\")]"
|
|
37
|
+
}
|
|
38
|
+
],
|
|
39
|
+
"test": [
|
|
40
|
+
{
|
|
41
|
+
"waitForVisible": "xpath///button[contains(., \"Lagre val\")]",
|
|
42
|
+
"check": "none",
|
|
43
|
+
"timeout": 1000
|
|
44
|
+
}
|
|
45
|
+
]
|
|
46
|
+
}
|
|
@@ -4,23 +4,45 @@
|
|
|
4
4
|
"urlPattern": "^https?://(www\\.)?lego\\.com/"
|
|
5
5
|
},
|
|
6
6
|
"prehideSelectors": ["[class*=\"ConsentModal_consent-modal__modal-overlay\"]"],
|
|
7
|
-
"detectCmp": [
|
|
8
|
-
|
|
7
|
+
"detectCmp": [
|
|
8
|
+
{
|
|
9
|
+
"any": [{ "exists": "[data-test=\"cookie-necessary-button\"]" }, { "exists": "[data-test=\"age-gate-overlay\"]" }]
|
|
10
|
+
}
|
|
11
|
+
],
|
|
12
|
+
"detectPopup": [
|
|
13
|
+
{
|
|
14
|
+
"comment": "the consent modal is only usable after the visitor leaves the site selector gate",
|
|
15
|
+
"any": [{ "visible": "[data-test=\"cookie-necessary-button\"]" }, { "visible": "[data-test=\"age-gate-overlay\"]" }]
|
|
16
|
+
}
|
|
17
|
+
],
|
|
9
18
|
"optOut": [
|
|
19
|
+
{
|
|
20
|
+
"comment": "without AGE_GATE the modal is briefly shown, then replaced by the site selector gate and re-rendered after it",
|
|
21
|
+
"any": [{ "cookieContains": "AGE_GATE=" }, { "waitForVisible": "[data-test=\"age-gate-overlay\"]", "timeout": 3000 }],
|
|
22
|
+
"optional": true
|
|
23
|
+
},
|
|
24
|
+
{ "waitForVisible": "[data-test=\"age-gate-overlay\"]", "check": "none", "timeout": 120000 },
|
|
10
25
|
{ "waitForThenClick": "[data-test=\"cookie-necessary-button\"]" },
|
|
11
26
|
{
|
|
12
|
-
"any": [{ "cookieContains": "AGE_GATE=" }, { "waitForVisible": "[data-test=\"age-gate-overlay\"]", "timeout":
|
|
27
|
+
"any": [{ "cookieContains": "AGE_GATE=" }, { "waitForVisible": "[data-test=\"age-gate-overlay\"]", "timeout": 3000 }],
|
|
13
28
|
"optional": true
|
|
14
29
|
},
|
|
15
30
|
{
|
|
16
31
|
"if": { "visible": "[data-test=\"age-gate-overlay\"]" },
|
|
17
32
|
"then": [
|
|
18
|
-
{ "waitForVisible": "[data-test=\"age-gate-overlay\"]", "check": "none", "timeout":
|
|
33
|
+
{ "waitForVisible": "[data-test=\"age-gate-overlay\"]", "check": "none", "timeout": 120000 },
|
|
19
34
|
{ "waitForThenClick": "[data-test=\"cookie-necessary-button\"]", "timeout": 5000 }
|
|
20
35
|
],
|
|
21
36
|
"optional": true
|
|
22
37
|
}
|
|
23
38
|
],
|
|
24
|
-
"optIn": [
|
|
39
|
+
"optIn": [
|
|
40
|
+
{
|
|
41
|
+
"any": [{ "cookieContains": "AGE_GATE=" }, { "waitForVisible": "[data-test=\"age-gate-overlay\"]", "timeout": 3000 }],
|
|
42
|
+
"optional": true
|
|
43
|
+
},
|
|
44
|
+
{ "waitForVisible": "[data-test=\"age-gate-overlay\"]", "check": "none", "timeout": 120000 },
|
|
45
|
+
{ "waitForThenClick": "[data-test=\"cookie-accept-all\"]" }
|
|
46
|
+
],
|
|
25
47
|
"test": [{ "cookieContains": "%22key%22%3A%22analytics%22%2C%22value%22%3Afalse" }]
|
|
26
48
|
}
|