@duckduckgo/autoconsent 1.0.6 → 2.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.
Files changed (165) hide show
  1. package/.eslintrc.cjs +14 -0
  2. package/.vscode/settings.json +7 -0
  3. package/Jenkinsfile +68 -39
  4. package/api.md +104 -0
  5. package/dist/autoconsent.cjs.js +1 -1371
  6. package/dist/autoconsent.esm.js +1 -1363
  7. package/dist/autoconsent.playwright.js +1 -0
  8. package/dist/autoconsent.standalone.js +1 -0
  9. package/lib/cmps/all.ts +15 -10
  10. package/lib/cmps/base.ts +91 -91
  11. package/lib/cmps/consentmanager.ts +31 -19
  12. package/lib/cmps/consentomatic.ts +89 -0
  13. package/lib/cmps/cookiebot.ts +62 -53
  14. package/lib/cmps/evidon.ts +29 -18
  15. package/lib/cmps/onetrust.ts +37 -19
  16. package/lib/cmps/sourcepoint-frame.ts +102 -0
  17. package/lib/cmps/sourcepoint-top.ts +47 -0
  18. package/lib/cmps/trustarc-frame.ts +115 -0
  19. package/lib/cmps/trustarc-top.ts +91 -0
  20. package/lib/consentomatic/index.ts +233 -70
  21. package/lib/{web/consentomatic → consentomatic}/tools.ts +0 -0
  22. package/lib/eval-handler.ts +58 -0
  23. package/lib/index.ts +0 -2
  24. package/lib/messages.ts +100 -0
  25. package/lib/rule-executors.ts +108 -0
  26. package/lib/rules.ts +82 -0
  27. package/lib/types.ts +35 -0
  28. package/lib/utils.ts +64 -0
  29. package/lib/web.ts +283 -74
  30. package/package.json +17 -14
  31. package/playwright/content.ts +27 -0
  32. package/playwright/runner.ts +131 -0
  33. package/playwright/standalone.ts +36 -0
  34. package/playwright.config.ts +7 -0
  35. package/readme.md +57 -47
  36. package/rollup.config.js +23 -15
  37. package/rules/autoconsent/192.json +17 -0
  38. package/rules/autoconsent/ausopen.json +7 -0
  39. package/rules/autoconsent/aws-amazon.json +1 -1
  40. package/rules/autoconsent/baden-wuerttemberg-de.json +7 -3
  41. package/rules/autoconsent/bing.json +14 -0
  42. package/rules/autoconsent/bundesregierung-de.json +6 -2
  43. package/rules/autoconsent/cc-banner.json +0 -1
  44. package/rules/autoconsent/cookie-notice.json +0 -1
  45. package/rules/autoconsent/cookieconsent.json +5 -6
  46. package/rules/autoconsent/destatis-de.json +0 -1
  47. package/rules/autoconsent/dunelm.json +18 -0
  48. package/rules/autoconsent/etsy.json +3 -2
  49. package/rules/autoconsent/eu-cookie-compliance.json +0 -1
  50. package/rules/autoconsent/gov-uk.json +10 -0
  51. package/rules/autoconsent/hl-co-uk.json +8 -9
  52. package/rules/autoconsent/johnlewis.json +5 -2
  53. package/rules/autoconsent/marksandspencer.json +7 -0
  54. package/rules/autoconsent/notice-cookie.json +0 -1
  55. package/rules/autoconsent/osano.json +0 -1
  56. package/rules/autoconsent/{paypal-de.json → paypal.json} +6 -2
  57. package/rules/autoconsent/tealium.json +4 -5
  58. package/rules/autoconsent/uswitch.json +8 -0
  59. package/rules/autoconsent/waitrose.json +28 -0
  60. package/rules/autoconsent/wetransfer.json +7 -0
  61. package/rules/rules.json +314 -39
  62. package/tests/192.spec.ts +7 -0
  63. package/tests/arzt-auskunft.spec.ts +1 -1
  64. package/tests/asus.spec.ts +1 -1
  65. package/tests/ausopen.spec.ts +7 -0
  66. package/tests/aws.amazon.spec.ts +1 -1
  67. package/tests/baden-wuerttemberg.spec.ts +1 -1
  68. package/tests/borlabs.spec.ts +1 -1
  69. package/tests/bundesregierung.spec.ts +5 -2
  70. package/tests/ccbanner.spec.ts +1 -1
  71. package/tests/consentmanager.spec.ts +3 -3
  72. package/tests/cookiebot.spec.ts +8 -1
  73. package/tests/cookieconsent.spec.ts +1 -1
  74. package/tests/cookielawinfo.spec.ts +1 -1
  75. package/tests/cookienotice.spec.ts +1 -1
  76. package/tests/corona-in-zahlen.spec.ts +1 -1
  77. package/tests/deepl.spec.ts +1 -1
  78. package/tests/destatis.spec.ts +1 -1
  79. package/tests/didomi.spec.ts +6 -2
  80. package/tests/drupal.spec.ts +8 -0
  81. package/tests/dunelm.spec.ts +7 -0
  82. package/tests/etsy.spec.ts +1 -1
  83. package/tests/eu-cookie-compliance-banner.spec.ts +1 -1
  84. package/tests/evidon.spec.ts +1 -1
  85. package/tests/fundingchoices.spec.ts +2 -1
  86. package/tests/gov-uk.spec.ts +9 -0
  87. package/tests/hl-co-uk.spec.ts +1 -1
  88. package/tests/hubspot.spec.ts +1 -1
  89. package/tests/ionos.spec.ts +1 -1
  90. package/tests/johnlewis.spec.ts +2 -2
  91. package/tests/klaro.spec.ts +1 -1
  92. package/tests/marksandspencer.spec.ts +7 -0
  93. package/tests/mediamarkt.spec.ts +1 -1
  94. package/tests/metoffice-gov-uk.spec.ts +1 -1
  95. package/tests/microsoft.spec.ts +1 -1
  96. package/tests/moneysavingexpert.spec.ts +1 -1
  97. package/tests/motor-talk.spec.ts +1 -1
  98. package/tests/national-lottery.spec.ts +1 -1
  99. package/tests/netflix.spec.ts +1 -1
  100. package/tests/nhs.spec.ts +1 -1
  101. package/tests/notice-cookie.spec.ts +1 -1
  102. package/tests/obi.spec.ts +1 -1
  103. package/tests/oil.spec.ts +1 -1
  104. package/tests/onetrust.spec.ts +10 -1
  105. package/tests/osano.spec.ts +1 -1
  106. package/tests/otto.spec.ts +1 -1
  107. package/tests/paypal.spec.ts +8 -6
  108. package/tests/quantcast.spec.ts +4 -1
  109. package/tests/snigel.spec.ts +1 -1
  110. package/tests/sourcepoint.spec.ts +8 -8
  111. package/tests/springer.spec.ts +1 -1
  112. package/tests/steampowered.spec.ts +1 -1
  113. package/tests/tealium.spec.ts +1 -1
  114. package/tests/testcmp.spec.ts +1 -1
  115. package/tests/thalia.spec.ts +1 -1
  116. package/tests/thefreedictionary.spec.ts +1 -1
  117. package/tests/trustarc.spec.ts +25 -3
  118. package/tests/usercentrics-1.spec.ts +1 -1
  119. package/tests/uswitch.spec.ts +7 -0
  120. package/tests/vodafone.spec.ts +1 -1
  121. package/tests/waitrose.spec.ts +7 -0
  122. package/tests/wetransfer.spec.ts +7 -0
  123. package/tests/wordpressgdpr.spec.ts +1 -1
  124. package/tests/xing.spec.ts +1 -1
  125. package/tsconfig.json +2 -2
  126. package/.eslintrc +0 -12
  127. package/cosmetics/rules.json +0 -110
  128. package/dist/autoconsent.puppet.js +0 -1072
  129. package/lib/cmps/all.js +0 -19
  130. package/lib/cmps/base.js +0 -174
  131. package/lib/cmps/consentmanager.js +0 -31
  132. package/lib/cmps/cookiebot.js +0 -73
  133. package/lib/cmps/evidon.js +0 -26
  134. package/lib/cmps/onetrust.js +0 -32
  135. package/lib/cmps/sourcepoint.js +0 -82
  136. package/lib/cmps/sourcepoint.ts +0 -95
  137. package/lib/cmps/trustarc.js +0 -106
  138. package/lib/cmps/trustarc.ts +0 -147
  139. package/lib/config.js +0 -1
  140. package/lib/consentomatic/index.js +0 -52
  141. package/lib/detector.js +0 -33
  142. package/lib/detector.ts +0 -34
  143. package/lib/hider.js +0 -13
  144. package/lib/hider.ts +0 -16
  145. package/lib/index.js +0 -4
  146. package/lib/messages.d.ts +0 -61
  147. package/lib/node.js +0 -35
  148. package/lib/node.ts +0 -43
  149. package/lib/puppet/tab.js +0 -121
  150. package/lib/puppet/tab.ts +0 -146
  151. package/lib/rules.d.ts +0 -80
  152. package/lib/tabwrapper.js +0 -67
  153. package/lib/tabwrapper.ts +0 -74
  154. package/lib/types.d.ts +0 -61
  155. package/lib/web/consentomatic/index.js +0 -188
  156. package/lib/web/consentomatic/index.ts +0 -249
  157. package/lib/web/consentomatic/tools.js +0 -177
  158. package/lib/web/content-utils.js +0 -29
  159. package/lib/web/content-utils.ts +0 -31
  160. package/lib/web/content.js +0 -79
  161. package/lib/web/content.ts +0 -71
  162. package/lib/web/tab.js +0 -112
  163. package/lib/web/tab.ts +0 -178
  164. package/lib/web.js +0 -95
  165. package/tests/runner.ts +0 -61
