AI Slop Code RIsk Monitor

microsoft/playwright-python

Python version of the Playwright testing and automation library.

27.5 Elevated pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for microsoft/playwright-python, a Python project with 15,028 GitHub stars. SynthScan examined 114,798 lines of code across 370 source files, recording 2929 pattern matches distributed across 15 syntactic categories. The legacy adjusted pattern signal is 27.5 (Elevated pattern signal); it is not an authorship estimate.

Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.

27.5
Adjusted Signal
27.5
Raw Pattern Score
100%
Time Factor
2026-10-09
Last Push
15.0K
Stars
Python
Language
114.8K
Lines of Code
370
Files
2.9K
Pattern Hits
2026-10-12
Scan Date
0.31
HC Hit Rate

Risk Review · v3

Use each vector to guide manual verification of the underlying findings.

Cognitive Ownership Risk 64.8/100 · HIGH

Can maintainers explain intent, assumptions, and trade-offs? 2584 finding(s).

Hallucinated Dependency & Supply Chain Risk 15.6/100 · LOW

Are imports declared and package/API names verified? 197 finding(s).

Agent Over-Engineering Ratio 66.1/100 · HIGH

Are wrappers, guards, and repeated structures necessary? 2433 finding(s).

PR Review Velocity Impact 78.7/100 · CRITICAL

Which changes need focused human review? 2929 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.

Severity Breakdown

Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.

CRITICAL 3HIGH 113MEDIUM 15LOW 2798

Directory Score Breakdown

This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.

Pattern Findings

The scanner identified 2929 distinct pattern matches across 15 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.

