From b5a8fce13cd01546bb63520992c38811a88680a8 Mon Sep 17 00:00:00 2001 From: Barrett Ruth Date: Thu, 5 Mar 2026 11:20:25 -0500 Subject: [PATCH] fix(codeforces): set source via JS to handle hidden CodeMirror textarea --- scrapers/codeforces.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/scrapers/codeforces.py b/scrapers/codeforces.py index d2c3164..895a511 100644 --- a/scrapers/codeforces.py +++ b/scrapers/codeforces.py @@ -379,7 +379,17 @@ def _submit_headless( problem_id.upper(), ) page.select_option('select[name="programTypeId"]', language_id) - page.fill('textarea[name="source"]', source_code) + page.evaluate( + """(code) => { + const cm = document.querySelector('.CodeMirror'); + if (cm && cm.CodeMirror) { + cm.CodeMirror.setValue(code); + } + const ta = document.querySelector('textarea[name="source"]'); + if (ta) ta.value = code; + }""", + source_code, + ) page.locator("form.submit-form input.submit").click(no_wait_after=True) try: page.wait_for_url(