package/rules/rules.json CHANGED
@@ -1,5 +1,36 @@
1
1
  {
2
2
  "autoconsent": [
3
+ {
4
+ "name": "192.com",
5
+ "detectCmp": [
6
+ {
7
+ "exists": ".ont-cookies"
8
+ }
9
+ ],
10
+ "detectPopup": [
11
+ {
12
+ "visible": ".ont-cookies"
13
+ }
14
+ ],
15
+ "optIn": [
16
+ {
17
+ "click": ".ont-btn-main.ont-cookies-btn.js-ont-btn-ok2"
18
+ }
19
+ ],
20
+ "optOut": [
21
+ {
22
+ "click": ".ont-cookes-btn-manage"
23
+ },
24
+ {
25
+ "click": ".ont-btn-main.ont-cookies-btn.js-ont-btn-choose"
26
+ }
27
+ ],
28
+ "test": [
29
+ {
30
+ "eval": "document.cookie.includes('CC_ADVERTISING=NO') && document.cookie.includes('CC_ANALYTICS=NO')"
31
+ }
32
+ ]
33
+ },
3
34
  {
4
35
  "name": "arzt-auskunft.de",
5
36
  "prehideSelectors": [
@@ -52,10 +83,33 @@
52
83
  }
53
84
  ]
54
85
  },
86
+ {
87
+ "name": "ausopen.com",
88
+ "isHidingRule": true,
89
+ "detectCmp": [
90
+ {
91
+ "exists": ".gdpr-popup__message"
92
+ }
93
+ ],
94
+ "detectPopup": [
95
+ {
96
+ "visible": ".gdpr-popup__message"
97
+ }
98
+ ],
99
+ "optOut": [
100
+ {
101
+ "hide": [
102
+ ".gdpr-popup__message"
103
+ ]
104
+ }
105
+ ]
106
+ },
55
107
  {
56
108
  "name": "aws.amazon.com",
57
109
  "prehideSelectors": [
58
110
  "#awsccc-cb-content",
111
+ "#awsccc-cs-container",
112
+ "#awsccc-cs-modalOverlay",
59
113
  "#awsccc-cs-container-inner"
60
114
  ],
61
115
  "detectCmp": [
@@ -87,7 +141,6 @@
87
141
  },
88
142
  {
89
143
  "name": "baden-wuerttemberg.de",
90
- "isHidingRule": true,
91
144
  "prehideSelectors": [
92
145
  ".cookie-alert.t-dark"
93
146
  ],
@@ -103,10 +156,53 @@
103
156
  ],
104
157
  "optIn": [
105
158
  {
106
- "click": ".cookie-alert__button"
159
+ "click": ".cookie-alert__form input:not([disabled]):not([checked])"
160
+ },
161
+ {
162
+ "click": ".cookie-alert__button button"
163
+ }
164
+ ],
165
+ "optOut": [
166
+ {
167
+ "hide": [
168
+ ".cookie-alert.t-dark"
169
+ ]
170
+ }
171
+ ]
172
+ },
173
+ {
174
+ "name": "bing.com",
175
+ "prehideSelectors": [
176
+ "#bnp_container"
177
+ ],
178
+ "detectCmp": [
179
+ {
180
+ "exists": "#bnp_cookie_banner"
181
+ }
182
+ ],
183
+ "detectPopup": [
184
+ {
185
+ "visible": "#bnp_cookie_banner"
186
+ }
187
+ ],
188
+ "optIn": [
189
+ {
190
+ "click": "#bnp_btn_accept"
107
191
  }
108
192
  ],
109
- "optOut": []
193
+ "optOut": [
194
+ {
195
+ "click": "#bnp_btn_preference"
196
+ },
197
+ {
198
+ "click": "#mcp_savesettings"
199
+ }
200
+ ],
201
+ "test": [
202
+ {
203
+ "eval": "document.cookie.includes('AL=0') && document.cookie.includes('AD=0') && document.cookie.includes('SM=0')"
204
+ }
205
+ ]
110
206
  },
111
207
  {
112
208
  "name": "borlabs",
@@ -146,7 +242,7 @@
146
242
  ],
147
243
  "detectPopup": [
148
244
  {
149
- "visible": ".bpa-module-full-hero"
245
+ "visible": ".bpa-cookie-banner .bpa-module-full-hero"
150
246
  }
151
247
  ],
152
248
  "optIn": [
@@ -156,7 +252,11 @@
156
252
  ],
157
253
  "optOut": [
158
254
  {
159
- "click": ".bpa-close-button"
255
+ "wait": 500,
256
+ "comment": "click is not immediately recognized"
257
+ },
258
+ {
259
+ "waitForThenClick": ".bpa-close-button"
160
260
  }
161
261
  ],
162
262
  "test": [
@@ -170,7 +270,6 @@
170
270
  "prehideSelectors": [
171
271
  ".cc_banner-wrapper"
172
272
  ],
173
- "isHidingRule": true,
174
273
  "detectCmp": [
175
274
  {
176
275
  "exists": ".cc_banner-wrapper"
@@ -235,7 +334,6 @@
235
334
  "prehideSelectors": [
236
335
  "#cookie-notice"
237
336
  ],
238
- "isHidingRule": true,
239
337
  "detectCmp": [
240
338
  {
241
339
  "exists": "#cookie-notice"
@@ -264,17 +362,16 @@
264
362
  {
265
363
  "name": "cookieconsent",
266
364
  "prehideSelectors": [
267
- "[aria-label=\"cookieconsent\"]"
365
+ "[aria-label=\"cookieconsent\"][aria-describedby=\"cookieconsent:desc\"]"
268
366
  ],
269
- "isHidingRule": true,
270
367
  "detectCmp": [
271
368
  {
272
- "exists": "[aria-label=\"cookieconsent\"]"
369
+ "exists": "[aria-label=\"cookieconsent\"][aria-describedby=\"cookieconsent:desc\"]"
273
370
  }
274
371
  ],
275
372
  "detectPopup": [
276
373
  {
277
- "visible": "[aria-label=\"cookieconsent\"]"
374
+ "visible": "[aria-label=\"cookieconsent\"][aria-describedby=\"cookieconsent:desc\"]"
278
375
  }
279
376
  ],
280
377
  "optIn": [
@@ -285,7 +382,7 @@
285
382
  "optOut": [
286
383
  {
287
384
  "hide": [
288
- "[aria-label=\"cookieconsent\"]"
385
+ "[aria-label=\"cookieconsent\"][aria-describedby=\"cookieconsent:desc\"]"
289
386
  ]
290
387
  }
291
388
  ]
@@ -350,7 +447,6 @@
350
447
  "prehideSelectors": [
351
448
  "div[aria-labelledby=cookiebannerhead]"
352
449
  ],
353
- "isHidingRule": true,
354
450
  "detectCmp": [
355
451
  {
356
452
  "exists": ".cookiebannerbox"
@@ -392,8 +488,46 @@
392
488
  }
393
489
  ]
394
490
  },
491
+ {
492
+ "name": "dunelm.com",
493
+ "prehideSelectors": [
494
+ "div[data-testid=cookie-consent-modal-backdrop]"
495
+ ],
496
+ "detectCmp": [
497
+ {
498
+ "exists": "div[data-testid=cookie-consent-message-contents]"
499
+ }
500
+ ],
501
+ "detectPopup": [
502
+ {
503
+ "visible": "div[data-testid=cookie-consent-message-contents]"
504
+ }
505
+ ],
506
+ "optIn": [
507
+ {
508
+ "click": ""
509
+ }
510
+ ],
511
+ "optOut": [
512
+ {
513
+ "click": "button[data-testid=cookie-consent-adjust-settings]"
514
+ },
515
+ {
516
+ "click": "button[data-testid=cookie-consent-preferences-save]"
517
+ }
518
+ ],
519
+ "test": [
520
+ {
521
+ "eval": "document.cookie.includes('cc_functional=0') && document.cookie.includes('cc_targeting=0')"
522
+ }
523
+ ]
524
+ },
395
525
  {
396
526
  "name": "etsy",
527
+ "prehideSelectors": [
528
+ "#gdpr-single-choice-overlay",
529
+ "#gdpr-privacy-settings"
530
+ ],
397
531
  "detectCmp": [
398
532
  {
399
533
  "exists": "#gdpr-single-choice-overlay"
@@ -406,16 +540,14 @@
406
540
  ],
407
541
  "optOut": [
408
542
  {
409
- "hide": [
410
- "#gdpr-single-choice-overlay",
411
- "#gdpr-privacy-settings"
412
- ]
543
+ "click": "button[data-gdpr-open-full-settings]"
413
544
  },
414
545
  {
415
- "click": "button[data-gdpr-open-full-settings]"
546
+ "waitForVisible": ".gdpr-overlay-body input",
547
+ "timeout": 3000
416
548
  },
417
549
  {
418
- "wait": 500
550
+ "wait": 1000
419
551
  },
420
552
  {
421
553
  "eval": "document.querySelectorAll('.gdpr-overlay-body input').forEach(toggle => { toggle.checked = false; }) || true"
@@ -432,7 +564,6 @@
432
564
  },
433
565
  {
434
566
  "name": "eu-cookie-compliance-banner",
435
- "isHidingRule": true,
436
567
  "detectCmp": [
437
568
  {
438
569
  "exists": ".eu-cookie-compliance-banner-info"
@@ -501,6 +632,32 @@
501
632
  }
502
633
  ]
503
634
  },
635
+ {
636
+ "name": "gov.uk",
637
+ "detectCmp": [
638
+ {
639
+ "exists": "#global-cookie-message"
640
+ }
641
+ ],
642
+ "detectPopup": [
643
+ {
644
+ "exists": "#global-cookie-message"
645
+ }
646
+ ],
647
+ "optIn": [
648
+ {
649
+ "click": "button[data-accept-cookies=true]"
650
+ }
651
+ ],
652
+ "optOut": [
653
+ {
654
+ "click": "button[data-reject-cookies=true],#reject-cookies"
655
+ },
656
+ {
657
+ "click": "button[data-hide-cookie-banner=true],#hide-cookie-decision"
658
+ }
659
+ ]
660
+ },
504
661
  {
505
662
  "name": "hl.co.uk",
506
663
  "prehideSelectors": [
@@ -532,19 +689,18 @@
532
689
  ]
533
690
  },
534
691
  {
535
- "wait": 500
536
- },
537
- {
538
- "click": "#AOCookieToggle"
692
+ "waitFor": "#AOCookieToggle"
539
693
  },
540
694
  {
541
- "eval": "document.querySelector('#AOCookieToggle').getAttribute('aria-pressed') === 'false'"
695
+ "click": "#AOCookieToggle[aria-pressed=true]",
696
+ "optional": true
542
697
  },
543
698
  {
544
- "click": "#TPCookieToggle"
699
+ "waitFor": "#TPCookieToggle"
545
700
  },
546
701
  {
547
- "eval": "document.querySelector('#TPCookieToggle').getAttribute('aria-pressed') === 'false'"
702
+ "click": "#TPCookieToggle[aria-pressed=true]",
703
+ "optional": true
548
704
  },
549
705
  {
550
706
  "click": "#updateCookieButton"
@@ -627,12 +783,10 @@
627
783
  "wait": "500"
628
784
  },
629
785
  {
630
- "eval": "!!Array.from(document.querySelectorAll('label[data-test^=toggle]')).forEach(e => e.click())",
786
+ "click": "label[data-test^=toggle][class*=checked]:not([class*=disabled])",
787
+ "all": true,
631
788
  "optional": true
632
789
  },
633
- {
634
- "eval": "Array.from(document.querySelectorAll('label[data-test^=toggle]')).filter(e => e.className.match('checked') && !e.className.match('disabled')).length === 0"
635
- },
636
790
  {
637
791
  "click": "button[data-test=save-preferences]"
638
792
  }
@@ -671,6 +825,27 @@
671
825
  }
672
826
  ]
673
827
  },
828
+ {
829
+ "name": "marksandspencer.com",
830
+ "isHidingRule": true,
831
+ "detectCmp": [
832
+ {
833
+ "exists": ".navigation-cookiebbanner"
834
+ }
835
+ ],
836
+ "detectPopup": [
837
+ {
838
+ "visible": ".navigation-cookiebbanner"
839
+ }
840
+ ],
841
+ "optOut": [
842
+ {
843
+ "hide": [
844
+ ".navigation-cookiebbanner"
845
+ ]
846
+ }
847
+ ]
848
+ },
674
849
  {
675
850
  "name": "mediamarkt.de",
676
851
  "prehideSelectors": [
@@ -897,7 +1072,6 @@
897
1072
  "prehideSelectors": [
898
1073
  ".button--notice"
899
1074
  ],
900
- "isHidingRule": true,
901
1075
  "detectCmp": [
902
1076
  {
903
1077
  "exists": ".notice--cookie"
@@ -952,7 +1126,6 @@
952
1126
  "prehideSelectors": [
953
1127
  ".osano-cm-window"
954
1128
  ],
955
- "isHidingRule": true,
956
1129
  "detectCmp": [
957
1130
  {
958
1131
  "exists": ".osano-cm-window"
@@ -1003,7 +1176,7 @@
1003
1176
  ]
1004
1177
  },
1005
1178
  {
1006
- "name": "paypal.de",
1179
+ "name": "paypal.com",
1007
1180
  "prehideSelectors": [
1008
1181
  "#gdprCookieBanner"
1009
1182
  ],
@@ -1023,9 +1196,17 @@
1023
1196
  }
1024
1197
  ],
1025
1198
  "optOut": [
1199
+ {
1200
+ "wait": 200
1201
+ },
1026
1202
  {
1027
1203
  "click": ".gdprCookieBanner_decline-button"
1028
1204
  }
1205
+ ],
1206
+ "test": [
1207
+ {
1208
+ "eval": "document.cookie.includes('cookie_prefs') === true"
1209
+ }
1029
1210
  ]
1030
1211
  },
1031
1212
  {
@@ -1135,13 +1316,12 @@
1135
1316
  "prehideSelectors": [
1136
1317
  "#__tealiumGDPRecModal,#__tealiumGDPRcpPrefs,#consent-layer"
1137
1318
  ],
1138
- "isHidingRule": false,
1139
1319
  "detectCmp": [
1140
1320
  {
1141
- "exists": "#__tealiumGDPRecModal"
1321
+ "visible": "#__tealiumGDPRecModal"
1142
1322
  },
1143
1323
  {
1144
- "eval": "window.utag && typeof utag.gdpr === 'object'"
1324
+ "eval": "typeof window.utag !== 'undefined' && typeof utag.gdpr === 'object'"
1145
1325
  }
1146
1326
  ],
1147
1327
  "detectPopup": [
@@ -1158,7 +1338,11 @@
1158
1338
  ]
1159
1339
  },
1160
1340
  {
1161
- "click": "#cm-acceptNone,.js-accept-essential-cookies"
1341
+ "waitForThenClick": "#cm-acceptNone,.js-accept-essential-cookies",
1342
+ "timeout": 1000
1343
+ },
1344
+ {
1345
+ "eval": "utag.gdpr.setConsentValue(false) || true"
1162
1346
  }
1163
1347
  ],
1164
1348
  "optIn": [
@@ -1168,7 +1352,7 @@
1168
1352
  ]
1169
1353
  },
1170
1354
  {
1171
- "eval": "utag.gdpr.setConsentValue(true)"
1355
+ "eval": "utag.gdpr.setConsentValue(true) || true"
1172
1356
  }
1173
1357
  ],
1174
1358
  "test": [
@@ -1300,6 +1484,32 @@
1300
1484
  }
1301
1485
  ]
1302
1486
  },
1487
+ {
1488
+ "name": "uswitch.com",
1489
+ "prehideSelectors": [
1490
+ "#cookie-banner-wrapper"
1491
+ ],
1492
+ "detectCmp": [
1493
+ {
1494
+ "exists": "#cookie-banner-wrapper"
1495
+ }
1496
+ ],
1497
+ "detectPopup": [
1498
+ {
1499
+ "visible": "#cookie-banner-wrapper"
1500
+ }
1501
+ ],
1502
+ "optIn": [
1503
+ {
1504
+ "click": "#cookie_banner_accept_mobile"
1505
+ }
1506
+ ],
1507
+ "optOut": [
1508
+ {
1509
+ "click": "#cookie_banner_save"
1510
+ }
1511
+ ]
1512
+ },
1303
1513
  {
1304
1514
  "name": "vodafone.de",
1305
1515
  "prehideSelectors": [
@@ -1329,6 +1539,71 @@
1329
1539
  }
1330
1540
  ]
1331
1541
  },
1542
+ {
1543
+ "name": "waitrose.com",
1544
+ "prehideSelectors": [
1545
+ "div[aria-labelledby=CookieAlertModalHeading]",
1546
+ "section[data-test=initial-waitrose-cookie-consent-banner]",
1547
+ "section[data-test=cookie-consent-modal]"
1548
+ ],
1549
+ "detectCmp": [
1550
+ {
1551
+ "exists": "section[data-test=initial-waitrose-cookie-consent-banner]"
1552
+ }
1553
+ ],
1554
+ "detectPopup": [
1555
+ {
1556
+ "visible": "section[data-test=initial-waitrose-cookie-consent-banner]"
1557
+ }
1558
+ ],
1559
+ "optIn": [
1560
+ {
1561
+ "click": "button[data-test=accept-all]"
1562
+ }
1563
+ ],
1564
+ "optOut": [
1565
+ {
1566
+ "click": "button[data-test=manage-cookies]"
1567
+ },
1568
+ {
1569
+ "wait": 200
1570
+ },
1571
+ {
1572
+ "eval": "Array.from(document.querySelectorAll('label[id$=cookies-deny-label]')).forEach(e => e.click()) || true"
1573
+ },
1574
+ {
1575
+ "click": "button[data-test=submit]"
1576
+ }
1577
+ ],
1578
+ "test": [
1579
+ {
1580
+ "eval": "document.cookie.includes('wtr_cookies_advertising=0') && document.cookie.includes('wtr_cookies_analytics=0')"
1581
+ }
1582
+ ]
1583
+ },
1584
+ {
1585
+ "name": "wetransfer.com",
1586
+ "detectCmp": [
1587
+ {
1588
+ "exists": ".welcome__cookie-notice"
1589
+ }
1590
+ ],
1591
+ "detectPopup": [
1592
+ {
1593
+ "visible": ".welcome__cookie-notice"
1594
+ }
1595
+ ],
1596
+ "optIn": [
1597
+ {
1598
+ "click": ".welcome__button--accept"
1599
+ }
1600
+ ],
1601
+ "optOut": [
1602
+ {
1603
+ "click": ".welcome__button--decline"
1604
+ }
1605
+ ]
1606
+ },
1332
1607
  {
1333
1608
  "name": "xing.com",
1334
1609
  "detectCmp": [
@@ -0,0 +1,7 @@
1
+ import generateCMPTests from "../playwright/runner";
2
+
3
+ generateCMPTests('192.com', [
4
+ 'https://192.com'], {
5
+ skipRegions: ["US", "FR", "DE"]
6
+ }
7
+ );
@@ -1,4 +1,4 @@
1
- import generateCMPTests from "./runner";
1
+ import generateCMPTests from "../playwright/runner";
2
2
 
3
3
  generateCMPTests('arzt-auskunft.de', [
4
4
  'https://arzt-auskunft.de'], {
@@ -1,4 +1,4 @@
1
- import generateCMPTests from "./runner";
1
+ import generateCMPTests from "../playwright/runner";
2
2
 
3
3
  generateCMPTests('asus', [
4
4
  'https://www.asus.com/',
@@ -0,0 +1,7 @@
1
+ import generateCMPTests from "../playwright/runner";
2
+
3
+ generateCMPTests('ausopen.com', [
4
+ 'https://www.ausopen.com/',
5
+ ], {
6
+ skipRegions: ["US", "FR", "DE"]
7
+ });
@@ -1,4 +1,4 @@
1
- import generateCMPTests from "./runner";
1
+ import generateCMPTests from "../playwright/runner";
2
2
 
3
3
  generateCMPTests('aws.amazon.com', [
4
4
  'https://docs.aws.amazon.com'], {
@@ -1,4 +1,4 @@
1
- import generateCMPTests from "./runner";
1
+ import generateCMPTests from "../playwright/runner";
2
2
 
3
3
  generateCMPTests('baden-wuerttemberg.de', [
4
4
  'https://baden-wuerttemberg.de'], {
@@ -1,4 +1,4 @@
1
- import generateCMPTests from "./runner";
1
+ import generateCMPTests from "../playwright/runner";
2
2
 
3
3
  generateCMPTests('borlabs', [
4
4
  'https://reitschuster.de'], {
@@ -1,7 +1,10 @@
1
- import generateCMPTests from "./runner";
1
+ import generateCMPTests from "../playwright/runner";
2
2
 
3
3
  generateCMPTests('bundesregierung.de', [
4
4
  'https://bundesregierung.de'], {
5
- skipRegions: ["US", "FR", "GB"]
5
+ skipRegions: [
6
+ "US", "FR", "GB",
7
+ "DE" // our crawler proxy hits a bot wall, but it still passes locally
8
+ ]
6
9
  }
7
10
  );
@@ -1,4 +1,4 @@
1
- import generateCMPTests from "./runner";
1
+ import generateCMPTests from "../playwright/runner";
2
2
 
3
3
  generateCMPTests('cc_banner', [
4
4
  'https://www.w3resource.com/',
@@ -1,9 +1,9 @@
1
- import generateCMPTests from "./runner";
1
+ import generateCMPTests from "../playwright/runner";
2
2
 
3
3
  generateCMPTests('consentmanager.net',
4
4
  [
5
- 'https://sourceforge.net/',
6
- 'https://www.dastelefonbuch.de/',
5
+ // 'https://sourceforge.net/', // disabled because of a botwall
6
+ // 'https://www.dastelefonbuch.de/', // disabled due to Playwright bug in WebKit: https://github.com/microsoft/playwright/issues/14745
7
7
  'https://www.history.de/',
8
8
  ]
9
9
  , {
@@ -1,9 +1,16 @@
1
- import generateCMPTests from "./runner";
1
+ import generateCMPTests from "../playwright/runner";
2
2
 
3
3
  generateCMPTests('Cybotcookiebot', [
4
4
  'https://www.wohnen.de/',
5
5
  'https://www.zwilling.com/de/',
6
6
  'https://forums.cpanel.net/',
7
+ 'https://tfl.gov.uk',
8
+
9
+ // "https://www.ab-in-den-urlaub.de/", // often blocked by botwall
10
+
11
+ "https://www.centralpoint.nl/",
12
+ "https://www.vatera.hu/",
13
+ "https://www.smartsheet.com/",
7
14
  ], {
8
15
  skipRegions: ['US']
9
16
  });
@@ -1,4 +1,4 @@
1
- import generateCMPTests from "./runner";
1
+ import generateCMPTests from "../playwright/runner";
2
2
 
3
3
  generateCMPTests('cookieconsent', [
4
4
  'https://yrc.com/',
@@ -1,4 +1,4 @@
1
- import generateCMPTests from "./runner";
1
+ import generateCMPTests from "../playwright/runner";
2
2
 
3
3
  generateCMPTests('cookie-law-info', [
4
4
  'https://www.yubico.com/',
@@ -1,4 +1,4 @@
1
- import generateCMPTests from "./runner";
1
+ import generateCMPTests from "../playwright/runner";
2
2
 
3
3
  generateCMPTests('cookie-notice', [
4
4
  'https://electricbikereview.com/',