Hyper-Verbose Identifiers2167 hits · 2035 pts
SeverityFileLineSnippetContext
LOWsetup.py192 def _download_and_extract_local_driver(CODE
LOW⚡tests/server.py277 def send_on_web_socket_connection(self, data: bytes) -> None:CODE
LOW⚡tests/server.py280 def once_web_socket_connection(CODE
LOWtests/utils.py27def chromium_version_less_than(a: str, b: str) -> bool:CODE
LOWtests/test_reference_count_async.py44 def handle_network_response_received(event: Any) -> None:CODE
LOWtests/test_reference_count_async.py90async def test_tracing_should_not_leak_protocol_callbacks(browser_name: str) -> None:CODE
LOW⚡tests/async/test_page_select_option.py21async def test_select_option_should_select_single_option(CODE
LOW⚡tests/async/test_page_select_option.py30async def test_select_option_should_select_single_option_by_value(CODE
LOW⚡tests/async/test_page_select_option.py39async def test_select_option_should_select_single_option_by_label(CODE
LOW⚡tests/async/test_page_select_option.py48async def test_select_option_should_select_single_option_by_empty_label(CODE
LOW⚡tests/async/test_page_select_option.py156async def test_select_option_should_respect_event_bubbling(CODE
LOW⚡tests/async/test_page_select_option.py165async def test_select_option_should_throw_when_element_is_not_a__select_(CODE
LOW⚡tests/async/test_page_select_option.py174async def test_select_option_should_return_on_no_matched_values(CODE
LOW⚡tests/async/test_page_select_option.py183async def test_select_option_should_return_an_array_of_matched_values(CODE
LOW⚡tests/async/test_page_select_option.py192async def test_select_option_should_return_an_array_of_one_element_when_multiple_is_not_set(CODE
LOW⚡tests/async/test_page_select_option.py200async def test_select_option_should_return_on_no_values(CODE
LOW⚡tests/async/test_page_select_option.py208async def test_select_option_should_not_allow_null_items(CODE
LOW⚡tests/async/test_page_select_option.py218async def test_select_option_should_unselect_with_null(CODE
LOWtests/async/test_page_select_option.py64async def test_select_option_should_select_single_option_by_handle(CODE
LOWtests/async/test_page_select_option.py75async def test_select_option_should_select_single_option_by_index(CODE
LOWtests/async/test_page_select_option.py92async def test_select_option_should_select_only_first_option(CODE
LOWtests/async/test_page_select_option.py101async def test_select_option_should_not_throw_when_select_causes_navigation(CODE
LOWtests/async/test_page_select_option.py114async def test_select_option_should_select_multiple_options(CODE
LOWtests/async/test_page_select_option.py124async def test_select_option_should_select_multiple_options_with_attributes(CODE
LOWtests/async/test_page_select_option.py139async def test_select_option_should_select_option_with_empty_value(CODE
LOWtests/async/test_page_select_option.py232async def test_select_option_should_deselect_all_options_when_passed_no_values_for_a_multiple_select(CODE
LOWtests/async/test_page_select_option.py245async def test_select_option_should_deselect_all_options_when_passed_no_values_for_a_select_without_multiple(CODE
LOWtests/async/test_page_select_option.py257async def test_select_option_should_work_when_re_defining_top_level_event_class(CODE
LOWtests/async/test_page_select_option.py267async def test_select_options_should_fall_back_to_selecting_by_label(CODE
LOWtests/async/test_fill.py25async def test_is_enabled_for_non_editable_button(page: Page) -> None:CODE
LOW⚡tests/async/test_defaultbrowsercontext.py200async def test_should_support_viewport_option(CODE
LOW⚡tests/async/test_defaultbrowsercontext.py210async def test_should_support_device_scale_factor_option(CODE
LOW⚡tests/async/test_defaultbrowsercontext.py217async def test_should_support_user_agent_option(CODE
LOW⚡tests/async/test_defaultbrowsercontext.py267async def test_should_support_offline_option(CODE
LOW⚡tests/async/test_defaultbrowsercontext.py276async def test_should_support_has_touch_option(CODE
LOW⚡tests/async/test_defaultbrowsercontext.py286async def test_should_work_in_persistent_context(CODE
LOW⚡tests/async/test_defaultbrowsercontext.py311async def test_should_support_timezone_id_option(CODE
LOW⚡tests/async/test_defaultbrowsercontext.py321async def test_should_support_contrast_option(CODE
LOW⚡tests/async/test_defaultbrowsercontext.py331async def test_should_support_locale_option(CODE
LOW⚡tests/async/test_defaultbrowsercontext.py338async def test_should_support_geolocation_and_permission_option(CODE
LOW⚡tests/async/test_defaultbrowsercontext.py420async def test_should_have_default_url_when_launching_browser(CODE
LOW⚡tests/async/test_defaultbrowsercontext.py429async def test_should_throw_if_page_argument_is_passed(CODE
LOW⚡tests/async/test_defaultbrowsercontext.py438async def test_should_fire_close_event_for_a_persistent_context(CODE
LOW⚡tests/async/test_defaultbrowsercontext.py448async def test_should_support_reduced_motion(CODE
LOW⚡tests/async/test_defaultbrowsercontext.py455async def test_should_support_har_option(CODE
LOWtests/async/test_defaultbrowsercontext.py67async def test_context_cookies_should_work(CODE
LOWtests/async/test_defaultbrowsercontext.py96async def test_context_add_cookies_should_work(CODE
LOWtests/async/test_defaultbrowsercontext.py134async def test_context_clear_cookies_should_work(CODE
LOWtests/async/test_defaultbrowsercontext.py153async def test_should_not_block_third_party_cookies(CODE
LOWtests/async/test_defaultbrowsercontext.py230async def test_should_support_bypass_csp_option(CODE
LOWtests/async/test_defaultbrowsercontext.py240async def test_should_support_javascript_enabled_option(CODE
LOWtests/async/test_defaultbrowsercontext.py254async def test_should_support_http_credentials_option(CODE
LOWtests/async/test_defaultbrowsercontext.py298async def test_should_support_color_scheme_option(CODE
LOWtests/async/test_defaultbrowsercontext.py354async def test_should_support_ignore_https_errors_option(CODE
LOWtests/async/test_defaultbrowsercontext.py364async def test_should_support_extra_http_headers_option(CODE
LOWtests/async/test_defaultbrowsercontext.py376async def test_should_accept_user_data_dir(CODE
LOWtests/async/test_browsercontext_request_fallback.py57async def test_should_fall_back_async_delayed(CODE
LOW⚡tests/async/test_browsercontext_request_fallback.py97async def test_should_fall_back_after_exception(CODE
LOW⚡tests/async/test_browsercontext_request_fallback.py113async def test_should_amend_http_headers(CODE
LOWtests/async/test_browsercontext_request_fallback.py137async def test_should_delete_header_with_undefined_value(CODE
2107 more matches not shown…
Cross-Language Confusion61 hits · 241 pts
SeverityFileLineSnippetContext
HIGH⚡tests/async/test_jshandle.py129 undefined: undefined,STRING
HIGH⚡tests/async/test_jshandle.py130 null: null,STRING
HIGH⚡tests/async/test_navigation.py837 await page.evaluate("window.open('about:blank', null, 'noopener') && 1")CODE
HIGH⚡tests/async/test_navigation.py862 "url => window.open(url, null, 'noopener') && 1", server.EMPTY_PAGECODE
HIGH⚡tests/async/test_navigation.py202 window.addEventListener('beforeunload', () => history.replaceState(null, 'initial', window.location.href), falseSTRING
HIGHtests/async/test_input.py332 e.addEventListener('input', () => events.push('input'));STRING
HIGHtests/async/test_input.py333 e.addEventListener('change', () => events.push('change'));STRING
HIGHtests/async/test_console.py152 if (!frame.contentDocument || frame.contentDocument.readyState !== 'complete')STRING
HIGHtests/async/test_fetch_global.py483 ({"foo": None}, '{"foo": null}'),CODE
HIGH⚡tests/async/test_page_evaluate.py187 '({ a, b }) => Object.is(a, null) && Object.is(b, "foo")',CODE
HIGH⚡tests/async/test_route_web_socket.py53 window.ws.addEventListener('open', () => window.log.push('open'));STRING
HIGH⚡tests/async/test_route_web_socket.py54 window.ws.addEventListener('close', event => window.log.push(`close code=${event.code} reason=${event.reason} wasCleSTRING
HIGH⚡tests/async/test_route_web_socket.py55 window.ws.addEventListener('error', event => window.log.push(`error`));STRING
HIGH⚡tests/async/test_route_web_socket.py64 window.log.push(`message: data=${data} origin=${event.origin} lastEventId=${event.lastEventId}`);STRING
HIGHtests/async/test_route_web_socket.py125 window.ws1.addEventListener('message', event => window.log.push(`ws1:${event.data}`));STRING
HIGHtests/async/test_route_web_socket.py127 window.ws2.addEventListener('message', event => window.log.push(`ws2:${event.data}`));STRING
HIGHtests/async/test_route_web_socket.py371 window.ws.addEventListener('message', event => window.log.push(event.data));STRING
HIGHtests/async/test_emulation_focus.py72 document.onclick = () => window.click_count = (window.click_count || 0) + 1;CODE
HIGHtests/async/test_emulation_focus.py119 element.onfocus = element.onblur = (e) => self._events.push(e.type);CODE
HIGH⚡tests/async/test_page.py1370 events.push({STRING
HIGH⚡tests/async/test_page.py1377 events.push({STRING
HIGH⚡tests/async/test_page.py1384 events.push({STRING
HIGH⚡tests/async/test_page.py1420 events.push({STRING
HIGH⚡tests/async/test_page.py1427 events.push({STRING
HIGH⚡tests/async/test_page.py1434 events.push({STRING
HIGHtests/async/test_page.py1327 events.push({STRING
HIGHtests/async/test_page.py1334 events.push({STRING
HIGHtests/async/test_locators.py766 events.push({CODE
HIGHtests/async/test_locators.py773 events.push({CODE
HIGHtests/async/test_locators.py1237 window.__dropInfo = null;CODE
HIGHtests/async/test_locators.py1245 files.push({ name: file.name, type: file.type, size: file.size, text: await file.text() });CODE
HIGHtests/async/test_click.py1130 window.result.push([event.clientX, event.clientY]);STRING
HIGHtests/async/test_page_route.py226 request.send(null);STRING
HIGH⚡tests/async/test_keyboard.py123 document.addEventListener('keydown', e => events.push(e.type));STRING
HIGH⚡tests/async/test_keyboard.py124 document.addEventListener('keyup', e => events.push(e.type));STRING
HIGH⚡tests/async/test_keyboard.py125 document.addEventListener('keypress', e => events.push(e.type));STRING
HIGH⚡tests/async/test_keyboard.py126 document.addEventListener('input', e => events.push(e.type));STRING
HIGHtests/async/test_keyboard.py40 lastEvent.keyIdentifier = 'keyIdentifier' in e && e.keyIdentifier;STRING
HIGHtests/async/test_keyboard.py485 if (event.key === 'a' && (event.metaKey || event.ctrlKey))STRING
HIGHtests/async/test_headful.py157 """() => window.outerWidth === 500 && window.outerHeight === 450"""STRING
HIGHtests/async/test_tap.py234 target.addEventListener(event, () => events.push(event), false);STRING
HIGHtests/async/test_browsertype_connect.py343 e.addEventListener('input', () => events.push('input'));STRING
HIGHtests/async/test_browsertype_connect.py344 e.addEventListener('change', () => events.push('change'));STRING
HIGH⚡tests/async/test_popup.py379 '() => window.__popup = window.open(undefined, null, "noopener")'CODE
HIGH⚡tests/async/test_popup.py394 '() => window.__popup = window.open("about:blank", null, "noopener")'CODE
HIGH⚡tests/async/test_popup.py408 'url => window.__popup = window.open(url, null, "noopener")',CODE
HIGHtests/async/test_popup.py196 if (win.innerWidth === 600 && win.innerHeight === 300) {STRING
HIGHtests/async/test_webmcp.py46 const modelContext = document.modelContext || navigator.modelContext;CODE
HIGHtests/sync/test_console.py157 if (!frame.contentDocument || frame.contentDocument.readyState !== 'complete')STRING
HIGH⚡tests/sync/test_fetch_global.py335 assert response.text() == '{"foo": null}'CODE
HIGH⚡tests/sync/test_route_web_socket.py50 window.ws.addEventListener('open', () => window.log.push('open'));STRING
HIGH⚡tests/sync/test_route_web_socket.py51 window.ws.addEventListener('close', event => window.log.push(`close code=${event.code} reason=${event.reason} wasCleSTRING
HIGH⚡tests/sync/test_route_web_socket.py52 window.ws.addEventListener('error', event => window.log.push(`error`));STRING
HIGH⚡tests/sync/test_route_web_socket.py61 window.log.push(`message: data=${data} origin=${event.origin} lastEventId=${event.lastEventId}`);STRING
HIGHtests/sync/test_route_web_socket.py119 window.ws1.addEventListener('message', event => window.log.push(`ws1:${event.data}`));STRING
HIGHtests/sync/test_route_web_socket.py121 window.ws2.addEventListener('message', event => window.log.push(`ws2:${event.data}`));STRING
HIGHtests/sync/test_route_web_socket.py366 window.ws.addEventListener('message', event => window.log.push(event.data));STRING
HIGHtests/sync/test_locators.py1028 window.__dropInfo = null;CODE
HIGHtests/sync/test_locators.py1036 files.push({ name: file.name, type: file.type, size: file.size, text: await file.text() });CODE
HIGHtests/sync/test_tap.py110 target.addEventListener(event, () => events.push(event), false);STRING
1 more matches not shown…
Over-Commented Block257 hits · 241 pts
SeverityFileLineSnippetContext
LOWrequirements.txt1# This file was autogenerated by uv via the following command:COMMENT
LOWsetup.py1# Copyright (c) Microsoft Corporation.COMMENT
LOWtests/conftest.py1# Copyright (c) Microsoft Corporation.COMMENT
LOWtests/server.py1# Copyright (c) Microsoft Corporation.COMMENT
LOWtests/test_installation.py1# Copyright (c) Microsoft Corporation.COMMENT
LOWtests/utils.py1# Copyright (c) Microsoft Corporation.COMMENT
LOWtests/test_reference_count_async.py1# Copyright (c) Microsoft Corporation.COMMENT
LOWtests/async/test_page_select_option.py1# Copyright (c) Microsoft Corporation.COMMENT
LOWtests/async/test_fill.py1# Copyright (c) Microsoft Corporation.COMMENT
LOWtests/async/test_defaultbrowsercontext.py1# Copyright (c) Microsoft Corporation.COMMENT
LOWtests/async/test_browsercontext_request_fallback.py1# Copyright (c) Microsoft Corporation.COMMENT
LOWtests/async/test_add_init_script.py1# Copyright (c) Microsoft Corporation.COMMENT
LOWtests/async/test_jshandle.py1# Copyright (c) Microsoft Corporation.COMMENT
LOWtests/async/test_browsercontext_credentials.py1# Copyright (c) Microsoft Corporation.COMMENT
LOWtests/async/test_screenshot.py1# Copyright (c) Microsoft Corporation.COMMENT
LOWtests/async/test_resource_timing.py1# Copyright (c) Microsoft Corporation.COMMENT
LOWtests/async/test_extension.py1# Copyright (c) Microsoft Corporation.COMMENT
LOWtests/async/conftest.py1# Copyright (c) Microsoft Corporation.COMMENT
LOWtests/async/test_navigation.py1# Copyright (c) Microsoft Corporation.COMMENT
LOWtests/async/test_download.py1# Copyright (c) Microsoft Corporation.COMMENT
LOWtests/async/test_browsercontext_clearcookies.py1# Copyright (c) Microsoft Corporation.COMMENT
LOWtests/async/test_frames.py1# Copyright (c) Microsoft Corporation.COMMENT
LOWtests/async/test_input.py1# Copyright (c) Microsoft Corporation.COMMENT
LOWtests/async/test_request_fulfill.py1# Copyright (c) Microsoft Corporation.COMMENT
LOWtests/async/test_page_event_pageerror.py1# Copyright (c) Microsoft Corporation.COMMENT
LOWtests/async/test_pdf.py1# Copyright (c) Microsoft Corporation.COMMENT
LOWtests/async/test_browsercontext_proxy.py1# Copyright (c) Microsoft Corporation.COMMENT
LOWtests/async/test_selectors_get_by.py1# Copyright (c) Microsoft Corporation.COMMENT
LOWtests/async/test_tracing.py1# Copyright (c) Microsoft Corporation.COMMENT
LOWtests/async/test_selectors_text.py1# Copyright (c) Microsoft Corporation.COMMENT
LOWtests/async/test_console.py1# Copyright (c) Microsoft Corporation.COMMENT
LOWtests/async/test_browsercontext_route.py1# Copyright (c) Microsoft Corporation.COMMENT
LOWtests/async/test_element_handle.py1# Copyright (c) Microsoft Corporation.COMMENT
LOWtests/async/test_expect_misc.py1# Copyright (c) Microsoft Corporation.COMMENT
LOWtests/async/test_fetch_global.py1# Copyright (c) Microsoft Corporation.COMMENT
LOWtests/async/test_browsercontext_cookies.py1# Copyright (c) Microsoft Corporation.COMMENT
LOWtests/async/test_page_evaluate.py1# Copyright (c) Microsoft Corporation.COMMENT
LOWtests/async/test_browsercontext_client_certificates.py1# Copyright (c) Microsoft Corporation.COMMENT
LOWtests/async/test_geolocation.py1# Copyright (c) Microsoft Corporation.COMMENT
LOWtests/async/test_websocket.py1# Copyright (c) Microsoft Corporation.COMMENT
LOWtests/async/test_selector_generator.py1# Copyright (c) Microsoft Corporation.COMMENT
LOWtests/async/test_route_web_socket.py1# Copyright (c) Microsoft Corporation.COMMENT
LOWtests/async/test_emulation_focus.py1# Copyright (c) Microsoft Corporation.COMMENT
LOWtests/async/test_fetch_browser_context.py1# Copyright (c) Microsoft Corporation.COMMENT
LOWtests/async/test_browsercontext_storage_state.py1# Copyright (c) Microsoft Corporation.COMMENT
LOWtests/async/test_page.py1# Copyright (c) Microsoft Corporation.COMMENT
LOWtests/async/test_request_continue.py1# Copyright (c) Microsoft Corporation.COMMENT
LOWtests/async/test_cdp_session.py1# Copyright (c) Microsoft Corporation.COMMENT
LOWtests/async/test_video.py1# Copyright (c) Microsoft Corporation.COMMENT
LOWtests/async/test_locators.py1# Copyright (c) Microsoft Corporation.COMMENT
LOWtests/async/test_asyncio.py1# Copyright (c) Microsoft Corporation.COMMENT
LOWtests/async/test_focus.py1# Copyright (c) Microsoft Corporation.COMMENT
LOWtests/async/test_browsercontext_request_intercept.py1# Copyright (c) Microsoft Corporation.COMMENT
LOWtests/async/test_browsertype_connect_cdp.py1# Copyright (c) Microsoft Corporation.COMMENT
LOWtests/async/test_context_manager.py1# Copyright (c) Microsoft Corporation.COMMENT
LOWtests/async/test_ignore_https_errors.py1# Copyright (c) Microsoft Corporation.COMMENT
LOWtests/async/test_selectors_misc.py1# Copyright (c) Microsoft Corporation.COMMENT
LOWtests/async/test_wait_for_function.py1# Copyright (c) Microsoft Corporation.COMMENT
LOWtests/async/test_page_network_response.py1# Copyright (c) Microsoft Corporation.COMMENT
LOWtests/async/test_click.py1# Copyright (c) Microsoft Corporation.COMMENT
197 more matches not shown…
Empty Error Handlers29 hits · 145 pts
SeverityFileLineSnippetContext
HIGHtests/server.py299except Exception:CODE
HIGHtests/server.py332except Exception:CODE
HIGHtests/async/test_click.py86except Error:CODE
HIGHtests/async/test_browsercontext.py248except Error:CODE
HIGHtests/async/test_browsercontext.py279except Error:CODE
HIGHtests/async/test_browsercontext.py324except Error:CODE
HIGHtests/async/test_browsercontext.py339except Error:CODE
HIGHtests/async/test_unroute_behavior.py162except Error:CODE
HIGHtests/async/test_unroute_behavior.py345except Error:CODE
HIGHtests/async/test_unroute_behavior.py184except Error:CODE
HIGHtests/async/test_unroute_behavior.py205except Error:CODE
HIGHtests/async/test_unroute_behavior.py379except Error:CODE
HIGHtests/async/test_unroute_behavior.py402except Error:CODE
HIGHtests/async/test_unroute_behavior.py424except Error:CODE
HIGHtests/async/test_unroute_behavior.py446except Error:CODE
HIGHtests/async/test_unroute_behavior.py471except Error:CODE
HIGHtests/async/test_unroute_behavior.py499except Error:CODE
HIGHtests/sync/test_page_add_locator_handler.py212except Exception:CODE
HIGHplaywright/_impl/_screencast.py65except (Error, OSError):CODE
HIGHplaywright/_impl/_helper.py400except Exception:CODE
HIGHplaywright/_impl/_locator.py372except (json.JSONDecodeError, ValueError):CODE
HIGHplaywright/_impl/_browser_context.py282except Exception:CODE
HIGHplaywright/_impl/_page.py1486except Error:CODE
HIGHplaywright/_impl/_page.py319except Error:CODE
HIGHplaywright/_impl/_waiter.py71except Error:CODE
HIGHplaywright/_impl/_network.py724except Exception:CODE
HIGHplaywright/_impl/_network.py764except Exception:CODE
HIGHplaywright/_impl/_connection.py467except (Error, OSError):CODE
HIGHscripts/documentation_provider.py451except Exception:CODE
Cross-File Repetition23 hits · 115 pts
SeverityFileLineSnippetContext
HIGHtests/async/test_defaultbrowsercontext.py0() => { document.cookie = 'username=john doe'; return document.cookie; }STRING
HIGHtests/async/test_browsercontext_cookies.py0() => { document.cookie = 'username=john doe'; return document.cookie; }STRING
HIGHtests/async/test_headful.py0() => { document.cookie = 'username=john doe'; return document.cookie; }STRING
HIGHtests/async/test_defaultbrowsercontext.py0src => { let fulfill; const promise = new promise(x => fulfill = x); const iframe = document.createelement('iframe'); doSTRING
HIGHtests/async/test_headful.py0src => { let fulfill; const promise = new promise(x => fulfill = x); const iframe = document.createelement('iframe'); doSTRING
HIGHtests/async/test_browsercontext_add_cookies.py0src => { let fulfill; const promise = new promise(x => fulfill = x); const iframe = document.createelement('iframe'); doSTRING
HIGHtests/async/test_browsercontext_request_fallback.py0async url => { const data = await fetch(url, { headers: { foo: 'a', bar: 'b', } }); return data.text(); }STRING
HIGHtests/async/test_page_request_fallback.py0async url => { const data = await fetch(url, { headers: { foo: 'a', bar: 'b', } }); return data.text(); }STRING
HIGHtests/sync/test_browsercontext_request_fallback.py0async url => { const data = await fetch(url, { headers: { foo: 'a', bar: 'b', } }); return data.text(); }STRING
HIGHtests/sync/test_page_request_fallback.py0async url => { const data = await fetch(url, { headers: { foo: 'a', bar: 'b', } }); return data.text(); }STRING
HIGHtests/async/test_element_handle.py0<button disabled>button1</button> <button>button2</button> <div>div</div>STRING
HIGHtests/async/test_locators.py0<button disabled>button1</button> <button>button2</button> <div>div</div>STRING
HIGHtests/sync/test_element_handle.py0<button disabled>button1</button> <button>button2</button> <div>div</div>STRING
HIGHtests/sync/test_locators.py0<button disabled>button1</button> <button>button2</button> <div>div</div>STRING
HIGHtests/async/test_click.py0<input type='radio'>one</input> <input id='two' type='radio'>two</input> <input type='radio'>three</input>STRING
HIGHtests/async/test_check.py0<input type='radio'>one</input> <input id='two' type='radio'>two</input> <input type='radio'>three</input>STRING
HIGHtests/sync/test_check.py0<input type='radio'>one</input> <input id='two' type='radio'>two</input> <input type='radio'>three</input>STRING
HIGHtests/async/test_click.py0<div role='checkbox' id='checkbox'>checkbox</div> <script> checkbox.addeventlistener('click', () => checkbox.setattributSTRING
HIGHtests/async/test_check.py0<div role='checkbox' id='checkbox'>checkbox</div> <script> checkbox.addeventlistener('click', () => checkbox.setattributSTRING
HIGHtests/sync/test_check.py0<div role='checkbox' id='checkbox'>checkbox</div> <script> checkbox.addeventlistener('click', () => checkbox.setattributSTRING
HIGHplaywright/__init__.py0python package `playwright` is a python library to automate chromium, firefox and webkit with a single api. playwright iSTRING
HIGHplaywright/async_api/__init__.py0python package `playwright` is a python library to automate chromium, firefox and webkit with a single api. playwright iSTRING
HIGHplaywright/sync_api/__init__.py0python package `playwright` is a python library to automate chromium, firefox and webkit with a single api. playwright iSTRING
Unused Imports114 hits · 100 pts
SeverityFileLineSnippetContext
LOWtests/async/conftest.py15CODE
LOWtests/async/test_navigation.py23CODE
LOWtests/async/test_download.py18CODE
LOWtests/async/test_browsercontext_proxy.py15CODE
LOWtests/async/test_browsercontext_proxy.py17CODE
LOWtests/async/test_browsercontext_proxy.py17CODE
LOWtests/async/test_browsercontext_proxy.py21CODE
LOWtests/async/test_browsercontext_route.py17CODE
LOWtests/async/test_browsercontext_route.py17CODE
LOWtests/async/test_fetch_browser_context.py20CODE
LOWtests/async/test_request_continue.py16CODE
LOWtests/async/test_worker.py20CODE
LOWtests/async/test_proxy.py15CODE
LOWtests/async/test_proxy.py17CODE
LOWtests/async/test_proxy.py21CODE
LOWplaywright/_impl/_credentials.py21CODE
LOWplaywright/_impl/_clock.py19CODE
LOWplaywright/_impl/_screencast.py31CODE
LOWplaywright/_impl/_helper.py55CODE
LOWplaywright/_impl/_helper.py56CODE
LOWplaywright/_impl/_helper.py56CODE
LOWplaywright/_impl/_helper.py56CODE
LOWplaywright/_impl/_helper.py56CODE
LOWplaywright/_impl/_locator.py59CODE
LOWplaywright/_impl/_locator.py60CODE
LOWplaywright/_impl/_locator.py61CODE
LOWplaywright/_impl/_fetch.py63CODE
LOWplaywright/_impl/_download.py22CODE
LOWplaywright/_impl/_console_message.py23CODE
LOWplaywright/_impl/_console_message.py24CODE
LOWplaywright/_impl/_webmcp.py22CODE
LOWplaywright/_impl/_browser_context.py89CODE
LOWplaywright/_impl/_page.py111CODE
LOWplaywright/_impl/_page.py112CODE
LOWplaywright/_impl/_page.py113CODE
LOWplaywright/_impl/_page.py113CODE
LOWplaywright/_impl/_video.py22CODE
LOWplaywright/_impl/_browser.py57CODE
LOWplaywright/_impl/_set_input_files_helpers.py36CODE
LOWplaywright/_impl/_network.py69CODE
LOWplaywright/_impl/_network.py71CODE
LOWplaywright/_impl/_network.py72CODE
LOWplaywright/_impl/_network.py72CODE
LOWplaywright/_impl/_browser_type.py55CODE
LOWplaywright/_impl/_har_router.py27CODE
LOWplaywright/_impl/_har_router.py28CODE
LOWplaywright/_impl/_har_router.py29CODE
LOWplaywright/_impl/_web_storage.py20CODE
LOWplaywright/_impl/_dialog.py22CODE
LOWplaywright/_impl/_frame.py33CODE
LOWplaywright/_impl/_file_chooser.py21CODE
LOWplaywright/_impl/_file_chooser.py22CODE
LOWplaywright/_impl/_js_handle.py32CODE
LOWplaywright/_impl/_async_base.py15CODE
LOWplaywright/_impl/_element_handle.py49CODE
LOWplaywright/_impl/_element_handle.py50CODE
LOWplaywright/_impl/_connection.py55CODE
LOWplaywright/_impl/_connection.py56CODE
LOWplaywright/async_api/_generated.py75CODE
LOWplaywright/async_api/_generated.py80CODE
54 more matches not shown…
AI Structural Patterns118 hits · 76 pts
SeverityFileLineSnippetContext
LOWplaywright/_impl/_tracing.py42CODE
LOWplaywright/_impl/_locator.py1008CODE
LOWplaywright/_impl/_locator.py157CODE
LOWplaywright/_impl/_locator.py174CODE
LOWplaywright/_impl/_locator.py281CODE
LOWplaywright/_impl/_locator.py445CODE
LOWplaywright/_impl/_locator.py582CODE
LOWplaywright/_impl/_locator.py893CODE
LOWplaywright/_impl/_fetch.py78CODE
LOWplaywright/_impl/_fetch.py162CODE
LOWplaywright/_impl/_fetch.py191CODE
LOWplaywright/_impl/_fetch.py220CODE
LOWplaywright/_impl/_fetch.py249CODE
LOWplaywright/_impl/_fetch.py278CODE
LOWplaywright/_impl/_fetch.py307CODE
LOWplaywright/_impl/_fetch.py336CODE
LOWplaywright/_impl/_fetch.py376CODE
LOWplaywright/_impl/_page.py799CODE
LOWplaywright/_impl/_page.py876CODE
LOWplaywright/_impl/_page.py893CODE
LOWplaywright/_impl/_page.py909CODE
LOWplaywright/_impl/_page.py968CODE
LOWplaywright/_impl/_page.py1037CODE
LOWplaywright/_impl/_page.py1051CODE
LOWplaywright/_impl/_page.py1067CODE
LOWplaywright/_impl/_page.py1191CODE
LOWplaywright/_impl/_browser.py132CODE
LOWplaywright/_impl/_browser.py187CODE
LOWplaywright/_impl/_browser_type.py76CODE
LOWplaywright/_impl/_browser_type.py111CODE
LOWplaywright/_impl/_frame.py567CODE
LOWplaywright/_impl/_frame.py584CODE
LOWplaywright/_impl/_frame.py602CODE
LOWplaywright/_impl/_frame.py620CODE
LOWplaywright/_impl/_frame.py689CODE
LOWplaywright/_impl/_frame.py768CODE
LOWplaywright/_impl/_frame.py782CODE
LOWplaywright/_impl/_frame.py800CODE
LOWplaywright/_impl/_element_handle.py130CODE
LOWplaywright/_impl/_element_handle.py148CODE
LOWplaywright/_impl/_element_handle.py321CODE
LOWplaywright/async_api/_generated.py2281CODE
LOWplaywright/async_api/_generated.py2365CODE
LOWplaywright/async_api/_generated.py3044CODE
LOWplaywright/async_api/_generated.py4522CODE
LOWplaywright/async_api/_generated.py4613CODE
LOWplaywright/async_api/_generated.py4700CODE
LOWplaywright/async_api/_generated.py5012CODE
LOWplaywright/async_api/_generated.py5574CODE
LOWplaywright/async_api/_generated.py5650CODE
LOWplaywright/async_api/_generated.py5721CODE
LOWplaywright/async_api/_generated.py6558CODE
LOWplaywright/async_api/_generated.py10964CODE
LOWplaywright/async_api/_generated.py11151CODE
LOWplaywright/async_api/_generated.py11242CODE
LOWplaywright/async_api/_generated.py11328CODE
LOWplaywright/async_api/_generated.py11666CODE
LOWplaywright/async_api/_generated.py12227CODE
LOWplaywright/async_api/_generated.py12303CODE
LOWplaywright/async_api/_generated.py12390CODE
58 more matches not shown…
Excessive Try-Catch Wrapping49 hits · 60 pts
SeverityFileLineSnippetContext
LOWtests/conftest.py220 except Exception:CODE
LOWtests/server.py299 except Exception:CODE
LOWtests/server.py332 except Exception:CODE
LOW⚡tests/async/test_browsercontext_request_fallback.py105 except Exception:CODE
LOWtests/async/test_page_evaluate.py263 except Exception as e:CODE
LOWtests/async/test_request_continue.py109 except Exception as e:CODE
LOWtests/async/test_asyncio.py154 except Exception as error:CODE
LOW⚡tests/async/test_page_request_fallback.py143 except Exception:CODE
LOW⚡tests/sync/test_browsercontext_request_fallback.py151 except Exception:CODE
LOWtests/sync/conftest.py105 except Exception as e:CODE
MEDIUMtests/sync/conftest.py102def body() -> Any:CODE
MEDIUMtests/sync/test_sync.py443def error_of(callback):CODE
LOW⚡tests/sync/test_sync.py390 except Exception as error:CODE
LOWtests/sync/test_sync.py446 except Exception as e:CODE
LOW⚡tests/sync/test_page_request_fallback.py141 except Exception:CODE
LOWtests/sync/test_page_add_locator_handler.py212 except Exception:CODE
LOWutils/linting/check_file_header.py59 except Exception as e:STRING
LOWplaywright/_impl/_helper.py264 except Exception:CODE
LOWplaywright/_impl/_helper.py400 except Exception:CODE
LOWplaywright/_impl/_helper.py443 except Exception as e:CODE
LOWplaywright/_impl/_helper.py471 except Exception as e:CODE
MEDIUMplaywright/_impl/_helper.py397def _ignore_exception() -> None:CODE
MEDIUMplaywright/_impl/_helper.py467def _handler() -> None:CODE
LOWplaywright/_impl/_transport.py136 except Exception as exc:CODE
LOWplaywright/_impl/_browser_context.py282 except Exception:CODE
MEDIUMplaywright/_impl/_page.py316def _update_interceptor_patterns_ignore_exceptions() -> None:CODE
LOWplaywright/_impl/_page.py868 except Exception as e:CODE
LOWplaywright/_impl/_page.py1463 except Exception as e:CODE
LOWplaywright/_impl/_page.py1636 except Exception as e:CODE
LOWplaywright/_impl/_waiter.py147 except Exception as e:CODE
LOWplaywright/_impl/_waiter.py155 except Exception as e:CODE
LOWplaywright/_impl/_browser.py245 except Exception as e:CODE
LOWplaywright/_impl/_network.py269 except Exception:CODE
LOWplaywright/_impl/_network.py508 except Exception as e:CODE
LOWplaywright/_impl/_network.py724 except Exception:CODE
LOWplaywright/_impl/_network.py764 except Exception:CODE
LOWplaywright/_impl/_dialog.py60 except Exception as e:CODE
MEDIUMplaywright/_impl/_dialog.py54def dismiss(self) -> None:CODE
LOWplaywright/_impl/_js_handle.py121 except Exception as e:CODE
MEDIUMplaywright/_impl/_js_handle.py115def dispose(self) -> None:CODE
LOWplaywright/_impl/_disposable.py35 except Exception as e:CODE
MEDIUMplaywright/_impl/_disposable.py29def dispose(self) -> None:CODE
LOWplaywright/_impl/_connection.py351 except Exception as exc:CODE
MEDIUMplaywright/_impl/_connection.py575 print("Error occurred in event listener", file=sys.stderr)CODE
LOWplaywright/_impl/_connection.py635 except Exception as error:CODE
LOWplaywright/_impl/_connection.py654 except Exception as error:CODE
MEDIUMplaywright/_impl/_connection.py346def init() -> None:CODE
LOWscripts/documentation_provider.py451 except Exception:CODE
LOWscripts/build_driver.py96 except Exception as error: # noqa: BLE001CODE
Modern Structural Boilerplate47 hits · 55 pts
SeverityFileLineSnippetContext
LOWtests/server.py247 def set_auth(self, path: str, username: str, password: str) -> None:CODE
LOWtests/server.py250 def set_csp(self, path: str, value: str) -> None:CODE
LOW⚡tests/server.py269 def set_redirect(self, from_: str, to: str) -> None:CODE
LOWplaywright/_impl/_selectors.py59 def set_test_id_attribute(self, attributeName: str) -> None:CODE
LOWplaywright/_impl/_playwright.py56 def _set_selectors(self, selectors: Selectors) -> None:CODE
LOWplaywright/_impl/_helper.py311 def set_default_timeout(self, timeout: Optional[float]) -> None:CODE
LOWplaywright/_impl/_locator.py965def set_test_id_attribute_name(attribute_name: str) -> None:CODE
LOW⚡playwright/_impl/_browser_context.py305 def set_default_navigation_timeout(self, timeout: float) -> None:CODE
LOW⚡playwright/_impl/_browser_context.py308 def _set_default_navigation_timeout_impl(self, timeout: Optional[float]) -> None:CODE
LOW⚡playwright/_impl/_browser_context.py311 def set_default_timeout(self, timeout: float) -> None:CODE
LOW⚡playwright/_impl/_browser_context.py314 def _set_default_timeout_impl(self, timeout: Optional[float]) -> None:CODE
LOW⚡playwright/_impl/_browser_context.py383 async def set_geolocation(self, geolocation: Geolocation = None) -> None:CODE
LOW⚡playwright/_impl/_browser_context.py386 async def set_extra_http_headers(self, headers: Dict[str, str]) -> None:CODE
LOW⚡playwright/_impl/_browser_context.py391 async def set_offline(self, offline: bool) -> None:CODE
LOW⚡playwright/_impl/_browser_context.py507 async def _update_interception_patterns(self) -> None:CODE
LOW⚡playwright/_impl/_browser_context.py513 async def _update_web_socket_interception_patterns(self) -> None:CODE
LOW⚡playwright/_impl/_page.py408 def set_default_navigation_timeout(self, timeout: float) -> None:CODE
LOW⚡playwright/_impl/_page.py411 def set_default_timeout(self, timeout: float) -> None:CODE
LOW⚡playwright/_impl/_page.py781 async def _update_interception_patterns(self) -> None:CODE
LOW⚡playwright/_impl/_page.py789 async def _update_web_socket_interception_patterns(self) -> None:CODE
LOWplaywright/_impl/_page.py316 async def _update_interceptor_patterns_ignore_exceptions() -> None:CODE
LOWplaywright/_impl/_page.py535 async def set_extra_http_headers(self, headers: Dict[str, str]) -> None:CODE
LOWplaywright/_impl/_page.py659 async def set_viewport_size(self, viewportSize: ViewportSize) -> None:CODE
LOWplaywright/_impl/_browser.py110 def _setup_browser_context(self, context: BrowserContext) -> None:CODE
LOWplaywright/_impl/_network.py328 def _set_response_end_timing(self, response_end_timing: float) -> None:CODE
LOWplaywright/_impl/_web_storage.py45 async def set_item(self, name: str, value: str) -> None:CODE
LOW⚡playwright/_impl/_connection.py227 def _set_event_to_subscription_mapping(self, mapping: Dict[str, str]) -> None:CODE
LOW⚡playwright/_impl/_connection.py230 def _update_subscription(self, event: str, enabled: bool) -> None:CODE
LOWplaywright/_impl/_connection.py389 def set_is_tracing(self, is_tracing: bool) -> None:CODE
LOWplaywright/async_api/_generated.py7233 def set_test_id_attribute(self, attribute_name: str) -> None:CODE
LOWplaywright/async_api/_generated.py9919 async def set_extra_http_headers(self, headers: typing.Dict[str, str]) -> None:CODE
LOWplaywright/async_api/_generated.py10633 async def set_viewport_size(self, viewport_size: ViewportSize) -> None:CODE
LOWplaywright/async_api/_generated.py14098 async def set_item(self, name: str, value: str) -> None:CODE
LOWplaywright/async_api/_generated.py14974 async def set_extra_http_headers(self, headers: typing.Dict[str, str]) -> None:CODE
LOWplaywright/async_api/_generated.py14996 async def set_offline(self, offline: bool) -> None:CODE
LOWplaywright/async_api/__init__.py109 def set_options(self, timeout: Optional[float] = _unset) -> None:CODE
LOWplaywright/async_api/__init__.py209__all__ = [CODE
LOWplaywright/sync_api/_generated.py7323 def set_test_id_attribute(self, attribute_name: str) -> None:CODE
LOWplaywright/sync_api/_generated.py7467 def set_fixed_time(self, time: typing.Union[float, str, datetime.datetime]) -> None:CODE
LOWplaywright/sync_api/_generated.py9918 def set_extra_http_headers(self, headers: typing.Dict[str, str]) -> None:CODE
LOWplaywright/sync_api/_generated.py10650 def set_viewport_size(self, viewport_size: ViewportSize) -> None:CODE
LOWplaywright/sync_api/_generated.py14175 def set_item(self, name: str, value: str) -> None:CODE
LOWplaywright/sync_api/_generated.py14938 def set_geolocation(self, geolocation: typing.Optional[Geolocation] = None) -> None:CODE
LOWplaywright/sync_api/_generated.py14961 def set_extra_http_headers(self, headers: typing.Dict[str, str]) -> None:CODE
LOWplaywright/sync_api/_generated.py14983 def set_offline(self, offline: bool) -> None:CODE
LOWplaywright/sync_api/__init__.py109 def set_options(self, timeout: Optional[float] = _unset) -> None:CODE
LOWplaywright/sync_api/__init__.py209__all__ = [CODE
Hallucination Indicators3 hits · 30 pts
SeverityFileLineSnippetContext
CRITICALtests/sync/test_sync.py458 p._impl_obj._connection._transport._proc.kill()CODE
CRITICALplaywright/_impl/_browser_context.py550 self._browser._browser_type._playwright.selectors._contexts_for_selectors.remove(CODE
CRITICALplaywright/_impl/_browser.py114 self._browser_type._playwright.selectors._contexts_for_selectors.add(context)CODE
Deep Nesting21 hits · 19 pts
SeverityFileLineSnippetContext
LOWtests/async/test_navigation.py1114CODE
LOWtests/async/test_tracing.py468CODE
LOWtests/async/test_network.py683CODE
LOWtests/common/test_events.py22CODE
LOWtests/sync/test_tracing.py468CODE
LOWplaywright/_impl/_glob.py19CODE
LOWplaywright/_impl/_fetch.py376CODE
LOWplaywright/_impl/_transport.py142CODE
LOWplaywright/_impl/_page.py298CODE
LOWplaywright/_impl/_page.py1449CODE
LOWplaywright/_impl/_js_handle.py218CODE
LOWplaywright/_impl/_connection.py484CODE
LOWscripts/generate_async_api.py38CODE
LOWscripts/generate_api.py162CODE
LOWscripts/documentation_provider.py52CODE
LOWscripts/documentation_provider.py116CODE
LOWscripts/documentation_provider.py212CODE
LOWscripts/documentation_provider.py304CODE
LOWscripts/documentation_provider.py336CODE
LOWscripts/build_driver.py87CODE
LOWscripts/generate_sync_api.py42CODE
Fake / Example Data19 hits · 18 pts
SeverityFileLineSnippetContext
LOW⚡tests/async/test_defaultbrowsercontext.py193 "value": "John Doe",CODE
LOWtests/async/test_defaultbrowsercontext.py85 "value": "John Doe",CODE
LOWtests/async/test_defaultbrowsercontext.py108 "value": "John Doe",CODE
LOWtests/async/test_defaultbrowsercontext.py117 "value": "John Doe",CODE
LOWtests/async/test_selectors_get_by.py29 input.setAttribute('placeholder', 'hello my\\nwo"rld');STRING
LOWtests/async/test_selectors_get_by.py59 input.setAttribute('placeholder', 'hello my\\nworld');STRING
LOWtests/async/test_selectors_get_by.py98 input.setAttribute('placeholder', 'foo >> bar');STRING
LOWtests/async/test_browsercontext_cookies.py46 "value": "John Doe",CODE
LOWtests/async/test_browsercontext_cookies.py89 "value": "John Doe",CODE
LOWtests/async/test_browsercontext_cookies.py184 "value": "John Doe",CODE
LOW⚡tests/async/test_fetch_browser_context.py100 "value": "John Doe",CODE
LOW⚡tests/async/test_fetch_browser_context.py207 "value": "John Doe",CODE
LOWtests/async/test_headful.py129 "value": "John Doe",CODE
LOWtests/async/test_browsercontext_add_cookies.py432 "value": "John Doe",CODE
LOW⚡tests/sync/test_fetch_browser_context.py96 "value": "John Doe",CODE
LOW⚡tests/sync/test_fetch_browser_context.py194 "value": "John Doe",CODE
LOWtests/sync/test_locator_get_by.py161 input.setAttribute('placeholder', 'hello my\\nwo"rld');STRING
LOWtests/sync/test_locator_get_by.py183 input.setAttribute('placeholder', 'hello my\\nworld');STRING
LOWplaywright/_impl/_locator.py997 return get_by_attribute_text_selector("placeholder", text, exact=exact)CODE
Overly Generic Function Names16 hits · 14 pts
SeverityFileLineSnippetContext
LOW⚡tests/async/test_navigation.py901 def handle_request(request: TestServerRequest) -> None:CODE
LOWtests/async/test_network.py39 async def handle_request(route: Route, request: Request) -> None:CODE
LOWtests/async/test_network.py73 async def handle_request(CODE
LOWtests/async/test_network.py691 def handle_request(request: TestServerRequest) -> None:CODE
LOWtests/async/test_network.py795 def handle_request(request: Request) -> None:CODE
LOWtests/async/test_page_route.py42 async def handle_request(route: Route, request: Request) -> None:CODE
LOWtests/async/test_page_route.py141 async def handle_request(route: Route) -> None:CODE
LOWtests/async/test_page_route.py260 def handle_request(request: Request) -> None:CODE
LOWtests/async/test_page_route.py418 def handle_request(request: TestServerRequest, hits: List[bool]) -> None:CODE
LOWtests/async/test_page_route.py1001 async def handle_request(route: Route) -> None:CODE
LOWtests/async/test_page_route.py1040 async def handle_request(route: Route) -> None:CODE
LOWtests/async/test_browsertype_connect.py304 async def handle_request(route: Route) -> None:CODE
LOW⚡tests/async/test_popup.py57 async def handle_request(route: Route) -> None:CODE
LOWtests/async/test_popup.py222 def handle_request(route: Route, request: Request, intercepted: List[bool]) -> None:CODE
LOW⚡tests/sync/test_network.py81 def handle_request(route: Route) -> None:CODE
LOWtests/sync/test_browsertype_connect.py213 def handle_request(route: Route) -> None:CODE
Self-Referential Comments3 hits · 9 pts
SeverityFileLineSnippetContext
MEDIUMtests/async/test_browsercontext.py71 # Create a page in first incognito context.COMMENT
MEDIUMtests/async/test_browsercontext.py84 # Create a page in second incognito context.COMMENT
MEDIUMplaywright/sync_api/_context_manager.py53 # Create a new fiber for the protocol dispatcher. It will be pumping eventsCOMMENT
Slop Phrases2 hits · 2 pts
SeverityFileLineSnippetContext
MEDIUMplaywright/async_api/_generated.py19401 possibly throwing the [\"strict mode violation\" error](https://playwright.dev/python/docs/locators#strictness).STRING
MEDIUMplaywright/sync_api/_generated.py19391 possibly throwing the [\"strict mode violation\" error](https://playwright.dev/python/docs/locators#strictness).STRING