@duckduckgo/autoconsent 16.48.0 → 16.50.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/.agents/skills/optimize-button-patterns/SKILL.md +145 -0
- package/.agents/skills/oxylabs-testing/SKILL.md +1 -1
- package/.claude/skills/optimize-button-patterns/SKILL.md +7 -0
- package/.github/workflows/release-labels.yml +2 -6
- package/AGENTS.md +2 -0
- package/CHANGELOG.md +77 -0
- package/data/Readme.md +6 -0
- package/data/labelled-button-texts.csv +7006 -0
- package/dist/addon-firefox/background.bundle.js +6 -1
- package/dist/addon-firefox/compact-rules.json +1 -1
- package/dist/addon-firefox/content.bundle.js +26 -13
- 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/background.bundle.js +6 -1
- package/dist/addon-mv3/compact-rules.json +1 -1
- package/dist/addon-mv3/content.bundle.js +26 -13
- 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 +26 -13
- package/dist/autoconsent.esm.js +26 -13
- package/dist/autoconsent.playwright.js +26 -13
- package/dist/autoconsent.standalone.js +27 -14
- package/dist/types/eval-snippets.d.ts +3 -0
- package/lib/eval-snippets.ts +7 -0
- package/lib/heuristic-patterns.ts +20 -11
- package/package.json +3 -1
- package/rules/autoconsent/amazon-hiring.json +16 -0
- package/rules/autoconsent/avada-cookie-consent.json +43 -0
- package/rules/autoconsent/axeptio.json +17 -4
- package/rules/autoconsent/bigcrunch.json +39 -0
- package/rules/autoconsent/borlabs.json +5 -0
- package/rules/autoconsent/bricklink.json +33 -0
- package/rules/autoconsent/ceneo.json +9 -0
- package/rules/autoconsent/conjointly.json +43 -0
- package/rules/autoconsent/consentmo.json +51 -7
- package/rules/autoconsent/cookie-popup-close-cookies.json +37 -0
- package/rules/autoconsent/cookieconsent2.json +6 -1
- package/rules/autoconsent/costco.json +27 -0
- package/rules/autoconsent/datasign.json +85 -0
- package/rules/autoconsent/dhbbank.json +13 -0
- package/rules/autoconsent/ee-consent-notice.json +40 -0
- package/rules/autoconsent/ensembleartsphilly.json +33 -0
- package/rules/autoconsent/evium.de.json +33 -0
- package/rules/autoconsent/fera-cookies.json +67 -0
- package/rules/autoconsent/iubenda.json +13 -7
- package/rules/autoconsent/la7-cmp.json +30 -0
- package/rules/autoconsent/laravel-cookie-consent.json +45 -0
- package/rules/autoconsent/legislation-gov-uk.json +43 -0
- package/rules/autoconsent/mackeeper.json +34 -0
- package/rules/autoconsent/ndl-go-jp.json +35 -0
- package/rules/autoconsent/pandectes.json +48 -15
- package/rules/autoconsent/passle.json +32 -0
- package/rules/autoconsent/paypal-us.json +3 -3
- package/rules/autoconsent/paypal.json +5 -2
- package/rules/autoconsent/primeconsent.json +39 -0
- package/rules/autoconsent/shinden.pl.json +34 -0
- package/rules/autoconsent/texas-instruments.json +17 -0
- package/rules/autoconsent/thegrandyork.json +46 -0
- package/rules/autoconsent/thenounproject.json +61 -0
- package/rules/autoconsent/toyota.json +16 -5
- package/rules/autoconsent/tri-table.json +14 -0
- package/rules/autoconsent/truevault-polaris.json +63 -0
- package/rules/autoconsent/uft-cookie-notice.json +15 -0
- package/rules/autoconsent/wbd-legal-terms.json +32 -0
- package/rules/autoconsent/webflow.json +1 -1
- package/rules/autoconsent/wix.json +90 -8
- package/rules/compact-rules.json +1 -1
- package/rules/rule-index.json +1 -1
- package/rules/rules.json +1 -1
- package/scripts/benchmark-button-classification.ts +75 -0
- package/scripts/button-text-benchmark.ts +102 -0
- package/tests/amazon-hiring.spec.ts +3 -0
- package/tests/avada-cookie-consent.spec.ts +9 -0
- package/tests/axeptio.spec.ts +8 -4
- package/tests/bigcrunch.spec.ts +16 -0
- package/tests/borlabs.spec.ts +7 -3
- package/tests/bricklink.spec.ts +3 -0
- package/tests/ceneo.spec.ts +3 -0
- package/tests/conjointly.spec.ts +3 -0
- package/tests/consentmo.spec.ts +1 -0
- package/tests/cookie-popup-close-cookies.spec.ts +10 -0
- package/tests/cookieconsent2.spec.ts +6 -1
- package/tests/costco.spec.ts +5 -0
- package/tests/datasign.spec.ts +8 -0
- package/tests/dhbbank.spec.ts +6 -0
- package/tests/ee-consent-notice.spec.ts +9 -0
- package/tests/ensembleartsphilly.spec.ts +6 -0
- package/tests/evium.de.spec.ts +5 -0
- package/tests/fera-cookies.spec.ts +6 -0
- package/tests/iubenda.spec.ts +6 -0
- package/tests/la7-cmp.spec.ts +6 -0
- package/tests/laravel-cookie-consent.spec.ts +10 -0
- package/tests/legislation-gov-uk.spec.ts +3 -0
- package/tests/mackeeper.spec.ts +3 -0
- package/tests/ndl-go-jp.spec.ts +8 -0
- package/tests/pandectes.spec.ts +20 -1
- package/tests/passle.spec.ts +8 -0
- package/tests/paypal-us.spec.ts +2 -3
- package/tests/primeconsent.spec.ts +11 -0
- package/tests/shinden.pl.spec.ts +5 -0
- package/tests/texas-instruments.spec.ts +3 -0
- package/tests/thegrandyork.spec.ts +3 -0
- package/tests/thenounproject.spec.ts +3 -0
- package/tests/tri-table.spec.ts +5 -0
- package/tests/truevault-polaris.spec.ts +9 -0
- package/tests/uft-cookie-notice.spec.ts +3 -0
- package/tests/wbd-legal-terms.spec.ts +18 -0
- package/tests/webflow.spec.ts +7 -1
- package/tests/wix.spec.ts +8 -1
- package/tests-wtr/heuristics/button-classification-accuracy.test.ts +41 -0
- package/tests-wtr/heuristics/heuristics-utils.test.ts +64 -0
- package/rules/autoconsent/paypal-cookieprefs.json +0 -29
- package/tests/paypal-cookieprefs.spec.ts +0 -7
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "ee-consent-notice",
|
|
3
|
+
"vendorUrl": "https://docs.expressionengine.com/latest/add-ons/consent.html",
|
|
4
|
+
"prehideSelectors": [".cookieNoticeWrapper"],
|
|
5
|
+
"detectCmp": [
|
|
6
|
+
{
|
|
7
|
+
"exists": ".cookieNoticeWrapper #cookieConsentFormAccept input[name^='ee:cookies_']"
|
|
8
|
+
}
|
|
9
|
+
],
|
|
10
|
+
"detectPopup": [
|
|
11
|
+
{
|
|
12
|
+
"visible": ".cookieNoticeWrapper #cookieConsentFormAccept"
|
|
13
|
+
}
|
|
14
|
+
],
|
|
15
|
+
"optIn": [
|
|
16
|
+
{
|
|
17
|
+
"waitForThenClick": ".cookieNoticeWrapper #cookieConsentFormAccept button"
|
|
18
|
+
}
|
|
19
|
+
],
|
|
20
|
+
"optOut": [
|
|
21
|
+
{
|
|
22
|
+
"if": {
|
|
23
|
+
"exists": ".cookieNoticeWrapper #cookieConsentFormDecline button"
|
|
24
|
+
},
|
|
25
|
+
"then": [
|
|
26
|
+
{
|
|
27
|
+
"waitForThenClick": ".cookieNoticeWrapper #cookieConsentFormDecline button"
|
|
28
|
+
}
|
|
29
|
+
],
|
|
30
|
+
"else": [
|
|
31
|
+
{
|
|
32
|
+
"eval": "EVAL_EE_CONSENT_DECLINE_0"
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"waitForThenClick": ".cookieNoticeWrapper #cookieConsentFormAccept button"
|
|
36
|
+
}
|
|
37
|
+
]
|
|
38
|
+
}
|
|
39
|
+
]
|
|
40
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "ensembleartsphilly",
|
|
3
|
+
"vendorUrl": "https://www.ensembleartsphilly.org/",
|
|
4
|
+
"runContext": {
|
|
5
|
+
"urlPattern": "^https?://(\\w+\\.)?ensembleartsphilly\\.org/"
|
|
6
|
+
},
|
|
7
|
+
"prehideSelectors": [".global-cookie.js-cookie-banner"],
|
|
8
|
+
"detectCmp": [
|
|
9
|
+
{
|
|
10
|
+
"exists": ".global-cookie.js-cookie-banner .global-cookie__button"
|
|
11
|
+
}
|
|
12
|
+
],
|
|
13
|
+
"detectPopup": [
|
|
14
|
+
{
|
|
15
|
+
"visible": ".global-cookie.js-cookie-banner:not(.global-cookie__hidden)"
|
|
16
|
+
}
|
|
17
|
+
],
|
|
18
|
+
"optIn": [
|
|
19
|
+
{
|
|
20
|
+
"waitForThenClick": ".global-cookie.js-cookie-banner .global-cookie__button"
|
|
21
|
+
}
|
|
22
|
+
],
|
|
23
|
+
"optOut": [
|
|
24
|
+
{
|
|
25
|
+
"waitForThenClick": ".global-cookie.js-cookie-banner .global-cookie__button"
|
|
26
|
+
}
|
|
27
|
+
],
|
|
28
|
+
"test": [
|
|
29
|
+
{
|
|
30
|
+
"cookieContains": "_consent_banner_read=true"
|
|
31
|
+
}
|
|
32
|
+
]
|
|
33
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "evium.de",
|
|
3
|
+
"vendorUrl": "https://www.evium.de/",
|
|
4
|
+
"runContext": {
|
|
5
|
+
"urlPattern": "^https://(www\\.)?evium\\.de/"
|
|
6
|
+
},
|
|
7
|
+
"prehideSelectors": ["common-tracking-optin"],
|
|
8
|
+
"detectCmp": [
|
|
9
|
+
{
|
|
10
|
+
"exists": "common-tracking-optin"
|
|
11
|
+
}
|
|
12
|
+
],
|
|
13
|
+
"detectPopup": [
|
|
14
|
+
{
|
|
15
|
+
"visible": "common-tracking-optin"
|
|
16
|
+
}
|
|
17
|
+
],
|
|
18
|
+
"optIn": [
|
|
19
|
+
{
|
|
20
|
+
"waitForThenClick": "common-tracking-optin button.mdc-button--raised"
|
|
21
|
+
}
|
|
22
|
+
],
|
|
23
|
+
"optOut": [
|
|
24
|
+
{
|
|
25
|
+
"waitForThenClick": "common-tracking-optin p.opt-in__text-item:nth-of-type(2) > a:last-of-type"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"waitForVisible": "common-tracking-optin",
|
|
29
|
+
"check": "none",
|
|
30
|
+
"timeout": 2000
|
|
31
|
+
}
|
|
32
|
+
]
|
|
33
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "fera-cookies",
|
|
3
|
+
"prehideSelectors": [".cookies-container:has(.accept-necessary-only-btn)"],
|
|
4
|
+
"detectCmp": [
|
|
5
|
+
{
|
|
6
|
+
"exists": ".cookies-container .cookies-banner-non-essential .accept-necessary-only-btn"
|
|
7
|
+
}
|
|
8
|
+
],
|
|
9
|
+
"detectPopup": [
|
|
10
|
+
{
|
|
11
|
+
"visible": ".cookies-container"
|
|
12
|
+
}
|
|
13
|
+
],
|
|
14
|
+
"optIn": [
|
|
15
|
+
{
|
|
16
|
+
"if": {
|
|
17
|
+
"visible": ".cookies-container .accept-all-cookies-btn"
|
|
18
|
+
},
|
|
19
|
+
"then": [
|
|
20
|
+
{
|
|
21
|
+
"click": ".cookies-container .accept-all-cookies-btn"
|
|
22
|
+
}
|
|
23
|
+
],
|
|
24
|
+
"else": [
|
|
25
|
+
{
|
|
26
|
+
"waitForThenClick": ".cookies-container .accept-hide-message-btn"
|
|
27
|
+
}
|
|
28
|
+
]
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"waitForThenClick": ".cookies-accepted-container #closeStatusPopUp",
|
|
32
|
+
"timeout": 2000,
|
|
33
|
+
"optional": true
|
|
34
|
+
}
|
|
35
|
+
],
|
|
36
|
+
"optOut": [
|
|
37
|
+
{
|
|
38
|
+
"if": {
|
|
39
|
+
"visible": ".cookies-container .accept-necessary-only-btn"
|
|
40
|
+
},
|
|
41
|
+
"then": [
|
|
42
|
+
{
|
|
43
|
+
"click": ".cookies-container .accept-necessary-only-btn"
|
|
44
|
+
}
|
|
45
|
+
],
|
|
46
|
+
"else": [
|
|
47
|
+
{
|
|
48
|
+
"waitForThenClick": ".cookies-container .accept-hide-message-btn"
|
|
49
|
+
}
|
|
50
|
+
]
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"waitForThenClick": ".cookies-accepted-container #closeStatusPopUp",
|
|
54
|
+
"timeout": 2000,
|
|
55
|
+
"optional": true
|
|
56
|
+
}
|
|
57
|
+
],
|
|
58
|
+
"test": [
|
|
59
|
+
{
|
|
60
|
+
"cookieContains": "_website_cookie_essentialCookies=essentialCookies"
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"cookieContains": "_website_cookie_usageCookies=",
|
|
64
|
+
"negated": true
|
|
65
|
+
}
|
|
66
|
+
]
|
|
67
|
+
}
|
|
@@ -10,13 +10,19 @@
|
|
|
10
10
|
"then": [{ "click": ".iubenda-cs-reject-btn" }],
|
|
11
11
|
"else": [
|
|
12
12
|
{
|
|
13
|
-
"
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
13
|
+
"if": { "exists": ".iubenda-cs-customize-btn" },
|
|
14
|
+
"then": [
|
|
15
|
+
{
|
|
16
|
+
"waitForThenClick": ".iubenda-cs-customize-btn"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"waitForThenClick": ".iub-btn-reject"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"waitForThenClick": "#iubFooterBtn"
|
|
23
|
+
}
|
|
24
|
+
],
|
|
25
|
+
"else": [{ "hide": "#iubenda-cs-banner" }]
|
|
20
26
|
}
|
|
21
27
|
]
|
|
22
28
|
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "la7-cmp",
|
|
3
|
+
"vendorUrl": "https://www.la7.it/",
|
|
4
|
+
"prehideSelectors": ["#_evh-ric"],
|
|
5
|
+
"detectCmp": [
|
|
6
|
+
{
|
|
7
|
+
"exists": "#_evh-ric #btn_donotaccept"
|
|
8
|
+
}
|
|
9
|
+
],
|
|
10
|
+
"detectPopup": [
|
|
11
|
+
{
|
|
12
|
+
"visible": "#_evh-ric #btn_donotaccept"
|
|
13
|
+
}
|
|
14
|
+
],
|
|
15
|
+
"optIn": [
|
|
16
|
+
{
|
|
17
|
+
"waitForThenClick": "#_evh-ric #AcceptButton"
|
|
18
|
+
}
|
|
19
|
+
],
|
|
20
|
+
"optOut": [
|
|
21
|
+
{
|
|
22
|
+
"waitForThenClick": "#_evh-ric #btn_donotaccept"
|
|
23
|
+
}
|
|
24
|
+
],
|
|
25
|
+
"test": [
|
|
26
|
+
{
|
|
27
|
+
"cookieContains": "__cpmtAccept=false"
|
|
28
|
+
}
|
|
29
|
+
]
|
|
30
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "laravel-cookie-consent",
|
|
3
|
+
"vendorUrl": "https://github.com/statikbe/laravel-cookie-consent",
|
|
4
|
+
"prehideSelectors": [".lcc-modal.js-lcc-modal-alert"],
|
|
5
|
+
"detectCmp": [
|
|
6
|
+
{
|
|
7
|
+
"exists": ".lcc-modal.js-lcc-modal-alert"
|
|
8
|
+
}
|
|
9
|
+
],
|
|
10
|
+
"detectPopup": [
|
|
11
|
+
{
|
|
12
|
+
"visible": ".lcc-modal.js-lcc-modal-alert"
|
|
13
|
+
}
|
|
14
|
+
],
|
|
15
|
+
"optIn": [
|
|
16
|
+
{
|
|
17
|
+
"waitForThenClick": ".lcc-modal.js-lcc-modal-alert .js-lcc-accept"
|
|
18
|
+
}
|
|
19
|
+
],
|
|
20
|
+
"optOut": [
|
|
21
|
+
{
|
|
22
|
+
"waitForThenClick": ".lcc-modal.js-lcc-modal-alert .js-lcc-settings-toggle"
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"waitForVisible": ".lcc-modal.js-lcc-modal-settings"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"click": ".lcc-modal.js-lcc-modal-settings input[type=checkbox]:checked:not(:disabled)",
|
|
29
|
+
"all": true,
|
|
30
|
+
"optional": true
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"waitForThenClick": ".lcc-modal.js-lcc-modal-settings .js-lcc-settings-save"
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"waitForVisible": ".lcc-modal.js-lcc-modal-alert",
|
|
37
|
+
"check": "none"
|
|
38
|
+
}
|
|
39
|
+
],
|
|
40
|
+
"test": [
|
|
41
|
+
{
|
|
42
|
+
"cookieContains": "__cookie_consent=false"
|
|
43
|
+
}
|
|
44
|
+
]
|
|
45
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "legislation-gov-uk",
|
|
3
|
+
"runContext": {
|
|
4
|
+
"urlPattern": "^https?://(\\w+\\.)?legislation\\.gov\\.uk/"
|
|
5
|
+
},
|
|
6
|
+
"prehideSelectors": [".cookie-preferences-banner"],
|
|
7
|
+
"detectCmp": [
|
|
8
|
+
{
|
|
9
|
+
"exists": ".cookie-preferences-banner .reject-all-cookies"
|
|
10
|
+
}
|
|
11
|
+
],
|
|
12
|
+
"detectPopup": [
|
|
13
|
+
{
|
|
14
|
+
"visible": ".cookie-preferences-banner .reject-all-cookies"
|
|
15
|
+
}
|
|
16
|
+
],
|
|
17
|
+
"optIn": [
|
|
18
|
+
{
|
|
19
|
+
"waitForThenClick": ".cookie-preferences-banner .accept-all-cookies"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"waitForThenClick": ".cookie-preferences-banner .dismiss-banner",
|
|
23
|
+
"timeout": 3000,
|
|
24
|
+
"optional": true
|
|
25
|
+
}
|
|
26
|
+
],
|
|
27
|
+
"optOut": [
|
|
28
|
+
{
|
|
29
|
+
"waitForThenClick": ".cookie-preferences-banner .reject-all-cookies"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"comment": "a confirmation banner replaces the dialog after the choice",
|
|
33
|
+
"waitForThenClick": ".cookie-preferences-banner .dismiss-banner",
|
|
34
|
+
"timeout": 3000,
|
|
35
|
+
"optional": true
|
|
36
|
+
}
|
|
37
|
+
],
|
|
38
|
+
"test": [
|
|
39
|
+
{
|
|
40
|
+
"cookieContains": "analytics%22%3Afalse"
|
|
41
|
+
}
|
|
42
|
+
]
|
|
43
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "mackeeper",
|
|
3
|
+
"vendorUrl": "https://mackeeper.com/",
|
|
4
|
+
"cosmetic": false,
|
|
5
|
+
"runContext": {
|
|
6
|
+
"urlPattern": "^https?://(\\w+\\.)?mackeeper\\.com/"
|
|
7
|
+
},
|
|
8
|
+
"prehideSelectors": [".js-gdpr-banner-top-hide"],
|
|
9
|
+
"detectCmp": [
|
|
10
|
+
{
|
|
11
|
+
"exists": ".js-gdpr-banner .js-gdpr-banner-top-hide"
|
|
12
|
+
}
|
|
13
|
+
],
|
|
14
|
+
"detectPopup": [
|
|
15
|
+
{
|
|
16
|
+
"visible": ".js-gdpr-banner .js-gdpr-banner-top-hide"
|
|
17
|
+
}
|
|
18
|
+
],
|
|
19
|
+
"optIn": [
|
|
20
|
+
{
|
|
21
|
+
"waitForThenClick": ".js-gdpr-banner-top-hide .js-gdpr-banner-agree"
|
|
22
|
+
}
|
|
23
|
+
],
|
|
24
|
+
"optOut": [
|
|
25
|
+
{
|
|
26
|
+
"waitForThenClick": ".js-gdpr-banner-top-hide .js-gdpr-banner-disagree"
|
|
27
|
+
}
|
|
28
|
+
],
|
|
29
|
+
"test": [
|
|
30
|
+
{
|
|
31
|
+
"cookieContains": "cookie_banner=false"
|
|
32
|
+
}
|
|
33
|
+
]
|
|
34
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "ndl-go-jp",
|
|
3
|
+
"vendorUrl": "https://www.ndl.go.jp/",
|
|
4
|
+
"runContext": {
|
|
5
|
+
"urlPattern": "^https://([a-z0-9-]+\\.)?ndl\\.go\\.jp/"
|
|
6
|
+
},
|
|
7
|
+
"prehideSelectors": [".privacy-confirmation"],
|
|
8
|
+
"detectCmp": [
|
|
9
|
+
{
|
|
10
|
+
"exists": ".privacy-confirmation .pc-buttons"
|
|
11
|
+
}
|
|
12
|
+
],
|
|
13
|
+
"detectPopup": [
|
|
14
|
+
{
|
|
15
|
+
"visible": ".privacy-confirmation .pc-buttons"
|
|
16
|
+
}
|
|
17
|
+
],
|
|
18
|
+
"optIn": [
|
|
19
|
+
{
|
|
20
|
+
"waitForThenClick": ".privacy-confirmation [data-cy=privacy-accept-all], .privacy-confirmation [data-cy=accept-all-button]"
|
|
21
|
+
}
|
|
22
|
+
],
|
|
23
|
+
"optOut": [
|
|
24
|
+
{
|
|
25
|
+
"waitForThenClick": ".privacy-confirmation [data-cy=accept-core-button], .privacy-confirmation .pc-buttons > button.ui-parts-button-fill:not([data-cy])"
|
|
26
|
+
}
|
|
27
|
+
],
|
|
28
|
+
"test": [
|
|
29
|
+
{
|
|
30
|
+
"waitForVisible": ".privacy-confirmation .pc-buttons",
|
|
31
|
+
"timeout": 2000,
|
|
32
|
+
"check": "none"
|
|
33
|
+
}
|
|
34
|
+
]
|
|
35
|
+
}
|
|
@@ -1,36 +1,69 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pandectes",
|
|
3
3
|
"vendorUrl": "https://pandectes.io/",
|
|
4
|
-
"prehideSelectors": ["#pandectes-banner"],
|
|
4
|
+
"prehideSelectors": ["#pandectes-banner", "pandectes-cmp"],
|
|
5
5
|
"detectCmp": [
|
|
6
6
|
{
|
|
7
|
-
"exists": "#pandectes-banner"
|
|
7
|
+
"any": [{ "exists": "#pandectes-banner" }, { "exists": ["pandectes-cmp", "dialog.notice"] }]
|
|
8
8
|
}
|
|
9
9
|
],
|
|
10
10
|
"detectPopup": [
|
|
11
11
|
{
|
|
12
|
-
"visible": "#pandectes-banner"
|
|
12
|
+
"any": [{ "visible": "#pandectes-banner" }, { "visible": ["pandectes-cmp", "dialog.notice"] }]
|
|
13
13
|
}
|
|
14
14
|
],
|
|
15
15
|
"optIn": [
|
|
16
16
|
{
|
|
17
|
-
"
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
"if": { "exists": "#pandectes-banner" },
|
|
18
|
+
"then": [
|
|
19
|
+
{
|
|
20
|
+
"waitForThenClick": "#pandectes-banner .cc-allow"
|
|
21
|
+
},
|
|
22
|
+
{ "hide": "#pandectes-banner", "optional": true }
|
|
23
|
+
],
|
|
24
|
+
"else": [{ "waitForThenClick": ["pandectes-cmp", "dialog.notice button.allow"] }]
|
|
25
|
+
}
|
|
20
26
|
],
|
|
21
27
|
"optOut": [
|
|
22
28
|
{
|
|
23
|
-
"if": { "
|
|
24
|
-
"then": [
|
|
29
|
+
"if": { "exists": "#pandectes-banner" },
|
|
30
|
+
"then": [
|
|
31
|
+
{
|
|
32
|
+
"if": { "visible": "#pandectes-banner .cc-deny" },
|
|
33
|
+
"then": [{ "waitForThenClick": "#pandectes-banner .cc-deny" }],
|
|
34
|
+
"else": [
|
|
35
|
+
{ "waitForThenClick": "#pandectes-banner .cc-settings" },
|
|
36
|
+
{ "waitForVisible": ".pd-cp-ui-rejectAll" },
|
|
37
|
+
{ "click": ".pd-cp-ui-rejectAll" },
|
|
38
|
+
{ "waitForVisible": ".pd-cp-ui-save" },
|
|
39
|
+
{ "click": ".pd-cp-ui-save" }
|
|
40
|
+
]
|
|
41
|
+
},
|
|
42
|
+
{ "hide": "#pandectes-banner", "optional": true }
|
|
43
|
+
],
|
|
25
44
|
"else": [
|
|
26
|
-
{
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
45
|
+
{
|
|
46
|
+
"if": { "visible": ["pandectes-cmp", "dialog.notice button.deny"] },
|
|
47
|
+
"then": [{ "waitForThenClick": ["pandectes-cmp", "dialog.notice button.deny"] }],
|
|
48
|
+
"else": [
|
|
49
|
+
{ "waitForThenClick": ["pandectes-cmp", "dialog.notice button.preferences"] },
|
|
50
|
+
{ "waitForVisible": ["pandectes-cmp", "dialog.preferences"] },
|
|
51
|
+
{
|
|
52
|
+
"if": { "exists": ["pandectes-cmp", "dialog.preferences button.deny"] },
|
|
53
|
+
"then": [{ "click": ["pandectes-cmp", "dialog.preferences button.deny"] }],
|
|
54
|
+
"else": [
|
|
55
|
+
{
|
|
56
|
+
"click": ["pandectes-cmp", "dialog.preferences button[role=switch][aria-checked=true]:not([disabled])"],
|
|
57
|
+
"all": true,
|
|
58
|
+
"optional": true
|
|
59
|
+
},
|
|
60
|
+
{ "click": ["pandectes-cmp", "dialog.preferences button.custom"] }
|
|
61
|
+
]
|
|
62
|
+
}
|
|
63
|
+
]
|
|
64
|
+
}
|
|
31
65
|
]
|
|
32
|
-
}
|
|
33
|
-
{ "hide": "#pandectes-banner", "optional": true }
|
|
66
|
+
}
|
|
34
67
|
],
|
|
35
68
|
"test": [{ "wait": 500 }, { "eval": "EVAL_PANDECTES_TEST" }]
|
|
36
69
|
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "passle",
|
|
3
|
+
"prehideSelectors": ["#passle-cookie-control-container #cookie-control"],
|
|
4
|
+
"detectCmp": [
|
|
5
|
+
{
|
|
6
|
+
"exists": "#passle-cookie-control-container"
|
|
7
|
+
}
|
|
8
|
+
],
|
|
9
|
+
"detectPopup": [
|
|
10
|
+
{
|
|
11
|
+
"visible": "#passle-cookie-control-container.cookie-control_state--open #cookie-control"
|
|
12
|
+
}
|
|
13
|
+
],
|
|
14
|
+
"optIn": [
|
|
15
|
+
{
|
|
16
|
+
"waitForThenClick": "#cookie-control .cookie-control--accept"
|
|
17
|
+
}
|
|
18
|
+
],
|
|
19
|
+
"optOut": [
|
|
20
|
+
{
|
|
21
|
+
"waitForThenClick": "#cookie-control .cookie-control--decline"
|
|
22
|
+
}
|
|
23
|
+
],
|
|
24
|
+
"test": [
|
|
25
|
+
{
|
|
26
|
+
"wait": 1000
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"cookieContains": "passleCookieControl={%22Accepted%22:false"
|
|
30
|
+
}
|
|
31
|
+
]
|
|
32
|
+
}
|
|
@@ -7,9 +7,9 @@
|
|
|
7
7
|
"optOut": [
|
|
8
8
|
{
|
|
9
9
|
"if": { "exists": "#bannerDeclineButton" },
|
|
10
|
-
"then": [{ "
|
|
11
|
-
"comment": "Without a decline button the only way out is the
|
|
12
|
-
"else": [{ "
|
|
10
|
+
"then": [{ "waitForThenClick": "#bannerDeclineButton", "retry": 10, "retryInterval": 500 }],
|
|
11
|
+
"comment": "Without a decline button the only way out is the cookie preferences page, and the choice made there does not always stick, so the banner keeps coming back. Hide it instead.",
|
|
12
|
+
"else": [{ "hide": "#ccpaCookieBanner" }]
|
|
13
13
|
}
|
|
14
14
|
],
|
|
15
15
|
"test": [{ "wait": 1000 }, { "cookieContains": "type%3Dexplicit" }]
|
|
@@ -6,8 +6,11 @@
|
|
|
6
6
|
"optIn": [{ "click": "#acceptAllButton" }],
|
|
7
7
|
"optOut": [
|
|
8
8
|
{
|
|
9
|
-
"
|
|
9
|
+
"comment": "The banner renders before its click handler is attached, and early clicks are ignored.",
|
|
10
|
+
"waitForThenClick": "#bannerDeclineButton",
|
|
11
|
+
"retry": 10,
|
|
12
|
+
"retryInterval": 500
|
|
10
13
|
}
|
|
11
14
|
],
|
|
12
|
-
"test": [{ "wait": 500 }, { "cookieContains": "
|
|
15
|
+
"test": [{ "wait": 500 }, { "cookieContains": "type%3Dexplicit" }]
|
|
13
16
|
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "primeconsent",
|
|
3
|
+
"_metadata": {
|
|
4
|
+
"vendorUrl": "https://privacypillar.com/"
|
|
5
|
+
},
|
|
6
|
+
"prehideSelectors": [".azpp-cookie-consent"],
|
|
7
|
+
"detectCmp": [
|
|
8
|
+
{
|
|
9
|
+
"exists": [".azpp-cookie-consent", ".banner-main"]
|
|
10
|
+
}
|
|
11
|
+
],
|
|
12
|
+
"detectPopup": [
|
|
13
|
+
{
|
|
14
|
+
"visible": [".azpp-cookie-consent", ".banner-main .button-group > button"]
|
|
15
|
+
}
|
|
16
|
+
],
|
|
17
|
+
"optIn": [
|
|
18
|
+
{
|
|
19
|
+
"waitForThenClick": [".azpp-cookie-consent", ".banner-main .button-group > button:last-of-type"]
|
|
20
|
+
}
|
|
21
|
+
],
|
|
22
|
+
"optOut": [
|
|
23
|
+
{
|
|
24
|
+
"waitForThenClick": [".azpp-cookie-consent", ".banner-main .button-group > button:nth-of-type(2):nth-last-of-type(2)"]
|
|
25
|
+
}
|
|
26
|
+
],
|
|
27
|
+
"test": [
|
|
28
|
+
{
|
|
29
|
+
"any": [
|
|
30
|
+
{
|
|
31
|
+
"cookieContains": "\"status\":\"reject_all\""
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"cookieContains": "\"status\":\"do_not_sell\""
|
|
35
|
+
}
|
|
36
|
+
]
|
|
37
|
+
}
|
|
38
|
+
]
|
|
39
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "shinden.pl",
|
|
3
|
+
"vendorUrl": "https://shinden.pl/",
|
|
4
|
+
"runContext": {
|
|
5
|
+
"urlPattern": "^https?://(www\\.)?shinden\\.pl/"
|
|
6
|
+
},
|
|
7
|
+
"prehideSelectors": ["#cookie-bar"],
|
|
8
|
+
"detectCmp": [{ "exists": "#cookie-bar .cb-enable,[class^=\"app_gdpr--\"] button" }],
|
|
9
|
+
"detectPopup": [{ "visible": "#cookie-bar .cb-enable,[class^=\"app_gdpr--\"] button", "check": "any" }],
|
|
10
|
+
"optIn": [
|
|
11
|
+
{ "click": "#cookie-bar .cb-enable", "optional": true },
|
|
12
|
+
{ "waitForVisible": "[class^=\"app_gdpr--\"] button", "timeout": 10000, "optional": true },
|
|
13
|
+
{
|
|
14
|
+
"if": { "visible": "[class^=\"app_gdpr--\"] button" },
|
|
15
|
+
"then": [{ "waitForThenClick": "[class^=\"app_gdpr--\"] div > button:last-of-type:nth-of-type(2)" }]
|
|
16
|
+
}
|
|
17
|
+
],
|
|
18
|
+
"optOut": [
|
|
19
|
+
{ "hide": "#cookie-bar" },
|
|
20
|
+
{ "waitForVisible": "[class^=\"app_gdpr--\"] button", "timeout": 10000, "optional": true },
|
|
21
|
+
{
|
|
22
|
+
"if": { "visible": "[class^=\"app_gdpr--\"] button" },
|
|
23
|
+
"then": [
|
|
24
|
+
{
|
|
25
|
+
"waitForThenClick": "[class^=\"app_gdpr--\"] div > button:first-of-type:nth-last-of-type(2)",
|
|
26
|
+
"retry": 2,
|
|
27
|
+
"retryInterval": 500
|
|
28
|
+
},
|
|
29
|
+
{ "waitForThenClick": "[class^=\"app_gdpr--\"] div > button:nth-of-type(2):nth-last-of-type(2)" },
|
|
30
|
+
{ "waitForVisible": "[class^=\"app_gdpr--\"] button", "check": "none" }
|
|
31
|
+
]
|
|
32
|
+
}
|
|
33
|
+
]
|
|
34
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "texas-instruments",
|
|
3
|
+
"prehideSelectors": ["#tiGDPRecModal,#tiGDPRcpPrefs"],
|
|
4
|
+
"detectCmp": [{ "exists": "#tiGDPRecModal #consent_pref_center" }],
|
|
5
|
+
"detectPopup": [{ "visible": "#tiGDPRecModal .privacy_prompt" }],
|
|
6
|
+
"optOut": [
|
|
7
|
+
{ "click": "#consent_pref_center" },
|
|
8
|
+
{ "waitForVisible": "#tiGDPRcpPrefs .privacy_prompt" },
|
|
9
|
+
{
|
|
10
|
+
"if": { "exists": "#tiGDPRcpPrefs input.cookie-custom-checkbox:checked" },
|
|
11
|
+
"then": [{ "click": "#tiGDPRcpPrefs input.cookie-custom-checkbox:checked", "all": true }]
|
|
12
|
+
},
|
|
13
|
+
{ "waitForThenClick": "#preferences_prompt_submit" }
|
|
14
|
+
],
|
|
15
|
+
"optIn": [{ "waitForThenClick": "#consent_prompt_submit" }],
|
|
16
|
+
"test": [{ "cookieContains": "c1:0%7Cc3:0%7Cc6:0%7Cc7:0" }]
|
|
17
|
+
}
|