AI Slop Code RIsk Monitor

g1879/DrissionPage

Python based web automation tool. Powerful and elegant.

31.3 High pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for g1879/DrissionPage, a Python project with 12,504 GitHub stars. SynthScan examined 29,131 lines of code across 126 source files, recording 444 pattern matches distributed across 11 syntactic categories. The legacy adjusted pattern signal is 31.3 (High 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.

31.3
Adjusted Signal
31.3
Raw Pattern Score
100%
Time Factor
2026-09-14
Last Push
12.5K
Stars
Python
Language
29.1K
Lines of Code
126
Files
444
Pattern Hits
2026-10-12
Scan Date
0.83
HC Hit Rate

Risk Review · v3

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

Cognitive Ownership Risk 26.5/100 · MEDIUM

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

Hallucinated Dependency & Supply Chain Risk 39.6/100 · MEDIUM

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

Agent Over-Engineering Ratio 60.7/100 · HIGH

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

PR Review Velocity Impact 82.6/100 · CRITICAL

Which changes need focused human review? 444 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 6HIGH 99MEDIUM 13LOW 326

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 444 distinct pattern matches across 11 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.

Cross-File Repetition41 hits · 205 pts
SeverityFileLineSnippetContext
HIGHDrissionPage/version.py0@author : g1879 @contact : g1879@qq.com @website : https://drissionpage.cn @copyright: (c) 2020 by g1879, inc. all rightSTRING
HIGHDrissionPage/common.py0@author : g1879 @contact : g1879@qq.com @website : https://drissionpage.cn @copyright: (c) 2020 by g1879, inc. all rightSTRING
HIGHDrissionPage/errors.py0@author : g1879 @contact : g1879@qq.com @website : https://drissionpage.cn @copyright: (c) 2020 by g1879, inc. all rightSTRING
HIGHDrissionPage/items.py0@author : g1879 @contact : g1879@qq.com @website : https://drissionpage.cn @copyright: (c) 2020 by g1879, inc. all rightSTRING
HIGHDrissionPage/_functions/cookies.py0@author : g1879 @contact : g1879@qq.com @website : https://drissionpage.cn @copyright: (c) 2020 by g1879, inc. all rightSTRING
HIGHDrissionPage/_functions/web.py0@author : g1879 @contact : g1879@qq.com @website : https://drissionpage.cn @copyright: (c) 2020 by g1879, inc. all rightSTRING
HIGHDrissionPage/_functions/elements.py0@author : g1879 @contact : g1879@qq.com @website : https://drissionpage.cn @copyright: (c) 2020 by g1879, inc. all rightSTRING
HIGHDrissionPage/_functions/tools.py0@author : g1879 @contact : g1879@qq.com @website : https://drissionpage.cn @copyright: (c) 2020 by g1879, inc. all rightSTRING
HIGHDrissionPage/_functions/keys.py0@author : g1879 @contact : g1879@qq.com @website : https://drissionpage.cn @copyright: (c) 2020 by g1879, inc. all rightSTRING
HIGHDrissionPage/_functions/locator.py0@author : g1879 @contact : g1879@qq.com @website : https://drissionpage.cn @copyright: (c) 2020 by g1879, inc. all rightSTRING
HIGHDrissionPage/_functions/browser.py0@author : g1879 @contact : g1879@qq.com @website : https://drissionpage.cn @copyright: (c) 2020 by g1879, inc. all rightSTRING
HIGHDrissionPage/_functions/cli.py0@author : g1879 @contact : g1879@qq.com @website : https://drissionpage.cn @copyright: (c) 2020 by g1879, inc. all rightSTRING
HIGHDrissionPage/_functions/texts.py0@author : g1879 @contact : g1879@qq.com @website : https://drissionpage.cn @copyright: (c) 2020 by g1879, inc. all rightSTRING
HIGHDrissionPage/_functions/settings.py0@author : g1879 @contact : g1879@qq.com @website : https://drissionpage.cn @copyright: (c) 2020 by g1879, inc. all rightSTRING
HIGHDrissionPage/_functions/by.py0@author : g1879 @contact : g1879@qq.com @website : https://drissionpage.cn @copyright: (c) 2020 by g1879, inc. all rightSTRING
HIGHDrissionPage/_configs/chromium_options.py0@author : g1879 @contact : g1879@qq.com @website : https://drissionpage.cn @copyright: (c) 2020 by g1879, inc. all rightSTRING
HIGHDrissionPage/_configs/session_options.py0@author : g1879 @contact : g1879@qq.com @website : https://drissionpage.cn @copyright: (c) 2020 by g1879, inc. all rightSTRING
HIGHDrissionPage/_configs/options_manage.py0@author : g1879 @contact : g1879@qq.com @website : https://drissionpage.cn @copyright: (c) 2020 by g1879, inc. all rightSTRING
HIGHDrissionPage/_pages/chromium_base.py0@author : g1879 @contact : g1879@qq.com @website : https://drissionpage.cn @copyright: (c) 2020 by g1879, inc. all rightSTRING
HIGHDrissionPage/_pages/chromium_tab.py0@author : g1879 @contact : g1879@qq.com @website : https://drissionpage.cn @copyright: (c) 2020 by g1879, inc. all rightSTRING
HIGHDrissionPage/_pages/chromium_frame.py0@author : g1879 @contact : g1879@qq.com @website : https://drissionpage.cn @copyright: (c) 2020 by g1879, inc. all rightSTRING
HIGHDrissionPage/_pages/session_page.py0@author : g1879 @contact : g1879@qq.com @website : https://drissionpage.cn @copyright: (c) 2020 by g1879, inc. all rightSTRING
HIGHDrissionPage/_units/console.py0@author : g1879 @contact : g1879@qq.com @website : https://drissionpage.cn @copyright: (c) 2020 by g1879, inc. all rightSTRING
HIGHDrissionPage/_units/screencast.py0@author : g1879 @contact : g1879@qq.com @website : https://drissionpage.cn @copyright: (c) 2020 by g1879, inc. all rightSTRING
HIGHDrissionPage/_units/downloader.py0@author : g1879 @contact : g1879@qq.com @website : https://drissionpage.cn @copyright: (c) 2020 by g1879, inc. all rightSTRING
HIGHDrissionPage/_units/clicker.py0@author : g1879 @contact : g1879@qq.com @website : https://drissionpage.cn @copyright: (c) 2020 by g1879, inc. all rightSTRING
HIGHDrissionPage/_units/scroller.py0@author : g1879 @contact : g1879@qq.com @website : https://drissionpage.cn @copyright: (c) 2020 by g1879, inc. all rightSTRING
HIGHDrissionPage/_units/selector.py0@author : g1879 @contact : g1879@qq.com @website : https://drissionpage.cn @copyright: (c) 2020 by g1879, inc. all rightSTRING
HIGHDrissionPage/_units/actions.py0@author : g1879 @contact : g1879@qq.com @website : https://drissionpage.cn @copyright: (c) 2020 by g1879, inc. all rightSTRING
HIGHDrissionPage/_units/waiter.py0@author : g1879 @contact : g1879@qq.com @website : https://drissionpage.cn @copyright: (c) 2020 by g1879, inc. all rightSTRING
HIGHDrissionPage/_units/rect.py0@author : g1879 @contact : g1879@qq.com @website : https://drissionpage.cn @copyright: (c) 2020 by g1879, inc. all rightSTRING
HIGHDrissionPage/_units/cookies_setter.py0@author : g1879 @contact : g1879@qq.com @website : https://drissionpage.cn @copyright: (c) 2020 by g1879, inc. all rightSTRING
HIGHDrissionPage/_units/states.py0@author : g1879 @contact : g1879@qq.com @website : https://drissionpage.cn @copyright: (c) 2020 by g1879, inc. all rightSTRING
HIGHDrissionPage/_units/setter.py0@author : g1879 @contact : g1879@qq.com @website : https://drissionpage.cn @copyright: (c) 2020 by g1879, inc. all rightSTRING
HIGHDrissionPage/_units/listener.py0@author : g1879 @contact : g1879@qq.com @website : https://drissionpage.cn @copyright: (c) 2020 by g1879, inc. all rightSTRING
HIGHDrissionPage/_browsers/chromium.py0@author : g1879 @contact : g1879@qq.com @website : https://drissionpage.cn @copyright: (c) 2020 by g1879, inc. all rightSTRING
HIGHDrissionPage/_base/driver.py0@author : g1879 @contact : g1879@qq.com @website : https://drissionpage.cn @copyright: (c) 2020 by g1879, inc. all rightSTRING
HIGHDrissionPage/_base/base.py0@author : g1879 @contact : g1879@qq.com @website : https://drissionpage.cn @copyright: (c) 2020 by g1879, inc. all rightSTRING
HIGHDrissionPage/_elements/chromium_element.py0@author : g1879 @contact : g1879@qq.com @website : https://drissionpage.cn @copyright: (c) 2020 by g1879, inc. all rightSTRING
HIGHDrissionPage/_elements/none_element.py0@author : g1879 @contact : g1879@qq.com @website : https://drissionpage.cn @copyright: (c) 2020 by g1879, inc. all rightSTRING
HIGHDrissionPage/_elements/session_element.py0@author : g1879 @contact : g1879@qq.com @website : https://drissionpage.cn @copyright: (c) 2020 by g1879, inc. all rightSTRING
Empty Error Handlers33 hits · 165 pts
SeverityFileLineSnippetContext
HIGHtests/support.py463except (BrokenPipeError, ConnectionResetError):CODE
HIGHtests/support.py179except Exception:CODE
HIGHtests/support.py197except Exception:CODE
HIGHtests/support.py229except (BrokenPipeError, ConnectionResetError):CODE
HIGHtests/support.py411except Exception:CODE
HIGHtests/support.py191except Exception:CODE
HIGHtests/feature_cases/test_ssr_site_smoke.py269except OSError:CODE
HIGHtests/feature_cases/test_ssr_social_notes_mobile.py77except Exception:CODE
HIGHtests/feature_cases/test_tab_management.py33except Exception:CODE
HIGHtests/feature_cases/test_chromium_tab_management.py35except Exception:CODE
HIGHtests/feature_cases/test_chromium_tab_management.py51except Exception:CODE
HIGHtests/regression_cases/test_alert_on_open.py34except Exception:CODE
HIGHtests/regression_cases/test_alert_on_open.py42except BaseException:CODE
HIGHtests/regression_cases/test_alert_on_open.py50except ProcessLookupError:CODE
HIGHtests/regression_cases/test_alert_on_open.py65except ProcessLookupError:CODE
HIGHDrissionPage/_functions/cookies.py120except Exception:CODE
HIGHDrissionPage/_functions/locator.py112except ExpressionError:CODE
HIGHDrissionPage/_functions/browser.py275except:CODE
HIGHDrissionPage/_functions/browser.py294except ImportError:CODE
HIGHDrissionPage/_functions/browser.py360except:CODE
HIGHDrissionPage/_pages/chromium_base.py515except (PageDisconnectedError, CDPError):CODE
HIGHDrissionPage/_pages/chromium_base.py723except CDPError:CODE
HIGHDrissionPage/_pages/chromium_frame.py487except:CODE
HIGHDrissionPage/_units/listener.py1068except:CODE
HIGHDrissionPage/_browsers/chromium.py740except:CODE
HIGHDrissionPage/_browsers/chromium.py119except:CODE
HIGHDrissionPage/_browsers/chromium.py357except PageDisconnectedError:CODE
HIGHDrissionPage/_browsers/chromium.py402except:CODE
HIGHDrissionPage/_browsers/chromium.py374except TypeError:CODE
HIGHDrissionPage/_browsers/chromium.py383except:CODE
HIGHDrissionPage/_base/base.py456except (ValueError, AttributeError):CODE
HIGHDrissionPage/_elements/chromium_element.py1217except (OSError, ValueError):CODE
HIGHDrissionPage/_elements/chromium_element.py353except:CODE
Cross-Language Confusion25 hits · 135 pts
SeverityFileLineSnippetContext
HIGHtests/support.py287 function note(x) {{ window.events.push(x); }}CODE
HIGHtests/feature_cases/test_unit_wrapper_contracts.py273 default_perm.push()CODE
HIGHtests/feature_cases/test_small_unit_edge_contracts.py49 setter.push(False)CODE
HIGHtests/feature_cases/test_small_unit_edge_contracts.py310 'return this.documentElement.scrollLeft.toString() + " " + this.documentElement.scrollTop.toString();': "11 CODE
HIGHtests/feature_cases/test_listener_upgrade.py94 window.es.addEventListener('message', event => window.sseEvents.push(event.data));CODE
HIGHtests/feature_cases/test_listener_upgrade.py95 window.es.addEventListener('done', event => window.sseEvents.push(event.data));CODE
HIGHDrissionPage/_functions/web.py116 if (x< scrollLeft || y < scrollTop || x > vWidth + scrollLeft || y > vHeight + scrollTop){{return false;}}CODE
HIGHDrissionPage/_pages/chromium_base.py534 ele = document.createElement(null);CODE
HIGHDrissionPage/_pages/chromium_base.py541 ele = document.createElement(null);CODE
HIGHDrissionPage/_units/screencast.py66 DrissionPage_Screencast_chunks.push(e.data);CODE
HIGHDrissionPage/_units/scroller.py118 if (document.documentElement && document.documentElement.scrollTop) {CODE
HIGHDrissionPage/_units/rect.py95 r = self._ele._run_js('return this.scrollLeft.toString() + " " + this.scrollTop.toString();')CODE
HIGHDrissionPage/_units/rect.py159 r = self._owner._run_js('return window.innerWidth.toString() + " " + window.innerHeight.toString();')CODE
HIGHDrissionPage/_units/rect.py213 r = self._frame.doc_ele._run_js('return this.documentElement.scrollLeft.toString() + " " 'CODE
HIGHDrissionPage/_units/rect.py214 '+ this.documentElement.scrollTop.toString();')CODE
HIGHDrissionPage/_units/states.py180 or self._frame.frame_ele._run_js('return this.offsetParent === null;')CODE
HIGH⚡DrissionPage/_elements/chromium_element.py1174if(e.snapshotItem(i).constructor.name=="Text"){a.push(e.snapshotItem(i).data);}CODE
HIGH⚡DrissionPage/_elements/chromium_element.py1175else if(e.snapshotItem(i).constructor.name=="Attr"){a.push(e.snapshotItem(i).nodeValue);}CODE
HIGH⚡DrissionPage/_elements/chromium_element.py1176else if(e.snapshotItem(i).constructor.name=="Comment"){a.push(e.snapshotItem(i).nodeValue);}CODE
HIGH⚡DrissionPage/_elements/chromium_element.py1177else{a.push(e.snapshotItem(i));}}"""CODE
HIGHDrissionPage/_elements/chromium_element.py433 js = ('return this.complete && typeof this.naturalWidth != "undefined" 'CODE
HIGHDrissionPage/_elements/chromium_element.py434 '&& this.naturalWidth > 0 && typeof this.naturalHeight != "undefined" 'CODE
HIGHDrissionPage/_elements/chromium_element.py510 js = ('return this.complete && typeof this.naturalWidth != "undefined" && this.naturalWidth > 0 'CODE
HIGHDrissionPage/_elements/chromium_element.py1163if(e.singleNodeValue==null){return null;}CODE
HIGHDrissionPage/_elements/chromium_element.py1188 js = f'function(){{let e=document.evaluate(\'{xpath}\',{node_txt},null,{type_txt},null);\n{for_txt}\n{return_txt}}}'CODE
Hyper-Verbose Identifiers99 hits · 100 pts
SeverityFileLineSnippetContext
LOWtests/runner.py204def _case_from_feature_module(module_name: str):CODE
LOW⚡tests/check_runner_quality.py34def test_failed_cases_do_not_count_as_coverage() -> None:CODE
LOW⚡tests/check_runner_quality.py44def test_passed_cases_count_as_coverage() -> None:CODE
LOW⚡tests/check_runner_quality.py50def test_sensitive_values_are_redacted() -> None:CODE
LOWtests/check_runner_quality.py64def test_case_selection_and_suite_classification() -> None:CODE
LOWtests/feature_cases/test_unit_wrapper_contracts.py194def _check_scroller_contracts():CODE
LOWtests/feature_cases/test_unit_wrapper_contracts.py260def _check_permission_and_cookie_payloads():CODE
LOW…ts/feature_cases/test_chromium_base_extra_contracts.py103def test_base_protocol_and_lazy_accessors():CODE
LOW…ts/feature_cases/test_chromium_base_extra_contracts.py209def test_base_storage_cache_alert_and_download_contracts():CODE
LOW…ts/feature_cases/test_chromium_base_extra_contracts.py313def test_base_lookup_and_element_helpers():CODE
LOW…ts/feature_cases/test_chromium_base_extra_contracts.py337def test_tab_cookie_conversion_mode_and_cleanup():CODE
LOW…ts/feature_cases/test_chromium_base_extra_contracts.py409def test_frame_accessors_and_detach_bookkeeping():CODE
LOWtests/feature_cases/test_base_page_contracts.py59def _check_base_parser_and_element_contracts():CODE
LOWtests/feature_cases/test_base_page_contracts.py157def _check_base_page_contracts():CODE
LOWtests/feature_cases/test_base_page_contracts.py213def _check_messenger_contracts():CODE
LOWtests/feature_cases/test_base_page_contracts.py271def _check_session_page_properties_and_elements():CODE
LOWtests/feature_cases/test_base_page_contracts.py334def _check_session_page_connections():CODE
LOWtests/feature_cases/test_base_page_contracts.py479def _check_chromium_tab_delegation():CODE
LOWtests/feature_cases/test_base_page_contracts.py643def _check_chromium_frame_delegation():CODE
LOWtests/feature_cases/test_runtime_unit_contracts.py63def test_screencast_contracts():CODE
LOW…eature_cases/test_browser_lifecycle_extra_contracts.py115def test_browser_helper_edge_contracts():CODE
LOW…eature_cases/test_browser_lifecycle_extra_contracts.py220def test_browser_path_and_profile_fallback_contracts():CODE
LOW…eature_cases/test_browser_lifecycle_extra_contracts.py330def test_connection_response_and_browser_discovery_contracts():CODE
LOW…eature_cases/test_browser_lifecycle_extra_contracts.py535def test_browser_lazy_units_and_delegation_contracts():CODE
LOW…eature_cases/test_browser_lifecycle_extra_contracts.py693def test_browser_lifecycle_bookkeeping_contracts():CODE
LOW…eature_cases/test_browser_lifecycle_extra_contracts.py901def test_driver_send_and_event_contracts():CODE
LOW…eature_cases/test_browser_lifecycle_extra_contracts.py1035def test_driver_start_stop_and_owner_contracts():CODE
LOWtests/feature_cases/test_navigation_result.py23def test_session_navigation_objects():CODE
LOWtests/feature_cases/test_navigation_result.py50def test_browser_navigation_matrix(executable):CODE
LOWtests/feature_cases/test_navigation_basics.py24def _check_session_local_file() -> None:CODE
LOWtests/feature_cases/test_navigation_basics.py35def _check_browser_navigation(ctx) -> None:CODE
LOWtests/feature_cases/test_chromium_browser_contracts.py66def test_browser_properties_context_cookies_and_latest_tab():CODE
LOWtests/feature_cases/test_chromium_browser_contracts.py148def test_browser_tab_lookup_activation_and_close_normalization():CODE
LOWtests/feature_cases/test_chromium_browser_contracts.py255def test_tabs_bookkeeping_contracts():CODE
LOWtests/feature_cases/test_chromium_browser_contracts.py330def test_chromium_base_properties_widgets_cookies_and_storage():CODE
LOWtests/feature_cases/test_chromium_browser_contracts.py468def test_chromium_tab_delegation_close_and_disconnect():CODE
LOWtests/feature_cases/test_chromium_browser_contracts.py612def test_chromium_frame_properties_delegation_and_bookkeeping():CODE
LOWtests/feature_cases/test_locator_edge_contracts.py31def test_single_locator_forms():CODE
LOWtests/feature_cases/test_locator_edge_contracts.py103def test_selenium_and_ax_edges():CODE
LOWtests/feature_cases/test_regression_basics.py22def test_no_browser_regressions():CODE
LOWtests/feature_cases/browser_interaction_server.py8def browser_interaction_routes():CODE
LOWtests/feature_cases/browser_interaction_server.py63def browser_interaction_server():CODE
LOWtests/feature_cases/test_chromium_element_contracts.py222def _check_construction_and_identity():CODE
LOWtests/feature_cases/test_chromium_element_contracts.py258def _check_content_and_attribute_contracts():CODE
LOWtests/feature_cases/test_chromium_element_contracts.py307def _check_session_snapshot_contracts():CODE
LOWtests/feature_cases/test_chromium_element_contracts.py331def _check_accessor_and_setter_wiring():CODE
LOWtests/feature_cases/test_chromium_element_contracts.py368def _check_traversal_delegation():CODE
LOWtests/feature_cases/test_chromium_element_contracts.py412def _check_element_actions_and_resources():CODE
LOWtests/feature_cases/test_chromium_element_contracts.py462def _check_javascript_payloads():CODE
LOWtests/feature_cases/test_small_unit_edge_contracts.py257def test_rect_and_state_edges():CODE
LOWtests/feature_cases/test_element_locators.py22def test_no_browser_locator_contracts():CODE
LOWtests/feature_cases/test_element_locators.py51def test_browser_locator_contracts(executable):STRING
LOWtests/feature_cases/test_browser_helper_contracts.py87def test_launch_argument_contracts():CODE
LOWtests/feature_cases/test_browser_helper_contracts.py138def test_preference_contracts():CODE
LOWtests/feature_cases/test_browser_helper_contracts.py225def test_connection_contracts():CODE
LOWtests/feature_cases/test_browser_helper_contracts.py371def test_process_invocation_contracts():CODE
LOWtests/feature_cases/test_browser_helper_contracts.py399def test_port_and_folder_contracts():CODE
LOWtests/feature_cases/test_browser_helper_contracts.py471def test_wait_and_error_contracts():CODE
LOWtests/feature_cases/test_element_core_behaviors.py22def _check_session_element_contracts() -> None:CODE
LOWtests/feature_cases/test_element_core_behaviors.py37def _check_browser_element_contracts(ctx) -> None:STRING
39 more matches not shown…
Unused Imports99 hits · 99 pts
SeverityFileLineSnippetContext
LOWtests/run.py4CODE
LOWtests/runner.py4CODE
LOWtests/support.py8CODE
LOWtests/check_runner_quality.py4CODE
LOWtests/check_ci_retry.py4CODE
LOWtests/feature_manifest.py9CODE
LOWtests/check_workflow_quality.py10CODE
LOWtests/feature_cases/test_unit_wrapper_contracts.py2CODE
LOW…ts/feature_cases/test_chromium_base_extra_contracts.py2CODE
LOWtests/feature_cases/test_listener_basics.py2CODE
LOWtests/feature_cases/test_options_settings.py2CODE
LOWtests/feature_cases/test_proxy_credentials.py2CODE
LOWtests/feature_cases/test_base_page_contracts.py2CODE
LOWtests/feature_cases/test_ssr_site_smoke.py2CODE
LOWtests/feature_cases/test_ssr_social_notes_mobile.py2CODE
LOW…sts/feature_cases/test_cross_origin_iframe_listener.py2CODE
LOWtests/feature_cases/test_tab_management.py2CODE
LOWtests/feature_cases/test_ssr_marketplace_flow.py2CODE
LOWtests/feature_cases/test_config_session_contracts.py2CODE
LOWtests/feature_cases/test_runtime_unit_contracts.py2CODE
LOWtests/feature_cases/test_download_management.py2CODE
LOWtests/feature_cases/test_startup_settings.py2CODE
LOWtests/feature_cases/test_pure_function_contracts.py2CODE
LOWtests/feature_cases/test_recommended_chromium_entry.py2CODE
LOW…eature_cases/test_browser_lifecycle_extra_contracts.py2CODE
LOWtests/feature_cases/test_navigation_result.py2CODE
LOWtests/feature_cases/test_navigation_basics.py2CODE
LOWtests/feature_cases/test_chromium_browser_contracts.py2CODE
LOWtests/feature_cases/test_page_object_basics.py2CODE
LOWtests/feature_cases/test_locator_edge_contracts.py2CODE
LOWtests/feature_cases/test_tab_post_response.py2CODE
LOWtests/feature_cases/test_frame_shadow_setters.py2CODE
LOWtests/feature_cases/test_regression_basics.py2CODE
LOWtests/feature_cases/test_browser_contexts.py2CODE
LOWtests/feature_cases/browser_interaction_server.py3CODE
LOWtests/feature_cases/test_chromium_element_contracts.py2CODE
LOWtests/feature_cases/test_scroll_and_waits.py2CODE
LOWtests/feature_cases/test_optional_online_smoke.py2CODE
LOWtests/feature_cases/core_feature_server.py3CODE
LOW…sts/feature_cases/test_cross_origin_iframe_elements.py2CODE
LOWtests/feature_cases/test_mouse_trail.py2CODE
LOWtests/feature_cases/test_small_unit_edge_contracts.py2CODE
LOWtests/feature_cases/test_element_locators.py2CODE
LOWtests/feature_cases/test_browser_helper_contracts.py2CODE
LOWtests/feature_cases/test_element_core_behaviors.py2CODE
LOW…ts/feature_cases/test_waiter_setter_extra_contracts.py2CODE
LOWtests/feature_cases/test_chromium_tab_management.py2CODE
LOWtests/feature_cases/ssr_test_site.py2CODE
LOW…sts/feature_cases/test_chromium_options_environment.py2CODE
LOWtests/feature_cases/test_element_multi_click.py2CODE
LOWtests/feature_cases/test_api_behavior_changes.py2CODE
LOWtests/feature_cases/test_listener_upgrade.py2CODE
LOWtests/feature_cases/test_collection_action_contracts.py2CODE
LOWtests/feature_cases/test_listener_data_contracts.py2CODE
LOWtests/feature_cases/test_find_api.py2CODE
LOWtests/feature_cases/test_browser_download.py2CODE
LOW…feature_cases/test_chromium_element_extra_contracts.py2CODE
LOWtests/feature_cases/test_permissions.py2CODE
LOWtests/feature_cases/test_cookie_setters.py2CODE
LOWtests/feature_cases/test_console_and_cookie_formats.py2CODE
39 more matches not shown…
Deep Nesting72 hits · 68 pts
SeverityFileLineSnippetContext
LOWtests/runner.py301CODE
LOWtests/support.py237CODE
LOWtests/feature_cases/test_tab_management.py11CODE
LOWtests/feature_cases/test_chromium_tab_management.py11CODE
LOWtests/feature_cases/test_console_and_cookie_formats.py13CODE
LOWtests/regression_cases/test_listener_ws_sse.py13CODE
LOWDrissionPage/_functions/cookies.py18CODE
LOWDrissionPage/_functions/cookies.py47CODE
LOWDrissionPage/_functions/cookies.py102CODE
LOWDrissionPage/_functions/cookies.py163CODE
LOWDrissionPage/_functions/web.py20CODE
LOWDrissionPage/_functions/web.py257CODE
LOWDrissionPage/_functions/web.py36CODE
LOWDrissionPage/_functions/web.py258CODE
LOWDrissionPage/_functions/elements.py320CODE
LOWDrissionPage/_functions/elements.py401CODE
LOWDrissionPage/_functions/elements.py473CODE
LOWDrissionPage/_functions/elements.py64CODE
LOWDrissionPage/_functions/elements.py81CODE
LOWDrissionPage/_functions/elements.py103CODE
LOWDrissionPage/_functions/elements.py198CODE
LOWDrissionPage/_functions/tools.py68CODE
LOWDrissionPage/_functions/tools.py166CODE
LOWDrissionPage/_functions/locator.py15CODE
LOWDrissionPage/_functions/locator.py118CODE
LOWDrissionPage/_functions/locator.py147CODE
LOWDrissionPage/_functions/locator.py199CODE
LOWDrissionPage/_functions/locator.py255CODE
LOWDrissionPage/_functions/locator.py318CODE
LOWDrissionPage/_functions/locator.py394CODE
LOWDrissionPage/_functions/locator.py465CODE
LOWDrissionPage/_functions/locator.py503CODE
LOWDrissionPage/_functions/locator.py549CODE
LOWDrissionPage/_functions/browser.py23CODE
LOWDrissionPage/_functions/browser.py93CODE
LOWDrissionPage/_functions/browser.py279CODE
LOWDrissionPage/_functions/browser.py345CODE
LOWDrissionPage/_configs/chromium_options.py174CODE
LOWDrissionPage/_configs/options_manage.py16CODE
LOWDrissionPage/_pages/chromium_base.py527CODE
LOWDrissionPage/_pages/chromium_base.py791CODE
LOWDrissionPage/_pages/chromium_frame.py401CODE
LOWDrissionPage/_pages/session_page.py187CODE
LOWDrissionPage/_units/downloader.py169CODE
LOWDrissionPage/_units/downloader.py267CODE
LOWDrissionPage/_units/clicker.py26CODE
LOWDrissionPage/_units/actions.py198CODE
LOWDrissionPage/_units/actions.py226CODE
LOWDrissionPage/_units/listener.py161CODE
LOWDrissionPage/_units/listener.py192CODE
LOWDrissionPage/_units/listener.py426CODE
LOWDrissionPage/_units/listener.py463CODE
LOWDrissionPage/_units/listener.py653CODE
LOWDrissionPage/_units/listener.py669CODE
LOWDrissionPage/_units/listener.py712CODE
LOWDrissionPage/_units/listener.py727CODE
LOWDrissionPage/_browsers/chromium.py494CODE
LOWDrissionPage/_browsers/chromium.py512CODE
LOWDrissionPage/_browsers/chromium.py427CODE
LOWDrissionPage/_base/driver.py109CODE
12 more matches not shown…
Excessive Try-Catch Wrapping53 hits · 64 pts
SeverityFileLineSnippetContext
LOWtests/runner.py291 except Exception as exc:CODE
LOWtests/support.py179 except Exception:CODE
LOWtests/support.py191 except Exception:CODE
LOWtests/support.py197 except Exception:CODE
LOWtests/support.py378 except Exception:STRING
LOWtests/support.py411 except Exception:STRING
MEDIUMtests/support.py408def _send_ws_close(self) -> None:CODE
LOWtests/feature_cases/test_base_page_contracts.py44 except Exception as exc:CODE
MEDIUMtests/feature_cases/test_base_page_contracts.py39def _expect_error(error_type, action, message):CODE
LOWtests/feature_cases/test_ssr_social_notes_mobile.py77 except Exception:STRING
LOWtests/feature_cases/test_tab_management.py33 except Exception:CODE
LOWtests/feature_cases/test_config_session_contracts.py301 except Exception as exc:STRING
LOWtests/feature_cases/test_pure_function_contracts.py493 except Exception as error:CODE
MEDIUMtests/feature_cases/test_pure_function_contracts.py488def _assert_raises(error_type, func, *args, **kwargs):CODE
LOW…eature_cases/test_browser_lifecycle_extra_contracts.py66 except Exception as error:CODE
MEDIUM…eature_cases/test_browser_lifecycle_extra_contracts.py61def _assert_raises(expected, func, *args, **kwargs):CODE
LOWtests/feature_cases/test_chromium_browser_contracts.py59 except Exception as error:CODE
MEDIUMtests/feature_cases/test_chromium_browser_contracts.py54def _assert_raises(expected, func, *args, **kwargs):CODE
LOWtests/feature_cases/test_browser_helper_contracts.py66 except Exception as error:CODE
MEDIUMtests/feature_cases/test_browser_helper_contracts.py61def _assert_raises(expected, func, *args, **kwargs):CODE
LOW…ts/feature_cases/test_waiter_setter_extra_contracts.py75 except Exception as error:CODE
MEDIUM…ts/feature_cases/test_waiter_setter_extra_contracts.py70def _assert_raises(expected, func, *args, **kwargs):CODE
LOWtests/feature_cases/test_chromium_tab_management.py35 except Exception:CODE
LOWtests/feature_cases/test_chromium_tab_management.py51 except Exception:CODE
LOWtests/feature_cases/test_listener_data_contracts.py571 except Exception as exc:CODE
MEDIUMtests/feature_cases/test_listener_data_contracts.py566def _expect_error(error_type, action, message):CODE
LOWtests/regression_cases/test_listener_ws_sse.py31 except Exception as e:CODE
LOWtests/regression_cases/test_listener_ws_sse.py49 except Exception as e:CODE
LOWtests/regression_cases/test_listener_ws_sse.py61 except Exception as e:CODE
LOWtests/regression_cases/test_listener_ws_sse.py87 except Exception as e:CODE
LOWtests/regression_cases/test_navigation_result.py36 except Exception as e:CODE
LOWtests/regression_cases/test_alert_on_open.py34 except Exception:CODE
LOWtests/regression_cases/test_locator_behavior.py60 except Exception as exc:CODE
LOWtests/regression_cases/test_no_browser_contract_gaps.py29 except Exception as exc:CODE
LOWtests/regression_cases/test_no_browser_contract_gaps.py37 except Exception as exc:CODE
LOWtests/regression_cases/test_no_browser_contract_gaps.py59 except Exception as exc:CODE
LOWDrissionPage/_functions/cookies.py120 except Exception:CODE
LOWDrissionPage/_functions/browser.py207 except Exception:CODE
LOWDrissionPage/_functions/browser.py292 except Exception:CODE
MEDIUMDrissionPage/_functions/browser.py201def do():CODE
LOWDrissionPage/_configs/options_manage.py97 except Exception:CODE
LOWDrissionPage/_pages/chromium_frame.py66 except Exception as e:CODE
LOWDrissionPage/_pages/session_page.py75 except Exception:CODE
LOWDrissionPage/_pages/session_page.py230 except Exception as e:CODE
MEDIUMDrissionPage/_pages/session_page.py72def json(self):CODE
LOWDrissionPage/_browsers/chromium.py519 except Exception as e:CODE
MEDIUMDrissionPage/_browsers/chromium.py323def activate_tab(self, id_ind_tab):CODE
MEDIUMDrissionPage/_elements/chromium_element.py98def attrs(self):CODE
MEDIUMDrissionPage/_elements/chromium_element.py571def focus(self):CODE
LOWDrissionPage/_elements/chromium_element.py568 except Exception:CODE
LOWDrissionPage/_elements/chromium_element.py574 except Exception:CODE
LOWDrissionPage/_elements/chromium_element.py1248 except Exception:CODE
LOWDrissionPage/_elements/session_element.py294 except Exception as e:CODE
Hallucination Indicators6 hits · 60 pts
SeverityFileLineSnippetContext
CRITICALDrissionPage/_units/clicker.py105 curr_tid = self._ele.tab.browser._tabs.get_newest_tab(self._ele.tab._context_id)CODE
CRITICALDrissionPage/_units/clicker.py108 tid = self._ele.tab.browser.wait._new_tab(self._ele.tab._context_id, curr_tab=curr_tid)CODE
CRITICALDrissionPage/_units/clicker.py127 self._ele.tab._browser.set.download_path('.')CODE
CRITICALDrissionPage/_units/clicker.py173 self._ele.owner.browser._dl_mgr._tab_missions.setdefault(self._ele.owner.tab_id, set()).add(m)CODE
CRITICALDrissionPage/_units/clicker.py184 curr_tid = self._ele.tab.browser._tabs.get_newest_tab(self._ele.tab._context_id)CODE
CRITICALDrissionPage/_units/clicker.py186 tid = self._ele.tab.browser.wait._new_tab(self._ele.tab._context_id, timeout=timeout, curr_tab=curr_tid)CODE
AI Structural Patterns6 hits · 6 pts
SeverityFileLineSnippetContext
LOWDrissionPage/_functions/elements.py473CODE
LOWDrissionPage/_functions/elements.py214CODE
LOWDrissionPage/_functions/elements.py232CODE
LOWDrissionPage/_functions/elements.py238CODE
LOWDrissionPage/_pages/chromium_base.py791CODE
LOWDrissionPage/_pages/chromium_frame.py401CODE
Over-Commented Block5 hits · 5 pts
SeverityFileLineSnippetContext
LOWDrissionPage/_functions/keys.py281 # 'KeyK': {'keyCode': 75, 'code': 'KeyK', 'shiftKey': 'K', 'key': 'k'},COMMENT
LOWDrissionPage/_functions/keys.py301 # 'F14': {'keyCode': 125, 'code': 'F14', 'key': 'F14'},COMMENT
LOWDrissionPage/_functions/keys.py321 # 'Equal': {'keyCode': 187, 'code': 'Equal', 'shiftKey': '+', 'key': '='},COMMENT
LOWDrissionPage/_elements/chromium_element.py1401# ele.owner.wait.doc_loaded()COMMENT
LOWDrissionPage/_elements/chromium_element.py1421# objectId=res['result']['objectId'],COMMENT
Modern Structural Boilerplate5 hits · 4 pts
SeverityFileLineSnippetContext
LOWtests/feature_cases/test_element_core_behaviors.py78def _set_checked(checkbox, checked: bool) -> None:STRING
LOWtests/regression_cases/test_locator_behavior.py8def set_checked(checkbox, checked: bool) -> None:CODE
LOWDrissionPage/common.py18__all__ = ['make_session_ele', 'Actions', 'Keys', 'By', 'Settings', 'wait_until', 'configs_to_here', 'get_blob',CODE
LOWDrissionPage/items.py18__all__ = ['ChromiumElement', 'ShadowRoot', 'NoneElement', 'SessionElement', 'NavResult',CODE
LOWDrissionPage/_functions/browser.py248def _set_value_to_dict(target_dict: dict, src: list, value) -> None:CODE