gitextract_t_9ditla/ ├── .azure-pipelines/ │ ├── guardian/ │ │ └── SDL/ │ │ └── .gdnsuppress │ └── publish.yml ├── .claude/ │ └── skills/ │ └── playwright-roll/ │ └── SKILL.md ├── .gitattributes ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── bug.yml │ │ ├── config.yml │ │ ├── documentation.yml │ │ ├── feature.yml │ │ ├── question.yml │ │ └── regression.yml │ ├── dependabot.yml │ └── workflows/ │ ├── ci.yml │ ├── publish.yml │ ├── publish_docker.yml │ └── test_docker.yml ├── .gitignore ├── .pre-commit-config.yaml ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── ROLLING.md ├── SECURITY.md ├── SUPPORT.md ├── conda_build_config_linux_aarch64.yaml ├── conda_build_config_osx_arm64.yaml ├── examples/ │ └── todomvc/ │ ├── mvctests/ │ │ ├── __init__.py │ │ ├── test_clear_completed_button.py │ │ ├── test_counter.py │ │ ├── test_editing.py │ │ ├── test_item.py │ │ ├── test_mark_all_as_completed.py │ │ ├── test_new_todo.py │ │ ├── test_persistence.py │ │ ├── test_routing.py │ │ └── utils.py │ └── requirements.txt ├── local-requirements.txt ├── meta.yaml ├── playwright/ │ ├── __init__.py │ ├── __main__.py │ ├── _impl/ │ │ ├── __init__.py │ │ ├── __pyinstaller/ │ │ │ ├── __init__.py │ │ │ ├── hook-playwright.async_api.py │ │ │ └── hook-playwright.sync_api.py │ │ ├── _api_structures.py │ │ ├── _artifact.py │ │ ├── _assertions.py │ │ ├── _async_base.py │ │ ├── _browser.py │ │ ├── _browser_context.py │ │ ├── _browser_type.py │ │ ├── _cdp_session.py │ │ ├── _clock.py │ │ ├── _connection.py │ │ ├── _console_message.py │ │ ├── _dialog.py │ │ ├── _download.py │ │ ├── _driver.py │ │ ├── _element_handle.py │ │ ├── _errors.py │ │ ├── _event_context_manager.py │ │ ├── _fetch.py │ │ ├── _file_chooser.py │ │ ├── _frame.py │ │ ├── _glob.py │ │ ├── _greenlets.py │ │ ├── _har_router.py │ │ ├── _helper.py │ │ ├── _impl_to_api_mapping.py │ │ ├── _input.py │ │ ├── _js_handle.py │ │ ├── _json_pipe.py │ │ ├── _local_utils.py │ │ ├── _locator.py │ │ ├── _map.py │ │ ├── _network.py │ │ ├── _object_factory.py │ │ ├── _page.py │ │ ├── _path_utils.py │ │ ├── _playwright.py │ │ ├── _selectors.py │ │ ├── _set_input_files_helpers.py │ │ ├── _str_utils.py │ │ ├── _stream.py │ │ ├── _sync_base.py │ │ ├── _tracing.py │ │ ├── _transport.py │ │ ├── _video.py │ │ ├── _waiter.py │ │ ├── _web_error.py │ │ └── _writable_stream.py │ ├── async_api/ │ │ ├── __init__.py │ │ ├── _context_manager.py │ │ └── _generated.py │ ├── py.typed │ └── sync_api/ │ ├── __init__.py │ ├── _context_manager.py │ └── _generated.py ├── pyproject.toml ├── requirements.txt ├── scripts/ │ ├── documentation_provider.py │ ├── example_async.py │ ├── example_sync.py │ ├── expected_api_mismatch.txt │ ├── generate_api.py │ ├── generate_async_api.py │ ├── generate_sync_api.py │ ├── update_api.sh │ └── update_versions.py ├── setup.cfg ├── setup.py ├── tests/ │ ├── __init__.py │ ├── assets/ │ │ ├── beforeunload.html │ │ ├── client-certificates/ │ │ │ ├── README.md │ │ │ ├── client/ │ │ │ │ ├── localhost/ │ │ │ │ │ ├── localhost.csr │ │ │ │ │ ├── localhost.ext │ │ │ │ │ ├── localhost.key │ │ │ │ │ └── localhost.pem │ │ │ │ ├── self-signed/ │ │ │ │ │ ├── cert.pem │ │ │ │ │ ├── csr.pem │ │ │ │ │ └── key.pem │ │ │ │ └── trusted/ │ │ │ │ ├── cert-legacy.pfx │ │ │ │ ├── cert.pem │ │ │ │ ├── cert.pfx │ │ │ │ ├── csr.pem │ │ │ │ └── key.pem │ │ │ ├── generate.sh │ │ │ └── server/ │ │ │ ├── server_cert.pem │ │ │ └── server_key.pem │ │ ├── client.py │ │ ├── consolelog.html │ │ ├── csp.html │ │ ├── dom.html │ │ ├── download-blob.html │ │ ├── drag-n-drop.html │ │ ├── dummy_bad_browser_executable.js │ │ ├── empty.html │ │ ├── error.html │ │ ├── es6/ │ │ │ ├── .eslintrc │ │ │ ├── es6import.js │ │ │ ├── es6module.js │ │ │ └── es6pathimport.js │ │ ├── extension-mv3-simple/ │ │ │ ├── content-script.js │ │ │ ├── index.js │ │ │ └── manifest.json │ │ ├── extension-mv3-with-logging/ │ │ │ ├── background.js │ │ │ ├── content.js │ │ │ └── manifest.json │ │ ├── file-to-upload-2.txt │ │ ├── file-to-upload.txt │ │ ├── frames/ │ │ │ ├── child-redirect.html │ │ │ ├── frame.html │ │ │ ├── frameset.html │ │ │ ├── nested-frames.html │ │ │ ├── one-frame.html │ │ │ ├── redirect-my-parent.html │ │ │ ├── script.js │ │ │ ├── style.css │ │ │ └── two-frames.html │ │ ├── geolocation.html │ │ ├── global-var.html │ │ ├── grid.html │ │ ├── har-fulfill.har │ │ ├── har-redirect.har │ │ ├── har-sha1-main-response.txt │ │ ├── har-sha1.har │ │ ├── har.html │ │ ├── headings.html │ │ ├── historyapi.html │ │ ├── injectedfile.js │ │ ├── injectedstyle.css │ │ ├── input/ │ │ │ ├── animating-button.html │ │ │ ├── button.html │ │ │ ├── checkbox.html │ │ │ ├── fileupload-multi.html │ │ │ ├── fileupload.html │ │ │ ├── folderupload.html │ │ │ ├── handle-locator.html │ │ │ ├── keyboard.html │ │ │ ├── mouse-helper.js │ │ │ ├── rotatedButton.html │ │ │ ├── scrollable.html │ │ │ ├── select.html │ │ │ ├── textarea.html │ │ │ └── touches.html │ │ ├── mobile.html │ │ ├── networkidle.html │ │ ├── networkidle.js │ │ ├── offscreenbuttons.html │ │ ├── one-style.css │ │ ├── one-style.html │ │ ├── playground.html │ │ ├── popup/ │ │ │ ├── popup.html │ │ │ └── window-open.html │ │ ├── react.html │ │ ├── sectionselectorengine.js │ │ ├── self-request.html │ │ ├── serviceworkers/ │ │ │ ├── empty/ │ │ │ │ ├── sw.html │ │ │ │ └── sw.js │ │ │ ├── fetch/ │ │ │ │ ├── style.css │ │ │ │ ├── sw.html │ │ │ │ └── sw.js │ │ │ └── fetchdummy/ │ │ │ ├── sw.html │ │ │ └── sw.js │ │ ├── shadow.html │ │ ├── simple.json │ │ ├── title.html │ │ ├── worker/ │ │ │ ├── worker.html │ │ │ └── worker.js │ │ └── wrappedlink.html │ ├── async/ │ │ ├── __init__.py │ │ ├── conftest.py │ │ ├── test_add_init_script.py │ │ ├── test_assertions.py │ │ ├── test_asyncio.py │ │ ├── test_browser.py │ │ ├── test_browsercontext.py │ │ ├── test_browsercontext_add_cookies.py │ │ ├── test_browsercontext_clearcookies.py │ │ ├── test_browsercontext_client_certificates.py │ │ ├── test_browsercontext_cookies.py │ │ ├── test_browsercontext_events.py │ │ ├── test_browsercontext_proxy.py │ │ ├── test_browsercontext_request_fallback.py │ │ ├── test_browsercontext_request_intercept.py │ │ ├── test_browsercontext_route.py │ │ ├── test_browsercontext_service_worker_policy.py │ │ ├── test_browsercontext_storage_state.py │ │ ├── test_browsertype_connect.py │ │ ├── test_browsertype_connect_cdp.py │ │ ├── test_cdp_session.py │ │ ├── test_check.py │ │ ├── test_chromium_tracing.py │ │ ├── test_click.py │ │ ├── test_console.py │ │ ├── test_context_manager.py │ │ ├── test_defaultbrowsercontext.py │ │ ├── test_device_descriptors.py │ │ ├── test_dialog.py │ │ ├── test_dispatch_event.py │ │ ├── test_download.py │ │ ├── test_element_handle.py │ │ ├── test_element_handle_wait_for_element_state.py │ │ ├── test_emulation_focus.py │ │ ├── test_expect_misc.py │ │ ├── test_extension.py │ │ ├── test_fetch_browser_context.py │ │ ├── test_fetch_global.py │ │ ├── test_fill.py │ │ ├── test_focus.py │ │ ├── test_frames.py │ │ ├── test_geolocation.py │ │ ├── test_har.py │ │ ├── test_headful.py │ │ ├── test_ignore_https_errors.py │ │ ├── test_input.py │ │ ├── test_issues.py │ │ ├── test_jshandle.py │ │ ├── test_keyboard.py │ │ ├── test_launcher.py │ │ ├── test_listeners.py │ │ ├── test_locators.py │ │ ├── test_navigation.py │ │ ├── test_network.py │ │ ├── test_page.py │ │ ├── test_page_add_locator_handler.py │ │ ├── test_page_aria_snapshot.py │ │ ├── test_page_base_url.py │ │ ├── test_page_clock.py │ │ ├── test_page_evaluate.py │ │ ├── test_page_event_console.py │ │ ├── test_page_event_pageerror.py │ │ ├── test_page_event_request.py │ │ ├── test_page_network_request.py │ │ ├── test_page_network_response.py │ │ ├── test_page_request_fallback.py │ │ ├── test_page_request_gc.py │ │ ├── test_page_request_intercept.py │ │ ├── test_page_route.py │ │ ├── test_page_select_option.py │ │ ├── test_pdf.py │ │ ├── test_popup.py │ │ ├── test_proxy.py │ │ ├── test_queryselector.py │ │ ├── test_request_continue.py │ │ ├── test_request_fulfill.py │ │ ├── test_request_intercept.py │ │ ├── test_resource_timing.py │ │ ├── test_route_web_socket.py │ │ ├── test_screenshot.py │ │ ├── test_selector_generator.py │ │ ├── test_selectors_get_by.py │ │ ├── test_selectors_misc.py │ │ ├── test_selectors_text.py │ │ ├── test_tap.py │ │ ├── test_tracing.py │ │ ├── test_unroute_behavior.py │ │ ├── test_video.py │ │ ├── test_wait_for_function.py │ │ ├── test_wait_for_url.py │ │ ├── test_websocket.py │ │ ├── test_worker.py │ │ └── utils.py │ ├── common/ │ │ ├── __init__.py │ │ ├── test_collect_handles.py │ │ ├── test_events.py │ │ ├── test_signals.py │ │ └── test_threads.py │ ├── conftest.py │ ├── server.py │ ├── sync/ │ │ ├── __init__.py │ │ ├── conftest.py │ │ ├── test_add_init_script.py │ │ ├── test_assertions.py │ │ ├── test_browser.py │ │ ├── test_browsercontext_client_certificates.py │ │ ├── test_browsercontext_events.py │ │ ├── test_browsercontext_request_fallback.py │ │ ├── test_browsercontext_request_intercept.py │ │ ├── test_browsercontext_service_worker_policy.py │ │ ├── test_browsercontext_storage_state.py │ │ ├── test_browsertype_connect.py │ │ ├── test_browsertype_connect_cdp.py │ │ ├── test_cdp_session.py │ │ ├── test_check.py │ │ ├── test_console.py │ │ ├── test_context_manager.py │ │ ├── test_element_handle.py │ │ ├── test_element_handle_wait_for_element_state.py │ │ ├── test_expect_misc.py │ │ ├── test_extension.py │ │ ├── test_fetch_browser_context.py │ │ ├── test_fetch_global.py │ │ ├── test_fill.py │ │ ├── test_har.py │ │ ├── test_input.py │ │ ├── test_launcher.py │ │ ├── test_listeners.py │ │ ├── test_locator_get_by.py │ │ ├── test_locators.py │ │ ├── test_network.py │ │ ├── test_page.py │ │ ├── test_page_add_locator_handler.py │ │ ├── test_page_aria_snapshot.py │ │ ├── test_page_clock.py │ │ ├── test_page_event_console.py │ │ ├── test_page_event_pageerror.py │ │ ├── test_page_event_request.py │ │ ├── test_page_network_response.py │ │ ├── test_page_request_fallback.py │ │ ├── test_page_request_gc.py │ │ ├── test_page_request_intercept.py │ │ ├── test_page_request_timeout.py │ │ ├── test_page_select_option.py │ │ ├── test_pdf.py │ │ ├── test_queryselector.py │ │ ├── test_request_fulfill.py │ │ ├── test_request_intercept.py │ │ ├── test_resource_timing.py │ │ ├── test_route_web_socket.py │ │ ├── test_selectors_misc.py │ │ ├── test_sync.py │ │ ├── test_tap.py │ │ ├── test_tracing.py │ │ ├── test_unroute_behavior.py │ │ ├── test_video.py │ │ └── utils.py │ ├── test_installation.py │ ├── test_reference_count_async.py │ ├── testserver/ │ │ ├── cert.pem │ │ └── key.pem │ └── utils.py └── utils/ ├── docker/ │ ├── .gitignore │ ├── Dockerfile.jammy │ ├── Dockerfile.noble │ ├── build.sh │ └── publish_docker.sh └── linting/ └── check_file_header.py