From e218a7f50da0497cb448680231530100aaaf595f Mon Sep 17 00:00:00 2001 From: Selenium CI Bot Date: Fri, 21 Mar 2025 22:24:33 +0000 Subject: [PATCH] [create-pull-request] automated change --- build/docs/doctrees/api.doctree | Bin 0 -> 105166 bytes .../common/selenium.common.exceptions.doctree | Bin 0 -> 411841 bytes build/docs/doctrees/environment.pickle | Bin 0 -> 2569289 bytes build/docs/doctrees/index.doctree | Bin 0 -> 28683 bytes ...ium.webdriver.common.action_chains.doctree | Bin 0 -> 111471 bytes ...iver.common.actions.action_builder.doctree | Bin 0 -> 57381 bytes ...driver.common.actions.input_device.doctree | Bin 0 -> 16567 bytes ...bdriver.common.actions.interaction.doctree | Bin 0 -> 18034 bytes ...bdriver.common.actions.key_actions.doctree | Bin 0 -> 22404 bytes ...webdriver.common.actions.key_input.doctree | Bin 0 -> 26353 bytes ...driver.common.actions.mouse_button.doctree | Bin 0 -> 14627 bytes ...ver.common.actions.pointer_actions.doctree | Bin 0 -> 57895 bytes ...river.common.actions.pointer_input.doctree | Bin 0 -> 29195 bytes ...river.common.actions.wheel_actions.doctree | Bin 0 -> 17325 bytes ...bdriver.common.actions.wheel_input.doctree | Bin 0 -> 42010 bytes .../selenium.webdriver.common.alert.doctree | Bin 0 -> 20060 bytes ...selenium.webdriver.common.bidi.cdp.doctree | Bin 0 -> 140220 bytes ...nium.webdriver.common.bidi.console.doctree | Bin 0 -> 11953 bytes ...enium.webdriver.common.bidi.script.doctree | Bin 0 -> 54080 bytes ...nium.webdriver.common.bidi.session.doctree | Bin 0 -> 11347 bytes .../selenium.webdriver.common.by.doctree | Bin 0 -> 34389 bytes ...driver.common.desired_capabilities.doctree | Bin 0 -> 28411 bytes ...ium.webdriver.common.driver_finder.doctree | Bin 0 -> 14258 bytes .../selenium.webdriver.common.keys.doctree | Bin 0 -> 96903 bytes .../selenium.webdriver.common.log.doctree | Bin 0 -> 26935 bytes .../selenium.webdriver.common.options.doctree | Bin 0 -> 342613 bytes ...ebdriver.common.print_page_options.doctree | Bin 0 -> 95593 bytes .../selenium.webdriver.common.proxy.doctree | Bin 0 -> 94898 bytes ....webdriver.common.selenium_manager.doctree | Bin 0 -> 12167 bytes .../selenium.webdriver.common.service.doctree | Bin 0 -> 40929 bytes ...selenium.webdriver.common.timeouts.doctree | Bin 0 -> 29418 bytes .../selenium.webdriver.common.utils.doctree | Bin 0 -> 42262 bytes ...river.common.virtual_authenticator.doctree | Bin 0 -> 599589 bytes .../selenium.webdriver.common.window.doctree | Bin 0 -> 10432 bytes .../selenium.webdriver.chrome.options.doctree | Bin 0 -> 138805 bytes ...webdriver.chrome.remote_connection.doctree | Bin 0 -> 53002 bytes .../selenium.webdriver.chrome.service.doctree | Bin 0 -> 40072 bytes ...elenium.webdriver.chrome.webdriver.doctree | Bin 0 -> 340149 bytes ...elenium.webdriver.chromium.options.doctree | Bin 0 -> 141305 bytes ...bdriver.chromium.remote_connection.doctree | Bin 0 -> 54893 bytes ...elenium.webdriver.chromium.service.doctree | Bin 0 -> 43124 bytes ...enium.webdriver.chromium.webdriver.doctree | Bin 0 -> 335974 bytes .../selenium.webdriver.edge.options.doctree | Bin 0 -> 140070 bytes ...m.webdriver.edge.remote_connection.doctree | Bin 0 -> 52534 bytes .../selenium.webdriver.edge.service.doctree | Bin 0 -> 43384 bytes .../selenium.webdriver.edge.webdriver.doctree | Bin 0 -> 339149 bytes ...m.webdriver.firefox.firefox_binary.doctree | Bin 0 -> 20604 bytes ....webdriver.firefox.firefox_profile.doctree | Bin 0 -> 33470 bytes ...selenium.webdriver.firefox.options.doctree | Bin 0 -> 130967 bytes ...ebdriver.firefox.remote_connection.doctree | Bin 0 -> 53221 bytes ...selenium.webdriver.firefox.service.doctree | Bin 0 -> 43697 bytes ...lenium.webdriver.firefox.webdriver.doctree | Bin 0 -> 340672 bytes .../selenium.webdriver.ie.options.doctree | Bin 0 -> 242175 bytes .../selenium.webdriver.ie.service.doctree | Bin 0 -> 43030 bytes .../selenium.webdriver.ie.webdriver.doctree | Bin 0 -> 308354 bytes ...m.webdriver.remote.bidi_connection.doctree | Bin 0 -> 8045 bytes .../selenium.webdriver.remote.command.doctree | Bin 0 -> 188357 bytes ...nium.webdriver.remote.errorhandler.doctree | Bin 0 -> 137029 bytes ...ium.webdriver.remote.file_detector.doctree | Bin 0 -> 26946 bytes .../selenium.webdriver.remote.mobile.doctree | Bin 0 -> 21875 bytes ...webdriver.remote.remote_connection.doctree | Bin 0 -> 59951 bytes ...lenium.webdriver.remote.script_key.doctree | Bin 0 -> 8827 bytes ...lenium.webdriver.remote.shadowroot.doctree | Bin 0 -> 27896 bytes ...elenium.webdriver.remote.switch_to.doctree | Bin 0 -> 32806 bytes .../selenium.webdriver.remote.utils.doctree | Bin 0 -> 11523 bytes ...elenium.webdriver.remote.webdriver.doctree | Bin 0 -> 347669 bytes ...lenium.webdriver.remote.webelement.doctree | Bin 0 -> 139467 bytes ...driver.remote.websocket_connection.doctree | Bin 0 -> 16061 bytes .../selenium.webdriver.safari.options.doctree | Bin 0 -> 132969 bytes ...enium.webdriver.safari.permissions.doctree | Bin 0 -> 9268 bytes ...webdriver.safari.remote_connection.doctree | Bin 0 -> 53002 bytes .../selenium.webdriver.safari.service.doctree | Bin 0 -> 44361 bytes ...elenium.webdriver.safari.webdriver.doctree | Bin 0 -> 314175 bytes ...er.support.abstract_event_listener.doctree | Bin 0 -> 50061 bytes .../selenium.webdriver.support.color.doctree | Bin 0 -> 19045 bytes ...ver.support.event_firing_webdriver.doctree | Bin 0 -> 54560 bytes .../selenium.webdriver.support.events.doctree | Bin 0 -> 3006 bytes ...driver.support.expected_conditions.doctree | Bin 0 -> 355651 bytes ...webdriver.support.relative_locator.doctree | Bin 0 -> 122756 bytes .../selenium.webdriver.support.select.doctree | Bin 0 -> 44252 bytes .../selenium.webdriver.support.ui.doctree | Bin 0 -> 79498 bytes .../selenium.webdriver.support.wait.doctree | Bin 0 -> 45052 bytes ...lenium.webdriver.webkitgtk.options.doctree | Bin 0 -> 119995 bytes ...lenium.webdriver.webkitgtk.service.doctree | Bin 0 -> 42102 bytes ...nium.webdriver.webkitgtk.webdriver.doctree | Bin 0 -> 308239 bytes ...lenium.webdriver.wpewebkit.options.doctree | Bin 0 -> 118400 bytes ...lenium.webdriver.wpewebkit.service.doctree | Bin 0 -> 40406 bytes ...nium.webdriver.wpewebkit.webdriver.doctree | Bin 0 -> 308356 bytes docs/api/py/.buildinfo | 2 +- docs/api/py/_modules/index.html | 259 +- .../_modules/selenium/common/exceptions.html | 576 +- .../selenium/webdriver/chrome/options.html | 280 +- .../webdriver/chrome/remote_connection.html | 275 +- .../selenium/webdriver/chrome/service.html | 275 +- .../selenium/webdriver/chrome/webdriver.html | 281 +- .../selenium/webdriver/chromium/options.html | 347 +- .../webdriver/chromium/remote_connection.html | 295 +- .../selenium/webdriver/chromium/service.html | 286 +- .../webdriver/chromium/webdriver.html | 424 +- .../webdriver/common/action_chains.html | 477 +- .../common/actions/action_builder.html | 367 +- .../common/actions/input_device.html | 292 +- .../webdriver/common/actions/interaction.html | 299 +- .../webdriver/common/actions/key_actions.html | 297 +- .../webdriver/common/actions/key_input.html | 311 +- .../common/actions/mouse_button.html | 271 +- .../common/actions/pointer_actions.html | 340 +- .../common/actions/pointer_input.html | 325 +- .../common/actions/wheel_actions.html | 285 +- .../webdriver/common/actions/wheel_input.html | 323 +- .../selenium/webdriver/common/alert.html | 316 +- .../selenium/webdriver/common/bidi/cdp.html | 594 +- .../webdriver/common/bidi/console.html | 277 +- .../webdriver/common/bidi/script.html | 354 +- .../webdriver/common/bidi/session.html | 292 +- .../selenium/webdriver/common/by.html | 330 +- .../common/desired_capabilities.html | 333 +- .../webdriver/common/driver_finder.html | 329 +- .../selenium/webdriver/common/keys.html | 395 +- .../selenium/webdriver/common/log.html | 369 +- .../selenium/webdriver/common/options.html | 662 +- .../webdriver/common/print_page_options.html | 548 +- .../selenium/webdriver/common/proxy.html | 580 +- .../webdriver/common/selenium_manager.html | 362 +- .../selenium/webdriver/common/service.html | 380 +- .../selenium/webdriver/common/timeouts.html | 327 +- .../selenium/webdriver/common/utils.html | 336 +- .../common/virtual_authenticator.html | 421 +- .../selenium/webdriver/common/window.html | 279 +- .../selenium/webdriver/edge/options.html | 284 +- .../webdriver/edge/remote_connection.html | 275 +- .../selenium/webdriver/edge/service.html | 277 +- .../selenium/webdriver/edge/webdriver.html | 281 +- .../webdriver/firefox/firefox_binary.html | 413 +- .../webdriver/firefox/firefox_profile.html | 487 +- .../selenium/webdriver/firefox/options.html | 342 +- .../webdriver/firefox/remote_connection.html | 283 +- .../selenium/webdriver/firefox/service.html | 290 +- .../selenium/webdriver/firefox/webdriver.html | 394 +- .../selenium/webdriver/ie/options.html | 554 +- .../selenium/webdriver/ie/service.html | 296 +- .../selenium/webdriver/ie/webdriver.html | 290 +- .../webdriver/remote/bidi_connection.html | 271 +- .../selenium/webdriver/remote/command.html | 459 +- .../webdriver/remote/errorhandler.html | 442 +- .../webdriver/remote/file_detector.html | 312 +- .../selenium/webdriver/remote/mobile.html | 294 +- .../webdriver/remote/remote_connection.html | 657 +- .../selenium/webdriver/remote/script_key.html | 273 +- .../selenium/webdriver/remote/shadowroot.html | 331 +- .../selenium/webdriver/remote/switch_to.html | 348 +- .../selenium/webdriver/remote/utils.html | 276 +- .../selenium/webdriver/remote/webdriver.html | 1298 ++-- .../selenium/webdriver/remote/webelement.html | 662 +- .../remote/websocket_connection.html | 323 +- .../selenium/webdriver/safari/options.html | 327 +- .../webdriver/safari/permissions.html | 277 +- .../webdriver/safari/remote_connection.html | 279 +- .../selenium/webdriver/safari/service.html | 292 +- .../selenium/webdriver/safari/webdriver.html | 313 +- .../support/abstract_event_listener.html | 370 +- .../selenium/webdriver/support/color.html | 614 +- .../support/event_firing_webdriver.html | 416 +- .../support/expected_conditions.html | 701 +- .../webdriver/support/relative_locator.html | 527 +- .../selenium/webdriver/support/select.html | 448 +- .../selenium/webdriver/support/wait.html | 325 +- .../selenium/webdriver/webkitgtk/options.html | 304 +- .../selenium/webdriver/webkitgtk/service.html | 290 +- .../webdriver/webkitgtk/webdriver.html | 288 +- .../selenium/webdriver/wpewebkit/options.html | 296 +- .../selenium/webdriver/wpewebkit/service.html | 284 +- .../webdriver/wpewebkit/webdriver.html | 288 +- .../common/selenium.common.exceptions.rst.txt | 19 +- docs/api/py/_sources/index.rst.txt | 77 +- ...ium.webdriver.common.action_chains.rst.txt | 19 +- ...iver.common.actions.action_builder.rst.txt | 19 +- ...driver.common.actions.input_device.rst.txt | 19 +- ...bdriver.common.actions.interaction.rst.txt | 19 +- ...bdriver.common.actions.key_actions.rst.txt | 19 +- ...webdriver.common.actions.key_input.rst.txt | 19 +- ...driver.common.actions.mouse_button.rst.txt | 19 +- ...ver.common.actions.pointer_actions.rst.txt | 19 +- ...river.common.actions.pointer_input.rst.txt | 19 +- ...river.common.actions.wheel_actions.rst.txt | 19 +- ...bdriver.common.actions.wheel_input.rst.txt | 19 +- .../selenium.webdriver.common.alert.rst.txt | 19 +- ...selenium.webdriver.common.bidi.cdp.rst.txt | 19 +- ...nium.webdriver.common.bidi.console.rst.txt | 19 +- ...enium.webdriver.common.bidi.script.rst.txt | 19 +- ...nium.webdriver.common.bidi.session.rst.txt | 19 +- .../selenium.webdriver.common.by.rst.txt | 19 +- ...driver.common.desired_capabilities.rst.txt | 19 +- ...ium.webdriver.common.driver_finder.rst.txt | 19 +- .../selenium.webdriver.common.keys.rst.txt | 19 +- .../selenium.webdriver.common.log.rst.txt | 19 +- .../selenium.webdriver.common.options.rst.txt | 19 +- ...ebdriver.common.print_page_options.rst.txt | 19 +- .../selenium.webdriver.common.proxy.rst.txt | 19 +- ....webdriver.common.selenium_manager.rst.txt | 19 +- .../selenium.webdriver.common.service.rst.txt | 19 +- ...selenium.webdriver.common.timeouts.rst.txt | 19 +- .../selenium.webdriver.common.utils.rst.txt | 19 +- ...river.common.virtual_authenticator.rst.txt | 19 +- .../selenium.webdriver.common.window.rst.txt | 19 +- .../selenium.webdriver.chrome.options.rst.txt | 19 +- ...webdriver.chrome.remote_connection.rst.txt | 19 +- .../selenium.webdriver.chrome.service.rst.txt | 19 +- ...elenium.webdriver.chrome.webdriver.rst.txt | 19 +- ...elenium.webdriver.chromium.options.rst.txt | 19 +- ...bdriver.chromium.remote_connection.rst.txt | 19 +- ...elenium.webdriver.chromium.service.rst.txt | 19 +- ...enium.webdriver.chromium.webdriver.rst.txt | 19 +- .../selenium.webdriver.edge.options.rst.txt | 19 +- ...m.webdriver.edge.remote_connection.rst.txt | 19 +- .../selenium.webdriver.edge.service.rst.txt | 19 +- .../selenium.webdriver.edge.webdriver.rst.txt | 19 +- ...m.webdriver.firefox.firefox_binary.rst.txt | 19 +- ....webdriver.firefox.firefox_profile.rst.txt | 19 +- ...selenium.webdriver.firefox.options.rst.txt | 19 +- ...ebdriver.firefox.remote_connection.rst.txt | 19 +- ...selenium.webdriver.firefox.service.rst.txt | 19 +- ...lenium.webdriver.firefox.webdriver.rst.txt | 19 +- .../selenium.webdriver.ie.options.rst.txt | 19 +- .../selenium.webdriver.ie.service.rst.txt | 19 +- .../selenium.webdriver.ie.webdriver.rst.txt | 19 +- ...m.webdriver.remote.bidi_connection.rst.txt | 19 +- .../selenium.webdriver.remote.command.rst.txt | 19 +- ...nium.webdriver.remote.errorhandler.rst.txt | 19 +- ...ium.webdriver.remote.file_detector.rst.txt | 19 +- .../selenium.webdriver.remote.mobile.rst.txt | 19 +- ...webdriver.remote.remote_connection.rst.txt | 19 +- ...lenium.webdriver.remote.script_key.rst.txt | 19 +- ...lenium.webdriver.remote.shadowroot.rst.txt | 19 +- ...elenium.webdriver.remote.switch_to.rst.txt | 19 +- .../selenium.webdriver.remote.utils.rst.txt | 19 +- ...elenium.webdriver.remote.webdriver.rst.txt | 19 +- ...lenium.webdriver.remote.webelement.rst.txt | 19 +- ...driver.remote.websocket_connection.rst.txt | 19 +- .../selenium.webdriver.safari.options.rst.txt | 19 +- ...enium.webdriver.safari.permissions.rst.txt | 19 +- ...webdriver.safari.remote_connection.rst.txt | 19 +- .../selenium.webdriver.safari.service.rst.txt | 19 +- ...elenium.webdriver.safari.webdriver.rst.txt | 19 +- ...er.support.abstract_event_listener.rst.txt | 19 +- .../selenium.webdriver.support.color.rst.txt | 19 +- ...ver.support.event_firing_webdriver.rst.txt | 19 +- .../selenium.webdriver.support.events.rst.txt | 19 +- ...driver.support.expected_conditions.rst.txt | 19 +- ...webdriver.support.relative_locator.rst.txt | 19 +- .../selenium.webdriver.support.select.rst.txt | 19 +- .../selenium.webdriver.support.ui.rst.txt | 19 +- .../selenium.webdriver.support.wait.rst.txt | 19 +- ...lenium.webdriver.webkitgtk.options.rst.txt | 19 +- ...lenium.webdriver.webkitgtk.service.rst.txt | 19 +- ...nium.webdriver.webkitgtk.webdriver.rst.txt | 19 +- ...lenium.webdriver.wpewebkit.options.rst.txt | 19 +- ...lenium.webdriver.wpewebkit.service.rst.txt | 19 +- ...nium.webdriver.wpewebkit.webdriver.rst.txt | 19 +- docs/api/py/_static/basic.css | 6 +- docs/api/py/_static/classic.css | 269 - docs/api/py/_static/default.css | 1 - docs/api/py/_static/doctools.js | 2 +- docs/api/py/_static/documentation_options.js | 5 +- docs/api/py/_static/fonts/font-awesome.css | 4 + docs/api/py/_static/fonts/material-icons.css | 13 + .../py/_static/fonts/specimen/FontAwesome.ttf | Bin 0 -> 165548 bytes .../_static/fonts/specimen/FontAwesome.woff | Bin 0 -> 98024 bytes .../_static/fonts/specimen/FontAwesome.woff2 | Bin 0 -> 77160 bytes .../fonts/specimen/MaterialIcons-Regular.ttf | Bin 0 -> 128180 bytes .../fonts/specimen/MaterialIcons-Regular.woff | Bin 0 -> 57620 bytes .../specimen/MaterialIcons-Regular.woff2 | Bin 0 -> 44300 bytes docs/api/py/_static/images/favicon.png | Bin 0 -> 521 bytes .../images/icons/bitbucket.1b09e088.svg | 1 + .../api/py/_static/images/icons/bitbucket.svg | 1 + .../_static/images/icons/github.f0b8504a.svg | 1 + docs/api/py/_static/images/icons/github.svg | 1 + .../_static/images/icons/gitlab.6dd19c00.svg | 1 + docs/api/py/_static/images/icons/gitlab.svg | 1 + .../api/py/_static/javascripts/application.js | 2540 +++++++ .../py/_static/javascripts/lunr/lunr.da.js | 1 + .../py/_static/javascripts/lunr/lunr.de.js | 1 + .../py/_static/javascripts/lunr/lunr.du.js | 1 + .../py/_static/javascripts/lunr/lunr.es.js | 1 + .../py/_static/javascripts/lunr/lunr.fi.js | 1 + .../py/_static/javascripts/lunr/lunr.fr.js | 1 + .../py/_static/javascripts/lunr/lunr.hu.js | 1 + .../py/_static/javascripts/lunr/lunr.it.js | 1 + .../py/_static/javascripts/lunr/lunr.ja.js | 1 + .../py/_static/javascripts/lunr/lunr.jp.js | 1 + .../py/_static/javascripts/lunr/lunr.multi.js | 1 + .../py/_static/javascripts/lunr/lunr.nl.js | 1 + .../py/_static/javascripts/lunr/lunr.no.js | 1 + .../py/_static/javascripts/lunr/lunr.pt.js | 1 + .../py/_static/javascripts/lunr/lunr.ro.js | 1 + .../py/_static/javascripts/lunr/lunr.ru.js | 1 + .../javascripts/lunr/lunr.stemmer.support.js | 1 + .../py/_static/javascripts/lunr/lunr.sv.js | 1 + .../py/_static/javascripts/lunr/lunr.th.js | 1 + .../py/_static/javascripts/lunr/lunr.tr.js | 1 + .../py/_static/javascripts/lunr/tinyseg.js | 1 + .../py/_static/javascripts/lunr/wordcut.js | 1 + docs/api/py/_static/javascripts/modernizr.js | 1 + .../_static/javascripts/version_dropdown.js | 29 + docs/api/py/_static/jquery.js | 2 + docs/api/py/_static/jquery.min.map | 1 + docs/api/py/_static/language_data.js | 4 +- docs/api/py/_static/material.css | 35 + docs/api/py/_static/searchtools.js | 196 +- docs/api/py/_static/selenium_logo_small.png | Bin 0 -> 647 bytes docs/api/py/_static/sidebar.js | 70 - docs/api/py/_static/sphinx_highlight.js | 16 +- .../_static/stylesheets/application-fixes.css | 423 ++ .../stylesheets/application-palette.css | 1352 ++++ .../py/_static/stylesheets/application.css | 2871 +++++++ docs/api/py/api.html | 339 +- .../py/common/selenium.common.exceptions.html | 1301 ++-- docs/api/py/genindex-A.html | 632 ++ docs/api/py/genindex-B.html | 402 + docs/api/py/genindex-C.html | 608 ++ docs/api/py/genindex-D.html | 454 ++ docs/api/py/genindex-E.html | 606 ++ docs/api/py/genindex-F.html | 568 ++ docs/api/py/genindex-G.html | 662 ++ docs/api/py/genindex-H.html | 248 + docs/api/py/genindex-I.html | 624 ++ docs/api/py/genindex-J.html | 258 + docs/api/py/genindex-K.html | 276 + docs/api/py/genindex-L.html | 356 + docs/api/py/genindex-M.html | 531 ++ docs/api/py/genindex-N.html | 368 + docs/api/py/genindex-O.html | 306 + docs/api/py/genindex-P.html | 502 ++ docs/api/py/genindex-Q.html | 258 + docs/api/py/genindex-R.html | 494 ++ docs/api/py/genindex-S.html | 1649 +++++ docs/api/py/genindex-T.html | 418 ++ docs/api/py/genindex-U.html | 400 + docs/api/py/genindex-V.html | 272 + docs/api/py/genindex-W.html | 442 ++ docs/api/py/genindex-X.html | 240 + docs/api/py/genindex-Y.html | 234 + docs/api/py/genindex-Z.html | 248 + docs/api/py/genindex-all.html | 6431 ++++++++++++++++ docs/api/py/genindex.html | 6568 +---------------- docs/api/py/index.html | 417 +- docs/api/py/objects.inv | Bin 19207 -> 19057 bytes docs/api/py/py-modindex.html | 259 +- docs/api/py/search.html | 274 +- docs/api/py/searchindex.js | 2 +- ...lenium.webdriver.common.action_chains.html | 421 +- ...bdriver.common.actions.action_builder.html | 395 +- ...webdriver.common.actions.input_device.html | 307 +- ....webdriver.common.actions.interaction.html | 317 +- ....webdriver.common.actions.key_actions.html | 319 +- ...um.webdriver.common.actions.key_input.html | 347 +- ...webdriver.common.actions.mouse_button.html | 319 +- ...driver.common.actions.pointer_actions.html | 361 +- ...ebdriver.common.actions.pointer_input.html | 343 +- ...ebdriver.common.actions.wheel_actions.html | 307 +- ....webdriver.common.actions.wheel_input.html | 359 +- .../selenium.webdriver.common.alert.html | 317 +- .../selenium.webdriver.common.bidi.cdp.html | 563 +- ...elenium.webdriver.common.bidi.console.html | 314 +- ...selenium.webdriver.common.bidi.script.html | 433 +- ...elenium.webdriver.common.bidi.session.html | 291 +- .../selenium.webdriver.common.by.html | 385 +- ...webdriver.common.desired_capabilities.html | 361 +- ...lenium.webdriver.common.driver_finder.html | 301 +- .../selenium.webdriver.common.keys.html | 679 +- .../selenium.webdriver.common.log.html | 333 +- .../selenium.webdriver.common.options.html | 1496 ++-- ...m.webdriver.common.print_page_options.html | 468 +- .../selenium.webdriver.common.proxy.html | 577 +- ...ium.webdriver.common.selenium_manager.html | 295 +- .../selenium.webdriver.common.service.html | 343 +- .../selenium.webdriver.common.timeouts.html | 319 +- .../selenium.webdriver.common.utils.html | 315 +- ...ebdriver.common.virtual_authenticator.html | 3253 ++++---- .../selenium.webdriver.common.window.html | 301 +- .../selenium.webdriver.chrome.options.html | 611 +- ...um.webdriver.chrome.remote_connection.html | 397 +- .../selenium.webdriver.chrome.service.html | 343 +- .../selenium.webdriver.chrome.webdriver.html | 1096 +-- .../selenium.webdriver.chromium.options.html | 611 +- ....webdriver.chromium.remote_connection.html | 397 +- .../selenium.webdriver.chromium.service.html | 343 +- ...selenium.webdriver.chromium.webdriver.html | 1096 +-- .../selenium.webdriver.edge.options.html | 617 +- ...nium.webdriver.edge.remote_connection.html | 397 +- .../selenium.webdriver.edge.service.html | 343 +- .../selenium.webdriver.edge.webdriver.html | 1096 +-- ...nium.webdriver.firefox.firefox_binary.html | 321 +- ...ium.webdriver.firefox.firefox_profile.html | 375 +- .../selenium.webdriver.firefox.options.html | 615 +- ...m.webdriver.firefox.remote_connection.html | 397 +- .../selenium.webdriver.firefox.service.html | 343 +- .../selenium.webdriver.firefox.webdriver.html | 1102 +-- .../selenium.webdriver.ie.options.html | 900 ++- .../selenium.webdriver.ie.service.html | 343 +- .../selenium.webdriver.ie.webdriver.html | 1034 +-- ...nium.webdriver.remote.bidi_connection.html | 285 +- .../selenium.webdriver.remote.command.html | 829 ++- ...elenium.webdriver.remote.errorhandler.html | 741 +- ...lenium.webdriver.remote.file_detector.html | 327 +- .../selenium.webdriver.remote.mobile.html | 343 +- ...um.webdriver.remote.remote_connection.html | 397 +- .../selenium.webdriver.remote.script_key.html | 295 +- .../selenium.webdriver.remote.shadowroot.html | 317 +- .../selenium.webdriver.remote.switch_to.html | 339 +- .../selenium.webdriver.remote.utils.html | 291 +- .../selenium.webdriver.remote.webdriver.html | 1118 +-- .../selenium.webdriver.remote.webelement.html | 605 +- ...webdriver.remote.websocket_connection.html | 319 +- .../selenium.webdriver.safari.options.html | 611 +- ...selenium.webdriver.safari.permissions.html | 295 +- ...um.webdriver.safari.remote_connection.html | 397 +- .../selenium.webdriver.safari.service.html | 349 +- .../selenium.webdriver.safari.webdriver.html | 1052 +-- ...river.support.abstract_event_listener.html | 403 +- .../selenium.webdriver.support.color.html | 319 +- ...driver.support.event_firing_webdriver.html | 401 +- .../selenium.webdriver.support.events.html | 267 +- ...webdriver.support.expected_conditions.html | 707 +- ...um.webdriver.support.relative_locator.html | 477 +- .../selenium.webdriver.support.select.html | 349 +- .../selenium.webdriver.support.ui.html | 393 +- .../selenium.webdriver.support.wait.html | 323 +- .../selenium.webdriver.webkitgtk.options.html | 581 +- .../selenium.webdriver.webkitgtk.service.html | 343 +- ...elenium.webdriver.webkitgtk.webdriver.html | 1034 +-- .../selenium.webdriver.wpewebkit.options.html | 575 +- .../selenium.webdriver.wpewebkit.service.html | 343 +- ...elenium.webdriver.wpewebkit.webdriver.html | 1034 +-- py/.tox/.pkg/file.lock | 0 .../common/selenium.common.exceptions.rst | 45 + ...elenium.webdriver.common.action_chains.rst | 12 + ...ebdriver.common.actions.action_builder.rst | 12 + ....webdriver.common.actions.input_device.rst | 12 + ...m.webdriver.common.actions.interaction.rst | 13 + ...m.webdriver.common.actions.key_actions.rst | 12 + ...ium.webdriver.common.actions.key_input.rst | 13 + ....webdriver.common.actions.mouse_button.rst | 12 + ...bdriver.common.actions.pointer_actions.rst | 12 + ...webdriver.common.actions.pointer_input.rst | 12 + ...webdriver.common.actions.wheel_actions.rst | 12 + ...m.webdriver.common.actions.wheel_input.rst | 13 + .../selenium.webdriver.common.alert.rst | 12 + .../selenium.webdriver.common.bidi.cdp.rst | 37 + ...selenium.webdriver.common.bidi.console.rst | 12 + .../selenium.webdriver.common.bidi.script.rst | 15 + ...selenium.webdriver.common.bidi.session.rst | 13 + .../selenium.webdriver.common.by.rst | 12 + ....webdriver.common.desired_capabilities.rst | 12 + ...elenium.webdriver.common.driver_finder.rst | 12 + .../selenium.webdriver.common.keys.rst | 12 + .../selenium.webdriver.common.log.rst | 18 + .../selenium.webdriver.common.options.rst | 14 + ...um.webdriver.common.print_page_options.rst | 12 + .../selenium.webdriver.common.proxy.rst | 14 + ...nium.webdriver.common.selenium_manager.rst | 12 + .../selenium.webdriver.common.service.rst | 12 + .../selenium.webdriver.common.timeouts.rst | 12 + .../selenium.webdriver.common.utils.rst | 17 + ...webdriver.common.virtual_authenticator.rst | 22 + .../selenium.webdriver.common.window.rst | 12 + .../selenium.webdriver.chrome.options.rst | 12 + ...ium.webdriver.chrome.remote_connection.rst | 12 + .../selenium.webdriver.chrome.service.rst | 12 + .../selenium.webdriver.chrome.webdriver.rst | 12 + .../selenium.webdriver.chromium.options.rst | 12 + ...m.webdriver.chromium.remote_connection.rst | 12 + .../selenium.webdriver.chromium.service.rst | 12 + .../selenium.webdriver.chromium.webdriver.rst | 12 + .../selenium.webdriver.edge.options.rst | 12 + ...enium.webdriver.edge.remote_connection.rst | 12 + .../selenium.webdriver.edge.service.rst | 12 + .../selenium.webdriver.edge.webdriver.rst | 12 + ...enium.webdriver.firefox.firefox_binary.rst | 12 + ...nium.webdriver.firefox.firefox_profile.rst | 18 + .../selenium.webdriver.firefox.options.rst | 13 + ...um.webdriver.firefox.remote_connection.rst | 12 + .../selenium.webdriver.firefox.service.rst | 12 + .../selenium.webdriver.firefox.webdriver.rst | 12 + .../selenium.webdriver.ie.options.rst | 13 + .../selenium.webdriver.ie.service.rst | 12 + .../selenium.webdriver.ie.webdriver.rst | 12 + ...enium.webdriver.remote.bidi_connection.rst | 12 + .../selenium.webdriver.remote.command.rst | 12 + ...selenium.webdriver.remote.errorhandler.rst | 14 + ...elenium.webdriver.remote.file_detector.rst | 14 + .../selenium.webdriver.remote.mobile.rst | 12 + ...ium.webdriver.remote.remote_connection.rst | 12 + .../selenium.webdriver.remote.script_key.rst | 12 + .../selenium.webdriver.remote.shadowroot.rst | 12 + .../selenium.webdriver.remote.switch_to.rst | 12 + .../selenium.webdriver.remote.utils.rst | 13 + .../selenium.webdriver.remote.webdriver.rst | 21 + .../selenium.webdriver.remote.webelement.rst | 13 + ....webdriver.remote.websocket_connection.rst | 12 + .../selenium.webdriver.safari.options.rst | 12 + .../selenium.webdriver.safari.permissions.rst | 12 + ...ium.webdriver.safari.remote_connection.rst | 12 + .../selenium.webdriver.safari.service.rst | 12 + .../selenium.webdriver.safari.webdriver.rst | 12 + ...driver.support.abstract_event_listener.rst | 12 + .../selenium.webdriver.support.color.rst | 12 + ...bdriver.support.event_firing_webdriver.rst | 13 + .../selenium.webdriver.support.events.rst | 6 + ....webdriver.support.expected_conditions.rst | 42 + ...ium.webdriver.support.relative_locator.rst | 19 + .../selenium.webdriver.support.select.rst | 12 + .../selenium.webdriver.support.ui.rst | 6 + .../selenium.webdriver.support.wait.rst | 12 + .../selenium.webdriver.webkitgtk.options.rst | 12 + .../selenium.webdriver.webkitgtk.service.rst | 12 + ...selenium.webdriver.webkitgtk.webdriver.rst | 12 + .../selenium.webdriver.wpewebkit.options.rst | 12 + .../selenium.webdriver.wpewebkit.service.rst | 12 + ...selenium.webdriver.wpewebkit.webdriver.rst | 12 + .../__pycache__/__init__.cpython-39.pyc | Bin 0 -> 172 bytes py/selenium/__pycache__/types.cpython-39.pyc | Bin 0 -> 455 bytes .../__pycache__/__init__.cpython-39.pyc | Bin 0 -> 1993 bytes .../__pycache__/exceptions.cpython-39.pyc | Bin 0 -> 12575 bytes .../__pycache__/__init__.cpython-39.pyc | Bin 0 -> 1654 bytes .../__pycache__/__init__.cpython-39.pyc | Bin 0 -> 167 bytes .../chrome/__pycache__/options.cpython-39.pyc | Bin 0 -> 1066 bytes .../remote_connection.cpython-39.pyc | Bin 0 -> 1101 bytes .../chrome/__pycache__/service.cpython-39.pyc | Bin 0 -> 1627 bytes .../__pycache__/webdriver.cpython-39.pyc | Bin 0 -> 1476 bytes .../__pycache__/__init__.cpython-39.pyc | Bin 0 -> 169 bytes .../__pycache__/options.cpython-39.pyc | Bin 0 -> 5137 bytes .../remote_connection.cpython-39.pyc | Bin 0 -> 2010 bytes .../__pycache__/service.cpython-39.pyc | Bin 0 -> 2168 bytes .../__pycache__/webdriver.cpython-39.pyc | Bin 0 -> 7370 bytes .../__pycache__/__init__.cpython-39.pyc | Bin 0 -> 167 bytes .../__pycache__/action_chains.cpython-39.pyc | Bin 0 -> 12727 bytes .../common/__pycache__/alert.cpython-39.pyc | Bin 0 -> 2430 bytes .../common/__pycache__/by.cpython-39.pyc | Bin 0 -> 2591 bytes .../desired_capabilities.cpython-39.pyc | Bin 0 -> 1878 bytes .../__pycache__/driver_finder.cpython-39.pyc | Bin 0 -> 2874 bytes .../common/__pycache__/keys.cpython-39.pyc | Bin 0 -> 1736 bytes .../common/__pycache__/log.cpython-39.pyc | Bin 0 -> 5066 bytes .../common/__pycache__/options.cpython-39.pyc | Bin 0 -> 10253 bytes .../print_page_options.cpython-39.pyc | Bin 0 -> 8249 bytes .../common/__pycache__/proxy.cpython-39.pyc | Bin 0 -> 4806 bytes .../selenium_manager.cpython-39.pyc | Bin 0 -> 4043 bytes .../common/__pycache__/service.cpython-39.pyc | Bin 0 -> 7740 bytes .../__pycache__/timeouts.cpython-39.pyc | Bin 0 -> 3020 bytes .../common/__pycache__/utils.cpython-39.pyc | Bin 0 -> 3799 bytes .../virtual_authenticator.cpython-39.pyc | Bin 0 -> 7603 bytes .../common/__pycache__/window.cpython-39.pyc | Bin 0 -> 445 bytes .../__pycache__/__init__.cpython-39.pyc | Bin 0 -> 175 bytes .../__pycache__/action_builder.cpython-39.pyc | Bin 0 -> 6723 bytes .../__pycache__/input_device.cpython-39.pyc | Bin 0 -> 1243 bytes .../__pycache__/interaction.cpython-39.pyc | Bin 0 -> 1369 bytes .../__pycache__/key_actions.cpython-39.pyc | Bin 0 -> 1918 bytes .../__pycache__/key_input.cpython-39.pyc | Bin 0 -> 2127 bytes .../__pycache__/mouse_button.cpython-39.pyc | Bin 0 -> 421 bytes .../pointer_actions.cpython-39.pyc | Bin 0 -> 4206 bytes .../__pycache__/pointer_input.cpython-39.pyc | Bin 0 -> 3127 bytes .../__pycache__/wheel_actions.cpython-39.pyc | Bin 0 -> 1101 bytes .../__pycache__/wheel_input.cpython-39.pyc | Bin 0 -> 2859 bytes .../bidi/__pycache__/__init__.cpython-39.pyc | Bin 0 -> 172 bytes .../bidi/__pycache__/cdp.cpython-39.pyc | Bin 0 -> 17173 bytes .../bidi/__pycache__/console.cpython-39.pyc | Bin 0 -> 410 bytes .../bidi/__pycache__/script.cpython-39.pyc | Bin 0 -> 3565 bytes .../bidi/__pycache__/session.cpython-39.pyc | Bin 0 -> 686 bytes .../fedcm/__pycache__/__init__.cpython-39.pyc | Bin 0 -> 173 bytes .../fedcm/__pycache__/account.cpython-39.pyc | Bin 0 -> 1942 bytes .../fedcm/__pycache__/dialog.cpython-39.pyc | Bin 0 -> 2349 bytes .../edge/__pycache__/__init__.cpython-39.pyc | Bin 0 -> 165 bytes .../edge/__pycache__/options.cpython-39.pyc | Bin 0 -> 1532 bytes .../remote_connection.cpython-39.pyc | Bin 0 -> 1093 bytes .../edge/__pycache__/service.cpython-39.pyc | Bin 0 -> 1831 bytes .../edge/__pycache__/webdriver.cpython-39.pyc | Bin 0 -> 1462 bytes .../__pycache__/__init__.cpython-39.pyc | Bin 0 -> 168 bytes .../__pycache__/firefox_binary.cpython-39.pyc | Bin 0 -> 6880 bytes .../firefox_profile.cpython-39.pyc | Bin 0 -> 10521 bytes .../__pycache__/options.cpython-39.pyc | Bin 0 -> 4323 bytes .../remote_connection.cpython-39.pyc | Bin 0 -> 1460 bytes .../__pycache__/service.cpython-39.pyc | Bin 0 -> 2122 bytes .../__pycache__/webdriver.cpython-39.pyc | Bin 0 -> 7174 bytes .../ie/__pycache__/__init__.cpython-39.pyc | Bin 0 -> 163 bytes .../ie/__pycache__/options.cpython-39.pyc | Bin 0 -> 6005 bytes .../ie/__pycache__/service.cpython-39.pyc | Bin 0 -> 1869 bytes .../ie/__pycache__/webdriver.cpython-39.pyc | Bin 0 -> 2189 bytes .../__pycache__/__init__.cpython-39.pyc | Bin 0 -> 167 bytes .../bidi_connection.cpython-39.pyc | Bin 0 -> 540 bytes .../__pycache__/client_config.cpython-39.pyc | Bin 0 -> 4327 bytes .../remote/__pycache__/command.cpython-39.pyc | Bin 0 -> 5600 bytes .../__pycache__/errorhandler.cpython-39.pyc | Bin 0 -> 6956 bytes .../remote/__pycache__/fedcm.cpython-39.pyc | Bin 0 -> 2936 bytes .../__pycache__/file_detector.cpython-39.pyc | Bin 0 -> 1785 bytes .../locator_converter.cpython-39.pyc | Bin 0 -> 688 bytes .../remote/__pycache__/mobile.cpython-39.pyc | Bin 0 -> 2756 bytes .../remote_connection.cpython-39.pyc | Bin 0 -> 17676 bytes .../__pycache__/script_key.cpython-39.pyc | Bin 0 -> 928 bytes .../__pycache__/shadowroot.cpython-39.pyc | Bin 0 -> 4639 bytes .../__pycache__/switch_to.cpython-39.pyc | Bin 0 -> 4802 bytes .../remote/__pycache__/utils.cpython-39.pyc | Bin 0 -> 555 bytes .../__pycache__/webdriver.cpython-39.pyc | Bin 0 -> 51964 bytes .../__pycache__/webelement.cpython-39.pyc | Bin 0 -> 22007 bytes .../websocket_connection.cpython-39.pyc | Bin 0 -> 4821 bytes .../__pycache__/__init__.cpython-39.pyc | Bin 0 -> 167 bytes .../safari/__pycache__/options.cpython-39.pyc | Bin 0 -> 2674 bytes .../__pycache__/permissions.cpython-39.pyc | Bin 0 -> 445 bytes .../remote_connection.cpython-39.pyc | Bin 0 -> 1317 bytes .../safari/__pycache__/service.cpython-39.pyc | Bin 0 -> 2632 bytes .../__pycache__/webdriver.cpython-39.pyc | Bin 0 -> 2892 bytes .../__pycache__/__init__.cpython-39.pyc | Bin 0 -> 168 bytes .../abstract_event_listener.cpython-39.pyc | Bin 0 -> 3471 bytes .../support/__pycache__/color.cpython-39.pyc | Bin 0 -> 10624 bytes .../event_firing_webdriver.cpython-39.pyc | Bin 0 -> 9444 bytes .../support/__pycache__/events.cpython-39.pyc | Bin 0 -> 302 bytes .../expected_conditions.cpython-39.pyc | Bin 0 -> 31907 bytes .../relative_locator.cpython-39.pyc | Bin 0 -> 11481 bytes .../support/__pycache__/select.cpython-39.pyc | Bin 0 -> 8307 bytes .../support/__pycache__/ui.cpython-39.pyc | Bin 0 -> 270 bytes .../support/__pycache__/wait.cpython-39.pyc | Bin 0 -> 6035 bytes .../__pycache__/__init__.cpython-39.pyc | Bin 0 -> 170 bytes .../__pycache__/options.cpython-39.pyc | Bin 0 -> 2294 bytes .../__pycache__/service.cpython-39.pyc | Bin 0 -> 2127 bytes .../__pycache__/webdriver.cpython-39.pyc | Bin 0 -> 1753 bytes .../__pycache__/__init__.cpython-39.pyc | Bin 0 -> 170 bytes .../__pycache__/options.cpython-39.pyc | Bin 0 -> 1903 bytes .../__pycache__/service.cpython-39.pyc | Bin 0 -> 1850 bytes .../__pycache__/webdriver.cpython-39.pyc | Bin 0 -> 1757 bytes 628 files changed, 79554 insertions(+), 34609 deletions(-) create mode 100644 build/docs/doctrees/api.doctree create mode 100644 build/docs/doctrees/common/selenium.common.exceptions.doctree create mode 100644 build/docs/doctrees/environment.pickle create mode 100644 build/docs/doctrees/index.doctree create mode 100644 build/docs/doctrees/webdriver/selenium.webdriver.common.action_chains.doctree create mode 100644 build/docs/doctrees/webdriver/selenium.webdriver.common.actions.action_builder.doctree create mode 100644 build/docs/doctrees/webdriver/selenium.webdriver.common.actions.input_device.doctree create mode 100644 build/docs/doctrees/webdriver/selenium.webdriver.common.actions.interaction.doctree create mode 100644 build/docs/doctrees/webdriver/selenium.webdriver.common.actions.key_actions.doctree create mode 100644 build/docs/doctrees/webdriver/selenium.webdriver.common.actions.key_input.doctree create mode 100644 build/docs/doctrees/webdriver/selenium.webdriver.common.actions.mouse_button.doctree create mode 100644 build/docs/doctrees/webdriver/selenium.webdriver.common.actions.pointer_actions.doctree create mode 100644 build/docs/doctrees/webdriver/selenium.webdriver.common.actions.pointer_input.doctree create mode 100644 build/docs/doctrees/webdriver/selenium.webdriver.common.actions.wheel_actions.doctree create mode 100644 build/docs/doctrees/webdriver/selenium.webdriver.common.actions.wheel_input.doctree create mode 100644 build/docs/doctrees/webdriver/selenium.webdriver.common.alert.doctree create mode 100644 build/docs/doctrees/webdriver/selenium.webdriver.common.bidi.cdp.doctree create mode 100644 build/docs/doctrees/webdriver/selenium.webdriver.common.bidi.console.doctree create mode 100644 build/docs/doctrees/webdriver/selenium.webdriver.common.bidi.script.doctree create mode 100644 build/docs/doctrees/webdriver/selenium.webdriver.common.bidi.session.doctree create mode 100644 build/docs/doctrees/webdriver/selenium.webdriver.common.by.doctree create mode 100644 build/docs/doctrees/webdriver/selenium.webdriver.common.desired_capabilities.doctree create mode 100644 build/docs/doctrees/webdriver/selenium.webdriver.common.driver_finder.doctree create mode 100644 build/docs/doctrees/webdriver/selenium.webdriver.common.keys.doctree create mode 100644 build/docs/doctrees/webdriver/selenium.webdriver.common.log.doctree create mode 100644 build/docs/doctrees/webdriver/selenium.webdriver.common.options.doctree create mode 100644 build/docs/doctrees/webdriver/selenium.webdriver.common.print_page_options.doctree create mode 100644 build/docs/doctrees/webdriver/selenium.webdriver.common.proxy.doctree create mode 100644 build/docs/doctrees/webdriver/selenium.webdriver.common.selenium_manager.doctree create mode 100644 build/docs/doctrees/webdriver/selenium.webdriver.common.service.doctree create mode 100644 build/docs/doctrees/webdriver/selenium.webdriver.common.timeouts.doctree create mode 100644 build/docs/doctrees/webdriver/selenium.webdriver.common.utils.doctree create mode 100644 build/docs/doctrees/webdriver/selenium.webdriver.common.virtual_authenticator.doctree create mode 100644 build/docs/doctrees/webdriver/selenium.webdriver.common.window.doctree create mode 100644 build/docs/doctrees/webdriver_chrome/selenium.webdriver.chrome.options.doctree create mode 100644 build/docs/doctrees/webdriver_chrome/selenium.webdriver.chrome.remote_connection.doctree create mode 100644 build/docs/doctrees/webdriver_chrome/selenium.webdriver.chrome.service.doctree create mode 100644 build/docs/doctrees/webdriver_chrome/selenium.webdriver.chrome.webdriver.doctree create mode 100644 build/docs/doctrees/webdriver_chromium/selenium.webdriver.chromium.options.doctree create mode 100644 build/docs/doctrees/webdriver_chromium/selenium.webdriver.chromium.remote_connection.doctree create mode 100644 build/docs/doctrees/webdriver_chromium/selenium.webdriver.chromium.service.doctree create mode 100644 build/docs/doctrees/webdriver_chromium/selenium.webdriver.chromium.webdriver.doctree create mode 100644 build/docs/doctrees/webdriver_edge/selenium.webdriver.edge.options.doctree create mode 100644 build/docs/doctrees/webdriver_edge/selenium.webdriver.edge.remote_connection.doctree create mode 100644 build/docs/doctrees/webdriver_edge/selenium.webdriver.edge.service.doctree create mode 100644 build/docs/doctrees/webdriver_edge/selenium.webdriver.edge.webdriver.doctree create mode 100644 build/docs/doctrees/webdriver_firefox/selenium.webdriver.firefox.firefox_binary.doctree create mode 100644 build/docs/doctrees/webdriver_firefox/selenium.webdriver.firefox.firefox_profile.doctree create mode 100644 build/docs/doctrees/webdriver_firefox/selenium.webdriver.firefox.options.doctree create mode 100644 build/docs/doctrees/webdriver_firefox/selenium.webdriver.firefox.remote_connection.doctree create mode 100644 build/docs/doctrees/webdriver_firefox/selenium.webdriver.firefox.service.doctree create mode 100644 build/docs/doctrees/webdriver_firefox/selenium.webdriver.firefox.webdriver.doctree create mode 100644 build/docs/doctrees/webdriver_ie/selenium.webdriver.ie.options.doctree create mode 100644 build/docs/doctrees/webdriver_ie/selenium.webdriver.ie.service.doctree create mode 100644 build/docs/doctrees/webdriver_ie/selenium.webdriver.ie.webdriver.doctree create mode 100644 build/docs/doctrees/webdriver_remote/selenium.webdriver.remote.bidi_connection.doctree create mode 100644 build/docs/doctrees/webdriver_remote/selenium.webdriver.remote.command.doctree create mode 100644 build/docs/doctrees/webdriver_remote/selenium.webdriver.remote.errorhandler.doctree create mode 100644 build/docs/doctrees/webdriver_remote/selenium.webdriver.remote.file_detector.doctree create mode 100644 build/docs/doctrees/webdriver_remote/selenium.webdriver.remote.mobile.doctree create mode 100644 build/docs/doctrees/webdriver_remote/selenium.webdriver.remote.remote_connection.doctree create mode 100644 build/docs/doctrees/webdriver_remote/selenium.webdriver.remote.script_key.doctree create mode 100644 build/docs/doctrees/webdriver_remote/selenium.webdriver.remote.shadowroot.doctree create mode 100644 build/docs/doctrees/webdriver_remote/selenium.webdriver.remote.switch_to.doctree create mode 100644 build/docs/doctrees/webdriver_remote/selenium.webdriver.remote.utils.doctree create mode 100644 build/docs/doctrees/webdriver_remote/selenium.webdriver.remote.webdriver.doctree create mode 100644 build/docs/doctrees/webdriver_remote/selenium.webdriver.remote.webelement.doctree create mode 100644 build/docs/doctrees/webdriver_remote/selenium.webdriver.remote.websocket_connection.doctree create mode 100644 build/docs/doctrees/webdriver_safari/selenium.webdriver.safari.options.doctree create mode 100644 build/docs/doctrees/webdriver_safari/selenium.webdriver.safari.permissions.doctree create mode 100644 build/docs/doctrees/webdriver_safari/selenium.webdriver.safari.remote_connection.doctree create mode 100644 build/docs/doctrees/webdriver_safari/selenium.webdriver.safari.service.doctree create mode 100644 build/docs/doctrees/webdriver_safari/selenium.webdriver.safari.webdriver.doctree create mode 100644 build/docs/doctrees/webdriver_support/selenium.webdriver.support.abstract_event_listener.doctree create mode 100644 build/docs/doctrees/webdriver_support/selenium.webdriver.support.color.doctree create mode 100644 build/docs/doctrees/webdriver_support/selenium.webdriver.support.event_firing_webdriver.doctree create mode 100644 build/docs/doctrees/webdriver_support/selenium.webdriver.support.events.doctree create mode 100644 build/docs/doctrees/webdriver_support/selenium.webdriver.support.expected_conditions.doctree create mode 100644 build/docs/doctrees/webdriver_support/selenium.webdriver.support.relative_locator.doctree create mode 100644 build/docs/doctrees/webdriver_support/selenium.webdriver.support.select.doctree create mode 100644 build/docs/doctrees/webdriver_support/selenium.webdriver.support.ui.doctree create mode 100644 build/docs/doctrees/webdriver_support/selenium.webdriver.support.wait.doctree create mode 100644 build/docs/doctrees/webdriver_webkitgtk/selenium.webdriver.webkitgtk.options.doctree create mode 100644 build/docs/doctrees/webdriver_webkitgtk/selenium.webdriver.webkitgtk.service.doctree create mode 100644 build/docs/doctrees/webdriver_webkitgtk/selenium.webdriver.webkitgtk.webdriver.doctree create mode 100644 build/docs/doctrees/webdriver_wpewebkit/selenium.webdriver.wpewebkit.options.doctree create mode 100644 build/docs/doctrees/webdriver_wpewebkit/selenium.webdriver.wpewebkit.service.doctree create mode 100644 build/docs/doctrees/webdriver_wpewebkit/selenium.webdriver.wpewebkit.webdriver.doctree delete mode 100644 docs/api/py/_static/classic.css delete mode 100644 docs/api/py/_static/default.css create mode 100644 docs/api/py/_static/fonts/font-awesome.css create mode 100644 docs/api/py/_static/fonts/material-icons.css create mode 100644 docs/api/py/_static/fonts/specimen/FontAwesome.ttf create mode 100644 docs/api/py/_static/fonts/specimen/FontAwesome.woff create mode 100644 docs/api/py/_static/fonts/specimen/FontAwesome.woff2 create mode 100644 docs/api/py/_static/fonts/specimen/MaterialIcons-Regular.ttf create mode 100644 docs/api/py/_static/fonts/specimen/MaterialIcons-Regular.woff create mode 100644 docs/api/py/_static/fonts/specimen/MaterialIcons-Regular.woff2 create mode 100644 docs/api/py/_static/images/favicon.png create mode 100644 docs/api/py/_static/images/icons/bitbucket.1b09e088.svg create mode 100644 docs/api/py/_static/images/icons/bitbucket.svg create mode 100644 docs/api/py/_static/images/icons/github.f0b8504a.svg create mode 100644 docs/api/py/_static/images/icons/github.svg create mode 100644 docs/api/py/_static/images/icons/gitlab.6dd19c00.svg create mode 100644 docs/api/py/_static/images/icons/gitlab.svg create mode 100644 docs/api/py/_static/javascripts/application.js create mode 100644 docs/api/py/_static/javascripts/lunr/lunr.da.js create mode 100644 docs/api/py/_static/javascripts/lunr/lunr.de.js create mode 100644 docs/api/py/_static/javascripts/lunr/lunr.du.js create mode 100644 docs/api/py/_static/javascripts/lunr/lunr.es.js create mode 100644 docs/api/py/_static/javascripts/lunr/lunr.fi.js create mode 100644 docs/api/py/_static/javascripts/lunr/lunr.fr.js create mode 100644 docs/api/py/_static/javascripts/lunr/lunr.hu.js create mode 100644 docs/api/py/_static/javascripts/lunr/lunr.it.js create mode 100644 docs/api/py/_static/javascripts/lunr/lunr.ja.js create mode 100644 docs/api/py/_static/javascripts/lunr/lunr.jp.js create mode 100644 docs/api/py/_static/javascripts/lunr/lunr.multi.js create mode 100644 docs/api/py/_static/javascripts/lunr/lunr.nl.js create mode 100644 docs/api/py/_static/javascripts/lunr/lunr.no.js create mode 100644 docs/api/py/_static/javascripts/lunr/lunr.pt.js create mode 100644 docs/api/py/_static/javascripts/lunr/lunr.ro.js create mode 100644 docs/api/py/_static/javascripts/lunr/lunr.ru.js create mode 100644 docs/api/py/_static/javascripts/lunr/lunr.stemmer.support.js create mode 100644 docs/api/py/_static/javascripts/lunr/lunr.sv.js create mode 100644 docs/api/py/_static/javascripts/lunr/lunr.th.js create mode 100644 docs/api/py/_static/javascripts/lunr/lunr.tr.js create mode 100644 docs/api/py/_static/javascripts/lunr/tinyseg.js create mode 100644 docs/api/py/_static/javascripts/lunr/wordcut.js create mode 100644 docs/api/py/_static/javascripts/modernizr.js create mode 100644 docs/api/py/_static/javascripts/version_dropdown.js create mode 100644 docs/api/py/_static/jquery.js create mode 100644 docs/api/py/_static/jquery.min.map create mode 100644 docs/api/py/_static/material.css create mode 100644 docs/api/py/_static/selenium_logo_small.png delete mode 100644 docs/api/py/_static/sidebar.js create mode 100644 docs/api/py/_static/stylesheets/application-fixes.css create mode 100644 docs/api/py/_static/stylesheets/application-palette.css create mode 100644 docs/api/py/_static/stylesheets/application.css create mode 100644 docs/api/py/genindex-A.html create mode 100644 docs/api/py/genindex-B.html create mode 100644 docs/api/py/genindex-C.html create mode 100644 docs/api/py/genindex-D.html create mode 100644 docs/api/py/genindex-E.html create mode 100644 docs/api/py/genindex-F.html create mode 100644 docs/api/py/genindex-G.html create mode 100644 docs/api/py/genindex-H.html create mode 100644 docs/api/py/genindex-I.html create mode 100644 docs/api/py/genindex-J.html create mode 100644 docs/api/py/genindex-K.html create mode 100644 docs/api/py/genindex-L.html create mode 100644 docs/api/py/genindex-M.html create mode 100644 docs/api/py/genindex-N.html create mode 100644 docs/api/py/genindex-O.html create mode 100644 docs/api/py/genindex-P.html create mode 100644 docs/api/py/genindex-Q.html create mode 100644 docs/api/py/genindex-R.html create mode 100644 docs/api/py/genindex-S.html create mode 100644 docs/api/py/genindex-T.html create mode 100644 docs/api/py/genindex-U.html create mode 100644 docs/api/py/genindex-V.html create mode 100644 docs/api/py/genindex-W.html create mode 100644 docs/api/py/genindex-X.html create mode 100644 docs/api/py/genindex-Y.html create mode 100644 docs/api/py/genindex-Z.html create mode 100644 docs/api/py/genindex-all.html create mode 100644 py/.tox/.pkg/file.lock create mode 100644 py/docs/source/common/selenium.common.exceptions.rst create mode 100644 py/docs/source/webdriver/selenium.webdriver.common.action_chains.rst create mode 100644 py/docs/source/webdriver/selenium.webdriver.common.actions.action_builder.rst create mode 100644 py/docs/source/webdriver/selenium.webdriver.common.actions.input_device.rst create mode 100644 py/docs/source/webdriver/selenium.webdriver.common.actions.interaction.rst create mode 100644 py/docs/source/webdriver/selenium.webdriver.common.actions.key_actions.rst create mode 100644 py/docs/source/webdriver/selenium.webdriver.common.actions.key_input.rst create mode 100644 py/docs/source/webdriver/selenium.webdriver.common.actions.mouse_button.rst create mode 100644 py/docs/source/webdriver/selenium.webdriver.common.actions.pointer_actions.rst create mode 100644 py/docs/source/webdriver/selenium.webdriver.common.actions.pointer_input.rst create mode 100644 py/docs/source/webdriver/selenium.webdriver.common.actions.wheel_actions.rst create mode 100644 py/docs/source/webdriver/selenium.webdriver.common.actions.wheel_input.rst create mode 100644 py/docs/source/webdriver/selenium.webdriver.common.alert.rst create mode 100644 py/docs/source/webdriver/selenium.webdriver.common.bidi.cdp.rst create mode 100644 py/docs/source/webdriver/selenium.webdriver.common.bidi.console.rst create mode 100644 py/docs/source/webdriver/selenium.webdriver.common.bidi.script.rst create mode 100644 py/docs/source/webdriver/selenium.webdriver.common.bidi.session.rst create mode 100644 py/docs/source/webdriver/selenium.webdriver.common.by.rst create mode 100644 py/docs/source/webdriver/selenium.webdriver.common.desired_capabilities.rst create mode 100644 py/docs/source/webdriver/selenium.webdriver.common.driver_finder.rst create mode 100644 py/docs/source/webdriver/selenium.webdriver.common.keys.rst create mode 100644 py/docs/source/webdriver/selenium.webdriver.common.log.rst create mode 100644 py/docs/source/webdriver/selenium.webdriver.common.options.rst create mode 100644 py/docs/source/webdriver/selenium.webdriver.common.print_page_options.rst create mode 100644 py/docs/source/webdriver/selenium.webdriver.common.proxy.rst create mode 100644 py/docs/source/webdriver/selenium.webdriver.common.selenium_manager.rst create mode 100644 py/docs/source/webdriver/selenium.webdriver.common.service.rst create mode 100644 py/docs/source/webdriver/selenium.webdriver.common.timeouts.rst create mode 100644 py/docs/source/webdriver/selenium.webdriver.common.utils.rst create mode 100644 py/docs/source/webdriver/selenium.webdriver.common.virtual_authenticator.rst create mode 100644 py/docs/source/webdriver/selenium.webdriver.common.window.rst create mode 100644 py/docs/source/webdriver_chrome/selenium.webdriver.chrome.options.rst create mode 100644 py/docs/source/webdriver_chrome/selenium.webdriver.chrome.remote_connection.rst create mode 100644 py/docs/source/webdriver_chrome/selenium.webdriver.chrome.service.rst create mode 100644 py/docs/source/webdriver_chrome/selenium.webdriver.chrome.webdriver.rst create mode 100644 py/docs/source/webdriver_chromium/selenium.webdriver.chromium.options.rst create mode 100644 py/docs/source/webdriver_chromium/selenium.webdriver.chromium.remote_connection.rst create mode 100644 py/docs/source/webdriver_chromium/selenium.webdriver.chromium.service.rst create mode 100644 py/docs/source/webdriver_chromium/selenium.webdriver.chromium.webdriver.rst create mode 100644 py/docs/source/webdriver_edge/selenium.webdriver.edge.options.rst create mode 100644 py/docs/source/webdriver_edge/selenium.webdriver.edge.remote_connection.rst create mode 100644 py/docs/source/webdriver_edge/selenium.webdriver.edge.service.rst create mode 100644 py/docs/source/webdriver_edge/selenium.webdriver.edge.webdriver.rst create mode 100644 py/docs/source/webdriver_firefox/selenium.webdriver.firefox.firefox_binary.rst create mode 100644 py/docs/source/webdriver_firefox/selenium.webdriver.firefox.firefox_profile.rst create mode 100644 py/docs/source/webdriver_firefox/selenium.webdriver.firefox.options.rst create mode 100644 py/docs/source/webdriver_firefox/selenium.webdriver.firefox.remote_connection.rst create mode 100644 py/docs/source/webdriver_firefox/selenium.webdriver.firefox.service.rst create mode 100644 py/docs/source/webdriver_firefox/selenium.webdriver.firefox.webdriver.rst create mode 100644 py/docs/source/webdriver_ie/selenium.webdriver.ie.options.rst create mode 100644 py/docs/source/webdriver_ie/selenium.webdriver.ie.service.rst create mode 100644 py/docs/source/webdriver_ie/selenium.webdriver.ie.webdriver.rst create mode 100644 py/docs/source/webdriver_remote/selenium.webdriver.remote.bidi_connection.rst create mode 100644 py/docs/source/webdriver_remote/selenium.webdriver.remote.command.rst create mode 100644 py/docs/source/webdriver_remote/selenium.webdriver.remote.errorhandler.rst create mode 100644 py/docs/source/webdriver_remote/selenium.webdriver.remote.file_detector.rst create mode 100644 py/docs/source/webdriver_remote/selenium.webdriver.remote.mobile.rst create mode 100644 py/docs/source/webdriver_remote/selenium.webdriver.remote.remote_connection.rst create mode 100644 py/docs/source/webdriver_remote/selenium.webdriver.remote.script_key.rst create mode 100644 py/docs/source/webdriver_remote/selenium.webdriver.remote.shadowroot.rst create mode 100644 py/docs/source/webdriver_remote/selenium.webdriver.remote.switch_to.rst create mode 100644 py/docs/source/webdriver_remote/selenium.webdriver.remote.utils.rst create mode 100644 py/docs/source/webdriver_remote/selenium.webdriver.remote.webdriver.rst create mode 100644 py/docs/source/webdriver_remote/selenium.webdriver.remote.webelement.rst create mode 100644 py/docs/source/webdriver_remote/selenium.webdriver.remote.websocket_connection.rst create mode 100644 py/docs/source/webdriver_safari/selenium.webdriver.safari.options.rst create mode 100644 py/docs/source/webdriver_safari/selenium.webdriver.safari.permissions.rst create mode 100644 py/docs/source/webdriver_safari/selenium.webdriver.safari.remote_connection.rst create mode 100644 py/docs/source/webdriver_safari/selenium.webdriver.safari.service.rst create mode 100644 py/docs/source/webdriver_safari/selenium.webdriver.safari.webdriver.rst create mode 100644 py/docs/source/webdriver_support/selenium.webdriver.support.abstract_event_listener.rst create mode 100644 py/docs/source/webdriver_support/selenium.webdriver.support.color.rst create mode 100644 py/docs/source/webdriver_support/selenium.webdriver.support.event_firing_webdriver.rst create mode 100644 py/docs/source/webdriver_support/selenium.webdriver.support.events.rst create mode 100644 py/docs/source/webdriver_support/selenium.webdriver.support.expected_conditions.rst create mode 100644 py/docs/source/webdriver_support/selenium.webdriver.support.relative_locator.rst create mode 100644 py/docs/source/webdriver_support/selenium.webdriver.support.select.rst create mode 100644 py/docs/source/webdriver_support/selenium.webdriver.support.ui.rst create mode 100644 py/docs/source/webdriver_support/selenium.webdriver.support.wait.rst create mode 100644 py/docs/source/webdriver_webkitgtk/selenium.webdriver.webkitgtk.options.rst create mode 100644 py/docs/source/webdriver_webkitgtk/selenium.webdriver.webkitgtk.service.rst create mode 100644 py/docs/source/webdriver_webkitgtk/selenium.webdriver.webkitgtk.webdriver.rst create mode 100644 py/docs/source/webdriver_wpewebkit/selenium.webdriver.wpewebkit.options.rst create mode 100644 py/docs/source/webdriver_wpewebkit/selenium.webdriver.wpewebkit.service.rst create mode 100644 py/docs/source/webdriver_wpewebkit/selenium.webdriver.wpewebkit.webdriver.rst create mode 100644 py/selenium/__pycache__/__init__.cpython-39.pyc create mode 100644 py/selenium/__pycache__/types.cpython-39.pyc create mode 100644 py/selenium/common/__pycache__/__init__.cpython-39.pyc create mode 100644 py/selenium/common/__pycache__/exceptions.cpython-39.pyc create mode 100644 py/selenium/webdriver/__pycache__/__init__.cpython-39.pyc create mode 100644 py/selenium/webdriver/chrome/__pycache__/__init__.cpython-39.pyc create mode 100644 py/selenium/webdriver/chrome/__pycache__/options.cpython-39.pyc create mode 100644 py/selenium/webdriver/chrome/__pycache__/remote_connection.cpython-39.pyc create mode 100644 py/selenium/webdriver/chrome/__pycache__/service.cpython-39.pyc create mode 100644 py/selenium/webdriver/chrome/__pycache__/webdriver.cpython-39.pyc create mode 100644 py/selenium/webdriver/chromium/__pycache__/__init__.cpython-39.pyc create mode 100644 py/selenium/webdriver/chromium/__pycache__/options.cpython-39.pyc create mode 100644 py/selenium/webdriver/chromium/__pycache__/remote_connection.cpython-39.pyc create mode 100644 py/selenium/webdriver/chromium/__pycache__/service.cpython-39.pyc create mode 100644 py/selenium/webdriver/chromium/__pycache__/webdriver.cpython-39.pyc create mode 100644 py/selenium/webdriver/common/__pycache__/__init__.cpython-39.pyc create mode 100644 py/selenium/webdriver/common/__pycache__/action_chains.cpython-39.pyc create mode 100644 py/selenium/webdriver/common/__pycache__/alert.cpython-39.pyc create mode 100644 py/selenium/webdriver/common/__pycache__/by.cpython-39.pyc create mode 100644 py/selenium/webdriver/common/__pycache__/desired_capabilities.cpython-39.pyc create mode 100644 py/selenium/webdriver/common/__pycache__/driver_finder.cpython-39.pyc create mode 100644 py/selenium/webdriver/common/__pycache__/keys.cpython-39.pyc create mode 100644 py/selenium/webdriver/common/__pycache__/log.cpython-39.pyc create mode 100644 py/selenium/webdriver/common/__pycache__/options.cpython-39.pyc create mode 100644 py/selenium/webdriver/common/__pycache__/print_page_options.cpython-39.pyc create mode 100644 py/selenium/webdriver/common/__pycache__/proxy.cpython-39.pyc create mode 100644 py/selenium/webdriver/common/__pycache__/selenium_manager.cpython-39.pyc create mode 100644 py/selenium/webdriver/common/__pycache__/service.cpython-39.pyc create mode 100644 py/selenium/webdriver/common/__pycache__/timeouts.cpython-39.pyc create mode 100644 py/selenium/webdriver/common/__pycache__/utils.cpython-39.pyc create mode 100644 py/selenium/webdriver/common/__pycache__/virtual_authenticator.cpython-39.pyc create mode 100644 py/selenium/webdriver/common/__pycache__/window.cpython-39.pyc create mode 100644 py/selenium/webdriver/common/actions/__pycache__/__init__.cpython-39.pyc create mode 100644 py/selenium/webdriver/common/actions/__pycache__/action_builder.cpython-39.pyc create mode 100644 py/selenium/webdriver/common/actions/__pycache__/input_device.cpython-39.pyc create mode 100644 py/selenium/webdriver/common/actions/__pycache__/interaction.cpython-39.pyc create mode 100644 py/selenium/webdriver/common/actions/__pycache__/key_actions.cpython-39.pyc create mode 100644 py/selenium/webdriver/common/actions/__pycache__/key_input.cpython-39.pyc create mode 100644 py/selenium/webdriver/common/actions/__pycache__/mouse_button.cpython-39.pyc create mode 100644 py/selenium/webdriver/common/actions/__pycache__/pointer_actions.cpython-39.pyc create mode 100644 py/selenium/webdriver/common/actions/__pycache__/pointer_input.cpython-39.pyc create mode 100644 py/selenium/webdriver/common/actions/__pycache__/wheel_actions.cpython-39.pyc create mode 100644 py/selenium/webdriver/common/actions/__pycache__/wheel_input.cpython-39.pyc create mode 100644 py/selenium/webdriver/common/bidi/__pycache__/__init__.cpython-39.pyc create mode 100644 py/selenium/webdriver/common/bidi/__pycache__/cdp.cpython-39.pyc create mode 100644 py/selenium/webdriver/common/bidi/__pycache__/console.cpython-39.pyc create mode 100644 py/selenium/webdriver/common/bidi/__pycache__/script.cpython-39.pyc create mode 100644 py/selenium/webdriver/common/bidi/__pycache__/session.cpython-39.pyc create mode 100644 py/selenium/webdriver/common/fedcm/__pycache__/__init__.cpython-39.pyc create mode 100644 py/selenium/webdriver/common/fedcm/__pycache__/account.cpython-39.pyc create mode 100644 py/selenium/webdriver/common/fedcm/__pycache__/dialog.cpython-39.pyc create mode 100644 py/selenium/webdriver/edge/__pycache__/__init__.cpython-39.pyc create mode 100644 py/selenium/webdriver/edge/__pycache__/options.cpython-39.pyc create mode 100644 py/selenium/webdriver/edge/__pycache__/remote_connection.cpython-39.pyc create mode 100644 py/selenium/webdriver/edge/__pycache__/service.cpython-39.pyc create mode 100644 py/selenium/webdriver/edge/__pycache__/webdriver.cpython-39.pyc create mode 100644 py/selenium/webdriver/firefox/__pycache__/__init__.cpython-39.pyc create mode 100644 py/selenium/webdriver/firefox/__pycache__/firefox_binary.cpython-39.pyc create mode 100644 py/selenium/webdriver/firefox/__pycache__/firefox_profile.cpython-39.pyc create mode 100644 py/selenium/webdriver/firefox/__pycache__/options.cpython-39.pyc create mode 100644 py/selenium/webdriver/firefox/__pycache__/remote_connection.cpython-39.pyc create mode 100644 py/selenium/webdriver/firefox/__pycache__/service.cpython-39.pyc create mode 100644 py/selenium/webdriver/firefox/__pycache__/webdriver.cpython-39.pyc create mode 100644 py/selenium/webdriver/ie/__pycache__/__init__.cpython-39.pyc create mode 100644 py/selenium/webdriver/ie/__pycache__/options.cpython-39.pyc create mode 100644 py/selenium/webdriver/ie/__pycache__/service.cpython-39.pyc create mode 100644 py/selenium/webdriver/ie/__pycache__/webdriver.cpython-39.pyc create mode 100644 py/selenium/webdriver/remote/__pycache__/__init__.cpython-39.pyc create mode 100644 py/selenium/webdriver/remote/__pycache__/bidi_connection.cpython-39.pyc create mode 100644 py/selenium/webdriver/remote/__pycache__/client_config.cpython-39.pyc create mode 100644 py/selenium/webdriver/remote/__pycache__/command.cpython-39.pyc create mode 100644 py/selenium/webdriver/remote/__pycache__/errorhandler.cpython-39.pyc create mode 100644 py/selenium/webdriver/remote/__pycache__/fedcm.cpython-39.pyc create mode 100644 py/selenium/webdriver/remote/__pycache__/file_detector.cpython-39.pyc create mode 100644 py/selenium/webdriver/remote/__pycache__/locator_converter.cpython-39.pyc create mode 100644 py/selenium/webdriver/remote/__pycache__/mobile.cpython-39.pyc create mode 100644 py/selenium/webdriver/remote/__pycache__/remote_connection.cpython-39.pyc create mode 100644 py/selenium/webdriver/remote/__pycache__/script_key.cpython-39.pyc create mode 100644 py/selenium/webdriver/remote/__pycache__/shadowroot.cpython-39.pyc create mode 100644 py/selenium/webdriver/remote/__pycache__/switch_to.cpython-39.pyc create mode 100644 py/selenium/webdriver/remote/__pycache__/utils.cpython-39.pyc create mode 100644 py/selenium/webdriver/remote/__pycache__/webdriver.cpython-39.pyc create mode 100644 py/selenium/webdriver/remote/__pycache__/webelement.cpython-39.pyc create mode 100644 py/selenium/webdriver/remote/__pycache__/websocket_connection.cpython-39.pyc create mode 100644 py/selenium/webdriver/safari/__pycache__/__init__.cpython-39.pyc create mode 100644 py/selenium/webdriver/safari/__pycache__/options.cpython-39.pyc create mode 100644 py/selenium/webdriver/safari/__pycache__/permissions.cpython-39.pyc create mode 100644 py/selenium/webdriver/safari/__pycache__/remote_connection.cpython-39.pyc create mode 100644 py/selenium/webdriver/safari/__pycache__/service.cpython-39.pyc create mode 100644 py/selenium/webdriver/safari/__pycache__/webdriver.cpython-39.pyc create mode 100644 py/selenium/webdriver/support/__pycache__/__init__.cpython-39.pyc create mode 100644 py/selenium/webdriver/support/__pycache__/abstract_event_listener.cpython-39.pyc create mode 100644 py/selenium/webdriver/support/__pycache__/color.cpython-39.pyc create mode 100644 py/selenium/webdriver/support/__pycache__/event_firing_webdriver.cpython-39.pyc create mode 100644 py/selenium/webdriver/support/__pycache__/events.cpython-39.pyc create mode 100644 py/selenium/webdriver/support/__pycache__/expected_conditions.cpython-39.pyc create mode 100644 py/selenium/webdriver/support/__pycache__/relative_locator.cpython-39.pyc create mode 100644 py/selenium/webdriver/support/__pycache__/select.cpython-39.pyc create mode 100644 py/selenium/webdriver/support/__pycache__/ui.cpython-39.pyc create mode 100644 py/selenium/webdriver/support/__pycache__/wait.cpython-39.pyc create mode 100644 py/selenium/webdriver/webkitgtk/__pycache__/__init__.cpython-39.pyc create mode 100644 py/selenium/webdriver/webkitgtk/__pycache__/options.cpython-39.pyc create mode 100644 py/selenium/webdriver/webkitgtk/__pycache__/service.cpython-39.pyc create mode 100644 py/selenium/webdriver/webkitgtk/__pycache__/webdriver.cpython-39.pyc create mode 100644 py/selenium/webdriver/wpewebkit/__pycache__/__init__.cpython-39.pyc create mode 100644 py/selenium/webdriver/wpewebkit/__pycache__/options.cpython-39.pyc create mode 100644 py/selenium/webdriver/wpewebkit/__pycache__/service.cpython-39.pyc create mode 100644 py/selenium/webdriver/wpewebkit/__pycache__/webdriver.cpython-39.pyc diff --git a/build/docs/doctrees/api.doctree b/build/docs/doctrees/api.doctree new file mode 100644 index 0000000000000000000000000000000000000000..f9bfbfadfa9723100089954c0705e4b81d4c5fb2 GIT binary patch literal 105166 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 literal 0 HcmV?d00001 diff --git a/build/docs/doctrees/common/selenium.common.exceptions.doctree b/build/docs/doctrees/common/selenium.common.exceptions.doctree new file mode 100644 index 0000000000000000000000000000000000000000..79fc7e455bb1ebcb2068afab620b552d2544d059 GIT binary patch literal 411841 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Ξ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 =zDY#fKc;Rq2dZ=;!%GFIqQ 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%0AOhp0m?EhyOyk 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 z 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 q=Fe*XA7H)|!FY)< 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 MQj;&H)7{qp0vvs}#{d8T literal 0 HcmV?d00001 diff --git a/build/docs/doctrees/index.doctree b/build/docs/doctrees/index.doctree new file mode 100644 index 0000000000000000000000000000000000000000..d17ec3f1f977eac169a390a436d5ca73b5cd5aed GIT binary patch literal 28683 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 literal 0 HcmV?d00001 diff --git a/build/docs/doctrees/webdriver/selenium.webdriver.common.action_chains.doctree b/build/docs/doctrees/webdriver/selenium.webdriver.common.action_chains.doctree new file mode 100644 index 0000000000000000000000000000000000000000..eb31003358173410ecc1c7efd90d2affc7ada3bc GIT binary patch literal 111471 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 X>NYVOv4V+#=_Y2;c*2RzHf#S6S&m1) literal 0 HcmV?d00001 diff --git a/build/docs/doctrees/webdriver/selenium.webdriver.common.actions.input_device.doctree b/build/docs/doctrees/webdriver/selenium.webdriver.common.actions.input_device.doctree new file mode 100644 index 0000000000000000000000000000000000000000..17c546bb9a8e0e4b1738287ddef91cd7aa023476 GIT binary patch literal 16567 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 IaHALh59cD3S^xk5 literal 0 HcmV?d00001 diff --git a/build/docs/doctrees/webdriver/selenium.webdriver.common.actions.mouse_button.doctree b/build/docs/doctrees/webdriver/selenium.webdriver.common.actions.mouse_button.doctree new file mode 100644 index 0000000000000000000000000000000000000000..196c2ed77ad39d827f5dc65cd951178513b8acdf GIT binary patch literal 14627 zcmds8+ix6K8TW11cRS9-L`qy7LdiyrcbhbnU_xkfDO7HZ6qUBnRMXknv1cZ;Gs9eB zn<}EE7h-e@5*;pug8IZuQ9P{HH79W2hz7bd0 zsIRUCZscov%=*wnGfcbT>rVVk%%-S&Xxc$F89yB8T4=gXHryx~Wn=i6xMGa5QfP*@ zE;X@Qpxe4*M$PJ)UT^s3b=|LOZnNn+Rh82Ts!cZv^s7oe3PX@3QlK>SxV}zP?3h4b zO5o*Ktg7s(SVI^aGi+4J7Htf&an}onEb)ps9~N#P0X*B2`uYz3mGO7sQLj`eb3TBR5$uq$#fd}y0j%?w~P;BmBtas z`Y8VH#osaf9j6sTXuiqUSz$w-YWgvIu<14;TmQs-hr5~X1^cKNxX|S|qr4o(YGmAJ zEaXC5HtxYzK{v{NRQF9yS`!<-kZcoIpV_>eXalG`B(_3OQFmNFF+G*s;_9StpuJfPvBNU9pe4jo~utick;$_r*5SG#>8$pXUE>%g`!leHT<87SkfC| zXtl)9YTVFLCGj>EN!hT~&g#6o(&f%pFO$)p=O(*&a`CJhg>Dcvo2tKY4!VbZVzUYK zz>cd@bIfL>k^-3)0b}17{*$Ozj*pF{pipYg!H_kx z5gPH*80}CKJ7hr#9D$fAp|aL+fvU_l`L}GA)~-J zb=6lrLmJ4QTEynMb!+iiNsjYpQw8Y|MWnIkp1nGMwQ}`1--il7Wx~^)1{6nG2kyzN zuiSpt>E;jHW~lqBEwMA+NX&g)nrxh#{F^(QJfMxwoeg*!F)Mo;3lLbW%ScH3_Csv^ z_uwCP-sv(V07Ht|ncd=b3Y#e2M-Lp;24C9-;c}?}5 zc$1A{p9R3itlHi7!p&nacW&`ApFpVkt9lr-#qJ2nNWjtTyKr~^A1JoekKK=9_OooD za$M4@Sk^0jN8KO=`lc~wybBjXq`pDJ+9?wacoiML2A*GUftuG^$~*aQ!Ss;vrw$pl zpZ-nE=H**adJ&y~jyqFgLj=JwA`&dnKySU3Bs(BEg?Za`Rt40ntp=%Kw9-0S?!-pd zoAzShsT9qQc)lL!{&k&e<}(ggf&UZcX#1)1@yx z-kZ&}iN`BB4+6+C$i8&q=@0He=TlRF6%xTa)`5Ur_NRh{j4&6pwHG3F=&qd5yAe??!Fj~ z&I|oK%AF9KjPoKLV$w6BQR?_0mIj#VreuL>hjE9rg_km!ZWpyz*f_Lz0Vd9;$|h;% zT$Oma;LD3!cA<64tn*ZpieQwBpmqI)7^7|6VLf?^d5_S%#iU1w*RAIJxi<4<`=mJg zx~Z>eIOoS~I(<}BM>AYs+R0m;RVW%sgMp7JBEG<(G&#q2cD%r08C1+hY<(Vc$B9h@ zNya;5F-Gfh#O~()!`hD?DxFMm5QnT{HbxRdG=z5##UPE9cO3vFuw#_j$Vz0}d=tcU z$CS|36vWnH5L?eqSg@tXEZN z4oh`xk2JG{A~^`_3AxjdU_~#9W|=7DkpE^2&m!bktUB5)4L@zLA+fbLGE(fFyARG2 z@o_-2K7^&Df@l5r3%6^XDAaE6LVunKVLSY_&Y*cGANmutaeuO(>p#p_@gheHqb-p` z|0h#Vfv0>gf7g~b>-V<0@88mpLzZCO(E|V2mPscIM9^`+G;885M=m+0wZ3O7dZZ+X z$hFRTn<()O%xPHPL8ZV&>q~gFp2JU3m%ogfuFrzj3q*{N+WHEO-)f20i`4jcYApD{ z#00+@TQ5_Gf8a;L#B>eVl-JQBFwy!d9#eh1g)bsnuh7VxK#C{1RD_@4=lIbK&|1Aj za=f*2=Ln!OdPA#O2G6UcC6&rQ7Br9`3lZl~gXK@-sqq_C3 z1Pp8kx9~`NE`I=tEiNhX3kjD_9N**ZxwLb9f(vx6|D@y>s8&|DB6`X1FShjyxr$j2 z5T#bXa2S<$z%OiPe8MyMm_UnXNNq0l4FS4Hz9C%);O-t;5|5X6=^Ii4yYdZI8SJeW z>1UXJUZS6o>}eEFo7Ncr9p}Fj{CAT7PVwJq`u!ha_+wWd{q$#UUzGn)4-n30(ldh3 z$OxX0+zQ~Oyal$Dlydm~0VFQlQxEX{dPa)<;x2^mL{8hG_o*(>`=^-{x<>CGV`zuy z{hRh&+M##Cr4#i2eS0qL&|7dJ^gbn_H`U78)+Ku98fLvklv>d{M&%tq?`;fEfcIa) zzXiM#gG;gdJ@k;UJ6#2^``fgjUa&hQ&;xe=8*>oY{U3Vb*v+5bZ|q(=|L}#S+ZKKI z@`8pY(lc@wj)j8aR^T4W8em1Dki+(Y!J;Ac0NXPesk`z8jgZoIsQo|}s9ni~&^2m* z7(+Wm?FZX)X@}YgmrhXoVtX#_P+M>z)P6uhZK~}7wQ~itjuNF-)Sf`)9YF1^MkheK z4)!geEvzlYYz-YG%ud$;%$}m<^n%$bfgUhBz#If-hxEiTn?JqZn7#bSXRkc@@Rf_V z4Ytqs5OF7S=^45A$uW0EbSrod%WbfyteivmtBLZYd*1_uZ)T*}ukOOgJCoIRD1N#N z6n`_5L)R$&28MQs;%~R-(hkKFE}fwGuiJBJhvI?@q4;SD#i_Oj6wh_c`aV%=Me&zV zc?VE@TLTn8{%6df1;{hAOR@Yf=p$iyx)NadE3~LyuskJ@+H>)2QxW-bJH1yI?@r#s z90ZpCjh;A`^QYT^<;D5PZ^}p@$;W|%>AUmfrFn5svWVn+Z}EExfBEyzYytnu7Qml& zxd3DtZJ9{LIGcZ$S;%q)@x6eO;TMt|-GwIQ)h;Bt@Ot{uC?DC`M_zmzJ0{Y(AtYlA zc~67FhIl$N62ptAElV{^k2g-R{h_Zqfz3bJDW31HBAZI2$CpCn0NL?U9~(>i=nWJj z;@8inw8*FAdnHS?pGa#&$~_xNzJ1_E!VD$n^D71`KL1SKKtkpdsvRK*JPVwkL!>pJ&`^=IAF53cg>m0?LrfL92kSBGuOWLYHqmE>pBEEz{U*K&Wa^AqpzEgA2O|?AnjCQ zrG{RQRzYuyQa~vK7j$*CiJDPtgr?JCXnv*xX(_scY!Ldw#73iVW#P;MPo_9rY*cjL zcYVcBorbL=*}qIvMVF1{=Dxu*}N%+O~q65lF;rq^f`< zk15J9RPrh|fb0w zEIok_dlrYFuDQ z=JufNm^&E-J7|QV7cACls1B;$Mrh!!j_a?&mJU!)J^}PpLcNLY33-~O?k(JV|7pl` z%3sl1$Wu*D{v#=Qn5{}Gdkr^&Og&uTJOBkXBW&7WHi`^TSP@UcA7OLQ$)=JSXSRSO z9dMKF2{xQiT~`cq)v)mg{T-q_(wI#IxRwwqUyNYY0R**=mqk&rT}@3yJEs}Qrq{6X z!rmZdE<%jHhN}ge{4Nx~;FQ3?CbY-ZOlJi;kl?~z0*WB2w{$a`q`S7O3S*>uN7rJg zOtY>xV8I)hfuSS$dXpW{(CeC_BN^OQaBGVYm(O}8xpxI!wO0h1ZL&e#xlZ?&*oZ(A zm@hODAFNH-Mu^K5l+w-hW(JdjW`zJ+XibA|E8U3M-a;+qHSuatTgeKPyG56w(0!OH z#j`aC6Sw;C6R=UL=HIi?i8pKp#u3~v;_YyTXX(;Tl2Vo;dYS>1XHTEyaah3@mCOL? zUGYtF^$~a>wfskS$4P-FRHpgHh|npc&7vGpp2J~LqK8Fa?JWAVXVDvAi(V63^j5*5 zR}U6NrWS>-5u23tp6|pY?g9w6jNK761aE0SvE_0N*(9%poiyvXz*OkEzojzkJzD5C znsVio_7>>FQ~6;G+&R!nD``Qf0Pxk^h@cgI87bj5loaZS7-0B9QvVuM=;indfCTAx qfFx*S0NW7^GYl?Nk7w0f{l`s5v!e!?+bSXEScBX|f~X=?uKpKHN50Mg literal 0 HcmV?d00001 diff --git a/build/docs/doctrees/webdriver/selenium.webdriver.common.actions.pointer_actions.doctree b/build/docs/doctrees/webdriver/selenium.webdriver.common.actions.pointer_actions.doctree new file mode 100644 index 0000000000000000000000000000000000000000..f2ac1c116bd53d8bad3e397a81d37f3295141ace GIT binary patch literal 57895 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%0D>JR#5Gr*RaFMUEoR;-BMKIap*(D1gON zlUIKh7Z{`P8F>ny$5Ai}If^`mKg6+eP{^8)i$a+~O?mYw4Q2d@BpvBgp3*?Jzw%E1{JX=R`6pSs7 zBG1+Wj+KKg)`Y^?>L45cL0mSBt%u~<`Z$h)vBgp3+4>V4D+gPw2?em#SvLOfaKSLD zo|dQTUvU(SDvlyg)%S6%98|F;6hPG}%f`Qq%Z#!3l01t8Yjb-j97UeRvvI5(EV3pP zz~ZUN#_z!e#wZ+vqLTi|@8KxeK;$U$6kdsA<)Dx?As2-*g_^SQQ9jDJio^g*ARB*P z*1lfXic(G4Y57Q!rnLOUAlc%i>IBHJIH)k0|etz3Yq)sO41y_)$zl4Ww zxi`Rz3i2lEA0#r@2k_7vyUZ}Qa{Fyeq|7T5*PYaB+mI+lr4V@w4k7D`KQ9F z{J&Yw*>c`t87cCs3#Tk=v-!3Vr4{A8RN`|z;n#)4>j}J;*y{;Th6J^p3x5KNg3Xfo zJCnf`3`4;jHSUB6-oGa2abgmRRm8fE`%^$?DNsZkrU zY{gM9HDV|k3X=Zi;om|rWL4wW@Oj?EXQLSm@(Z#Od?&q7^j(iO#^z2}zdY3YYnjxGynNkaz(q`9a;06$>36|d0Fc{RE$BKgf_(YTI-Mm0Sq z;p52~mCo9mqnIpTSXch?4T>M5uBuCU0_GOHc$M%g?#v zmU~@GRFF4hS-oC_EZyXYhAi~xbcZZA(NLwVnANgo)vCoVaJ{|rn1!qkg{|v2XlbOi zCsBP-QOm9py5u#K>~aynq%TJi%(LyIf0{KYQ#_^qM1*i7_zESa5TeOpY(IlXr_&^`DIjKR6#h3Of>T~90iMJ+K}a2 zI0~j997R5w`A-}xM>NBlkYqWoaGBA}7&HTHeSxcCzrh8=R>OY98Y80+gBviP27P^p zqa>(mu^RRo93=-y3_KS}GKHE#&d6aib`fHhK**W?b>oyfo4unllA|f+JQL(voS5?< zr~`{RuYjZGm^1Byi=Z>Ti!>>5GU^m8LDYE`A4$2RPEkSLsPiTwFI_0RnHOOBy&*dPg0DD_B0(2uEGQCegjFr?FZha1 z;+AoderNf8VehpaoxK-|f<=&-Bp=05Ft3TD$V`%t;V3yKNd_)6-^Jb^znAt)uHRXX zblG?}5oQTYlIblKLQS)0$4G#t+3_d{v^cZlKL8S&9iM}v=Gif{Phwh3e_o%x{zY*;lyIYs3CC%Q@qk>^^2;6O-+7+%j@D$}^f` z*#t!;ldL;%6f8T&QDicG7vd;b@`Ixkn`C_x+Mak~V`(N?-@pi#>H3>cQPCV4N0CXg zYB&m}Ms3J)3`fD#h@nU%S^ogVkX4O>ldP=uNvBoD0>~)H$54S$1>s{;CR}(NN5R5{ zHtft3I0~j993>Hypj$?s!Lf3LCaeibmg5SSnPgoL&B(cBB%1z>bwrpY5Sna3T(A~9 zMj|Pi;**!azge94c2{DuN$~RDQ*sw%nOJQ9<5F zrEjB%RQkygja2B->5f#cZYW;SdArWvgQkt@I5rtg4Gbn~)wAiBStm;~HA`_z`%Aks z1B`Co2$sC#XHiJ89e6A#b$4!9)$)FmnRi%5EU_`8(=)b`w|p%123Vh{PQ-oDg@~Yw z!(MGWrFRh&m5c@6jH6&q97mDyH?G4`usNEeBw~SXs`;$*9v!_WxHA~hy0squLLI*w z_2evy9-nR7^87hY-d9R1l%!;S5%urd=*L{s>2r(4B;T z*J5S%^EgTl&yI=Mrf0VYnvv79i>$D*n+UT6JiGLJip;=fr<|kaH@S4@fH;fe(tQ(< zm`nFO95uUid=?eHTso=FCg{X_ih>Go;XN7EEnP^Czk~jFzmue1xX9yF@x;nwgadE0~o2Dv60k7d5h{WUIweQ zD0be@9+S-SUjt3cu>4HdxaBvlg@?#mafwJa9Et-%{-#qaFDgK-e1B-^0yXZy8n<gfl#c{F(xHS~O4h5h` zIR(%Ln;SBs?eq7D#mKQab-HTn$5eZ)V%6)GIi^%x-7=lAhNZ)6>b5wC)^e$%!m*DH zvBKlL@Hj7A=I4Q;?Sw8HJwkq$MjOz!KnKxI(ssdMScy4)eve~$c0~=eUH&H5R!pZx zvjF9WZOz&$bRz^oez$A6N-a3F!XFUNs8u-i2ws;zRPk(EHQh3=Ysw!KS8BSc22*~Y zqq?qc&N_j=p=wn;SFbtaGd6iY+pIz|?s}!>sZMYrV6&FrV|i}FbAu^u-IU)ytC}h# zCoCIk>aQxU>bOe10Viv0%W|Qq>Wn@g_+1n5-6ht9GT6tt!q`v(@Nzi zx$6YlgZ>#aP=N`bc#B=W-(Tyf71#9Y<@p)Qt_Sz~Lk`UUjWS^Y#B`vlE$j+^ecUO} z>8=LL+MstJ1|abQ;e|n4ZCJKjuBpdV=*X4+fTq;K({6u*Iim~RfX{w3?_ew)f=@zl-`=Wkt*!3Co+K6 zIU00P4P*-ZwKc_@^^{rIC}36Le5Gmz{zhA^Sa!8sRU4o)0Hf2M?t!l)%z&8CBYIV+ zg4W{?DIR?PGP>li)IrhKR=s+o94aGpEWJR7qN&sfb?fLAs^*0K=u*Q`y{c87uM<^T zug*6tM=i%oQZ1>t|Gi6;@uIi3LcRYwz_KHCQ18xw6abQ@`5eJp71$l`uAeEV!Cwj$8IDjHNTlle7WwWZ6~gK#vP_ z^uhJ93wB=!{W)aMR8rNGD^c}3MD;Li6{507ReM}l-5H7jreH#I>ooxDca>=vMO9Y| z4)yuNpp*4-I5zYvtYW)d|A_HwHo{f`n$Sj5!D}b>Iw|BTRj-n4s_H; zdd^Pi_fUD)4p%e<+5*jTu`0Sb13JL%!WqO+ zINo&XF}+T77qX~qFs`P?2vnv%tyWZqzS z#E$!CB(9oD9iZSc)HV~I^bliOrPq7OMRsi5PUg#b_~ZEfjS0dK|FPX26N1%I}YKOZ2D)WhV@a1Z?1PX3Uez%$5C$BzEa{`0QWwLg`x7)CDqHtfuF zUHlHX9bm{SmPb4$nByx}t;U82_!GTvN@(*X#A$O|hNcG$dX--rY152#aGibwWs;Y(j_=+Bmtnd++Sd9p5{1 znTNfbN811ayE+L{GK9V;{WDDke-Ra=fYi_uS`b1)EmWWi0iqQ}l!q!xr2@b2JZ8?! zoqP5^Hg=pSzB`X|&Ue1Y`F-Dc%sC$&`;8%gi2uiS1}(ept}j$-HP@?ILChv=UNvf3 zZWzB9AAKf%I-X-we&s^oMSj(a*$`4x?Rul;TWm$tyI`_ zB@F%gN)$p$B$bhREg%U@R2!8bz(ZV*xs|54nyf{w^k$_}J?C4ilqO;mVP%b8#r977 zpgm(BvPbO0thH!+O>5DQT-Wj!FL?gBMJ1Z_qP4MzdIpQ4ev667k`$XtQHWr{55V@d zr?*8b_7EGZyESWF(~3}-{VuR+Uk7PlkAFAd-x2&fN-RTaew{Nq$3|O~x*xNjYG8RpW|HoRXU2CUhXZ zmj;1S-Y2vnN~v^|01-Wz619&*mXlnTyTZy!)TsF7s@Et7ElaP!W?~)X>DjKczwqRH zo__L{r`6w>$StSj*q8gTm4$^x{I6uJnT}{}i?X#X%GM_Bq_wd`1_y1sYb9^BSLH6; zFWTU*K8vp6V&z*xA zA1_hMIyybAU}7wvQ7Qoj60Z4P)Y1$j#ilz%9>wk*;+=nx&%#oE6&p6 zx=2eWl)ZG>m^1o5`S{t=S+13{LM>;Ha;?k(a%NhVTZ2uN*8z)qMb5k_6;akO(Wt|d zR2mvZ`_mE)W^~Tu6cRq$84>_~y#8!kYa?dkt&MqzFt&88Bu#z>rtnF)kj}avhZNAx zV)j#gLwXE1O@%ZobvL#@&n9peZnWUCN2pS4JMOLZR-<06hw(-J`a;Eb<4bG`suvI( zvjiZzR5+pmP29X^K&{dLM_vM$Q-91?yE)Su6x(TlnJPA*>%J!t<`mxRpKzlhpAyID!U zj6?v?&Ly!?Lg^Sm3>dVL+R7Kn_G>Pr)bQLj;SDPJ7FtE_az3}7h)u0G8%sf}LNV}U z%eMl{KW}j}eH3|R5NAIkqK}0xrJ4<-#sdH%oE*DLN21akZ(XIj+pF_EI%p#_1z1CD z6y1gP=!U?3mfn9hG+}gSt=z-N=HtfM8L|s9tYT%0I3Amo$H5(hV&MvS6q~(c?mXL5haD*utlN&9NP|So=3Cim1R4q?%baEea7Ku z^>!++H|PEILhDL6>7=*dSZxzOK`kSf7OIWG_`*#RbQQq@I90kC1Wy$J?_M-P8Ypr2J` zQ)H_1Opc2`3gy`-uP`af35%b@?TbWdy`QJ@cv~(qIp?Ez-G&{q;vd7iJ}chYou=Hf zcQ&I&STEDqM>)|OZlUW-ghp#r^@C1|Mw(T#y;^_neBHWG#kf+;cB;#A#jV<&uUWxn z-C~MsRaALvSwyNB0+HiJUG`)#HiKg7wb=O}Dv!|t5pdgIAbwuS^CL8p%F5Y?6cri= z!MG1BG-lJ(tPogZuqzwzv+@38Y3ZZvaW=UcH5%NiM17~rp;skcghA}Qj>_=Izlxxr zzerOOI|qrK!--CyscYy74-={H#hY-|!=Rcr%BMQ0b9P_Ri?atL*kgCx`7^hlx#z+1 zz4twIXZemZ58VFX-S;h*=9IF!>{VpCk)>qZ4FSyqgOs#TSi3kA<~U!KqOuPQBXHh< z2dbsZ5d!Cs_Kdw-k7+v5peV$7NYA#vLv4@}Xwl(q3LpQFt7kUym~&R}-l^ip;GHDa ze={kH{n=F+RdfFnd}jr>|Ga;ss~7S;~mra~B8r5YaFW^xd0xYh31MkvccN09D{!F@&|P8SRw5Hd~c zP1JSAmcnR$AUSn8T8x`oqx0`n5?5kchVu$HC#G>h@Y&De-Tf5AIWh3m`Wq> z;CzV+=%!gaU#8@@K!z+Ev~_B~zZN@hP?jG<77eNuqtM;o;ifnt+GngGkODbjt%s{oeKF#oWOqHsNBZm!=Ue zv03$aUW`IsVl(oky5Efy(g6iYqMfd%o~d+H6448+Fhu8AL>~vFgup8YYYEhY_^n5( zzEuek?1E%G@|-3GioURqx& ztv0+$Sh}r*yN%49=hxTj?o#Q)1zh@8(+e%~`iRzOQgPv7YvoRHS$e9p?70?-q(8?? z$Bv!DfaF>r2Z^)Ja&JK$6=)W|OW|k@maD_j0FJVn6ve)BbvnvIF$y*%iv06bFuYA7Jh^#De^xvXZ z%k#r>fLXfm7b7&_KmhM=>2=Dw6@9EU>(ynq`8@JQE7@-Ij1DVBS{+_j>cmyb-5(ga zGxnTc71bEUALUuu@KQo$Nu%O6tTuPV<1Pd- z_QzrL|A<=Uhc~*>YB%!UHe&Jy#&}oC`#IE3Nw!mi-({xq2^7(0JF><1U^~~EsdQmG zpULndIz~W~;hVK~aNJDgl{_z-1BhU8D*!}~L<#|9BWc|YPWu{^RkREvXoS8}&w$lxOe8Ehm4*(G?ZUKOlROh8rx12SUN!hqMwg}`S4-)0PJ&Lq!K|o$7ORZDsE5Y+u#sbn;5Ni#zx z6}^P4@HiQi9v35Vik7-f>Ah^GXYz1@USE>xCX@3rhOzWX>U7M`i4b*)=>+HV+F;iv zL+hEI?cnpzthCwKD^`*g%}%F`w9QUG#`|Dz`jm+C7f`#H^7uNg@>3p#DP zxVq%r!+-DPzsvmhKK^?@|NS}oCB`nptVPYc;J!s?EvRY(&srQawH(g80?)4I5Ja8C zbbH=*`MVVFhQ~~ySWlDfKZFg5>4>+<9D)#I!5l)?m1T#1v+w4d?%dopMm0DlH@6R2 zdvZZ2h{&CPuu zO-C%kdQ)fqoqHfa;pQI1)n;yv^U{@@qm)@Ur&I+u_XCLwFw*|!{Z#?|x;cxu=5B74 zuDF}yS6AB2eJ~d-M6IoJa?1si*2SNn$~D6#7le<=23<>bqq+P!e0~~wZlQbI-6kd# zzZbkoUE4>X>@Auee=;eGz45k~9w&tsIJR-21uovKTg$x3cB!;Hm|;-~Q$4(t2(RbK z=@*bSKVMetHZ))JeAk)Ud`+rn=Q*nN756pQnp;hW4pquVo2NMswl0UKc@1=gr}+}D z@}8!k-6}t0>_iek>YXX2BzT#1($^rJDOEtfUgm4WG50cGrz`Gd_|=v6GLPoqvx;@< zR%7ct&0s5+3oAFUxA{?1yHNt*FqdDu+@U^l?Q-$k6zje#txy?JHsbB6JN2EUsH=7D za`Qc2Ae0&IdU)16-RD< zb)}K}K_&D`6l~$D-MhD>Ye01x7^mM~h|`?i7X6mh>c=H~CLCg6ZL(PRXlec=Ute2< z;xoG71hU}k^vuH)v+sh^x2T_RDk+M+es%W~gmw$M2=CfNFI?K$zC%}8=CTttvsp4q zhxx~;79UGQ-*YeHL&ys7$<8SkFP&_dshH-JC6#XG$Dc4$G0hlCDw!VIcCG1%)>1I% zJc2~pyc;uCLGOd<>nAr|{=}*DJK=m$=&2hCe%4rhpOJ<1yR>{is1)24-vt}xRhW&Cb;US2$yFsD0 z@txE^J7-8S+`lCs4*M21^>73218$}*wrF3+m0x_ZXq1o6mkBdZW4JssGcU;W3z|2f zQr$_5qVuD~!a=7{PFHei!8<#~i5-T(QV!ZWR41YN%h91a16hh8ut#x~?@(o>2S#k)`Z>PmN?mMxdIXxO@uu2TbboJ4H~ z?lSGqn22Ig#C6$E3&#~jF?gkJ)0p`p^tDAjpI=FeVy|7DJs%~kf<8}w!&9k9oR>&C zSA2MCZ-M1>fX}q^q;vqte1_C9$XtOc zpkK)R6XK0S<{NayA(LNSX~=v4+a;I9hN)Wzn|BQan`w;(hR*k98bDg`oZuK=dgGIP ze2u?wySrf=Uz$$ysz_OXlp^fkOG{IRGQfPm-z7z{KY9xzEZ@qyT(i#CtJVVF9rq4# zt&6MxWA_&5fXg;Jmb6_ZgNmfj%Zzo5i}y+^>NeHLed7S9KkhRNkqOnPnXLU>? z1CmNNqa1t9R7@iSl1fH)BTA+P0|xwED#aU&l>6@LOsDOy@9$8qL)G#f9^;sS5Jiuj z(C>0v$Tnx4?X>6G)(K4;vh#0bjG{3d!)5aEZBO0K``#Q~4A$*DU7&?x`DoqFLdm3x zasC=Ix(uNQdq)R95sP@l18@0wM2CMBlVm%sDgI@@n}mwbcFVUV~)6`Vef9_4dwN&)?$&V^;MUKs*OS zJf~T;kFQOOu(4s$5pfa?#AHun|Md}p)chP4oN3cJ;7pG8v5&KTp2H)na-15CO z?CLI#_8AMY`FJBfJ;bI}8morei0BQo*=pp|!9nHZn4lT;L>w2yCgp~8I8SLe9W2BT zNLuyzma8=kCOt&^E~Qf_Y}|`NlF72Y6Q?MwSvUfSZ!LwJ8uq0N!b-D+^A)!Ho)@C3 z*vNK0X2Xk!{zVmNtKM@+FfDH*zk$0Qv}Y_GJw$JV*nW=fSw#WZS>4heUt~Mz$R;;x zme*H3zlp;kX6e9}7LKrK(w=PriaIEs$X(om@`ZY6m-!CZU;~t726?{DGMn)&zK2x9 zI&VRc+t{>S!G2Tnc8u+|*6WZTws?<%^yyg5T8Y+B-YgwWLC1rjT&vQ=lPM^oY7sM3 zKhb^WW0ABiAe)N9)%jcJ`OdtDvM^g>#C=sjAqtm+cfXFQ=u9@ls-T zIQJ%3gtIUO%$pVEw&y;SeUZz|b`cM-y1<5r8vHzg9gT{+7FE_PNSyXc-iD*K*k0eN zdVURK1awpi$k2I9%WNE5B(7ouVo0Q3Q>K6ogJF2hnn2G>j;}|S*Q0SlFR&&MEleG97Rq<%H z6*Ad#IM1wZg{zzfpkUDsn+*_~!bucpMf|*=Np=`E*(@iGGhslULvV@h3O3xZvR=09 zYjy+wV85euo<+=N_%>~2xlh|g%qFMXwv`)RwIW4(xN2k5_A2&l7wrvF<|0JubNJ2y zyLO^>{CGAA1D9YuUbXJ7!UiNR>>;2CqLo~-dXsDy`$N)+K2$LRBbZEc#j2qNZ=eRY zg)?C;vHew~I#;%ENKK=Rt{x#Sv~-c}mZ!$SRvW7V%`UMK%RNtLudzviCTPB}MC>wJ zN81Q-Bov)A!|i4_Dh1050kp6h>~2Rm&h})U(jM9TF-luaZs=2MI>-&lC+MNLcDA93 zJO2lV8L%mO%r_xLBL3o1U|)x$(fE6~!xMDcnB1T|-JUQ1Rrv`Xuj!E=&Rq+zS9pAp zoP7v_IPd1=w{ZVJx^M9z6#p#5M-J#Fc9r|+5p)dO! z`m(~IFE1QgvFp%^UWcZd`DD67vnCGBs_;P!hekShtm{xf9I+jG3*kE3fzynH1BV{P z69Ph&P8f&&gjz3uiWb#e!5M9tr2BFYlhjk0WK)VNFKJJveE2j!jDb-5^JU352r2;6 zRWG7L4dKCYh)o0L48ujVFmXyge-Xy^Z2SNq2b;bFykNTlTA3i2pmpZ)_T({dC|J){ XZA3L{m}`Ws(=~D^5_`q?$-@5wo3{KQ literal 0 HcmV?d00001 diff --git a/build/docs/doctrees/webdriver/selenium.webdriver.common.actions.wheel_actions.doctree b/build/docs/doctrees/webdriver/selenium.webdriver.common.actions.wheel_actions.doctree new file mode 100644 index 0000000000000000000000000000000000000000..6045718bd8620628daa1b5fd046694518cdbac6f GIT binary patch literal 17325 zcmds9>yI5tb)VOrm+cvk*ESp3L+-L#<{CURUWCAz*jB(=MUl0$E5h!=u1(W(Z{OS9 z?%Un;!!r}sJhK}QDuTlHN=uYPJfwiMANYh&L?BWm#0SJDBqW5yH^j#fC4WGEr>eTU z`rbP=Ju_w{$68-^S69_});XuD&e<G5&`w#-Z)_J8NdA;|Cop&e&`xXs3P4 zPqH_%OJB_HXDv1tncH!YMr|u&W9ZSg9j_Bves(8g3)DSvym(EHpNXw@;sky%+-}&@ z_RO8EWzVrj;v}A>d}3E(%d>nZ?XPWHTb;_z*6ebT;YPuj~Y zT(^V1wH~FuZ$<0dL3DRLXHEGK?ydvRcwOMPUa+j_aR3){7OX`v$bR>&iFC^zV-3ge zSUZYTguv`S1)25};P#XF`xO4J;O`|O8C;7TPH2lwg{Bi_?8E(_lX}*lH*>6OqLQ%> ziIJ;^9cWK)CYhPq@3&V=K5p9YhP0p`(^0w=Ic<|+|U2b2;61~ zj{Woqy0W&mj{kBVE2<+_+qzs{>wL8pdJ^t#kitRQeyO)#C6v7uKG`E5KDin-rF~Q5~1Y|R} zg3j&`qEPY4DA*oq=Vq4H=g1**FnMM#GDBM#$gB;>IoNVHKCLpec`etLnoGGN?HixI z-MrnpEroLX&h1NFC@t8VlcD8zpissRY@&+C3x58< z9(;3udjQMF@n;j^ZpNm=-BoZfvs6P#g8Ua~!au@)>@WIhZ~==fV}EvJd!E5Z(fn|NVd|dSl>yKW{I9Ua)^z6ObPL2f*gFgJ$|NI>CDGKNFiG6P+P` z0f9DpTZ2=wbBgz9dV${)uD~2zpKXjb21l!%*xXLv+lWJx!r$32vSKT`XK^LHgRwGx zvtJQ`$68IUR%58?80HZEjs2x+hng+EwwjKASigJexJytMTaB?P>=cFr8#3(+^u>rB z1h`2WRU-X6Drqg@t2dgTtLtMNKTH$hVg8C9o3A!E1K(<1=l_(>WszfG`hJj@1N#v6 zfmg0QnIO*CXs&S1uH3lXyq05(XbmFXXck?XD>rT+;N@GF^Q?5M3ni=DudScUE2 z$g)#}JJ%=vUWpm1a=SSwH}|8|k~3kBGhvVe)nG;+;kYjyfcY$8F3_GOXa`~Zf*#{D z9Akp)3u_LJHvKj8C_l%*~mf|g(Fq3Co;K(U9lWQt-1g_7TEVeF?L?hi0*XmdqduYBVp;PCy{ z;U!&-cik_HVrRuF)KZO!iQMOpa!p#*C~VJCVS9oQTj(T+R0}$Oz0j8H3Xjid0kiR7 z*zlaDAs1X}66zS9C$vE7P=~W1$LGhqiXRekl;(U;d7jq7BsbADQ!g>@nOmJ> zJ_&zUDs2aTqF&$RXOAuWNPAQF3_!4FLo}EmrczxqRN?I6EUA1bg(=9 z=y9f5jh?l-Q^XzwRB%p z$2KGibQguap?Fhbt^s7K+q#y!g}K}|el(%K45YtQOvQfmNN(A3Y4JUaYpYy*Yy`Wx zD{=i=-CEVC5qEAvdbv9)8%ojqbHUG%?oj7+zk#8M$EuOi=%D*;JrrG}B%#!Ce*dP2 zqKlLyluFdy;5sjuHylFAuO%mcu7$4pEcJAHAco?0u@YcQIGPxW+esy0<|Z=_nt#TH zR9$e|Q0fr;{+*U$ZLlGsEMbP+D6xIwrvK4HS;ps~C|d?jhoEJAQg{w~dE`2%p*vS9 zv|Py--S`zH23*ubxi(14!SRtGv2@>qm(yjaLmpGcM{fd7z4*v|7G2dqsIAu1c3Zf98Wr=Ds1LTkYty_R zg8W^Fo^IfYRZpgJzxj8WdzYY{9j2^xi4NNHz$X^~0-w)gfCzltJ|1hzg68sQWH~{u z|5c4@$y+@Uunb0l@}kXsj%b=eq{#2u+~?_)ACjr>ey}R?EB4roALNesKx}cj>2Nd5LN8ckw7%Wt>4hg2?GP{`D2w1JTBAWn{cK zouexP#{9K(rZIF!oXn3h$A^j-gJLT7?~i80m@{ic$awu&vf)0eRgEquF{5m+L_^~{ zg-6>_JlafyL(#E)0{3XGc zO3Xirg*H+uyMZ?XhaeT)H%WUq zN;Wg{Yc8SUy)<+GtEWvTr$5w})5Mg{n7TSSNho#XbXpJP2yzm@AD*1{Swm7T#Y!sP zOF3QA)25TtQy5y)%6(W5MJFc-rH-7Q(L*_coCNTPAgB5K#A39uE6*?FNp#szit1B( z@^qqlxxT18Jrtd&B$PU$`WrozBZx`>e+Z&l8VdAAnZRk$E4P68YbmWa^c3o(^|kua z`j#GwPFfO5MOyP^bemJAHkH(UUk~>P@)PJBNq%((4Q=~DK3{)}Svku( z{*?xMY{Uj-pZ$J``_O*h1ugHye*afc0I}cyEuIGV`}wvf-|(LsL0fglpUVInc29;5 z@GVE%@#hm9e#h^A9I)O0BHCV{r$5lsi^bDRc-nJ6!GAx=e_!Umukhd7{Pzz1((%I| zV`u*SM_%~rXO4L_Q&hJc`*wz7bL@?I^_WY}Nx66f7cu1*x`+{Pr9ql&=pw;GZL1r_ zRFCRKjAWHCY41^QSY}rE4c3ZuX?5-%E*9(rGOLWzWpe-RiA z+IYDHrHOZ6LKo!(Hzx%4e1d4=SJy|h=lKL$dp=j#wdx_RFzG$uAWXVVPu!&Qr-xzE zOHmEpQ7FgIkLL%q@`ScJNFGDWJhbWoJ@-jzLBPF&0RD7D0+7x=gh?g${;#GF2SghXdsi#Xt z;ii3=olPRsk3D{yZ-i0ML*l+D+-xLB4fnEJV{AU}V|DPF61;J?&`u*N3pGSuC@Nb{ z<}IQal+DVcc2vtQQQ0Ujf9*y*@1ld)>_y7^iHi&=HXWo1GS;(Adl6+aJqrb%JcSA` z9TWLKiP;YU=0p?(2~b5U%TC6|*O4$NP@rU;yXY`4U(?9L+bK#Mp~6!78fW%b*_kdT zK;FBhG(TXcs36x*`^HW;i2A7hS)g*h5Cw{TD)Wso)dkUltQ+29Y&(f<@cd+u0Z4Ly zteylzB8%rRdDcA(jGSQewuyWv`PyJh){X=IApt*)%hpE6+DdzvZ-Hu$sQwG{T4oKGl1YT*Ees%babG%k0#NI?QeoKCI^$QoLpViu!pViU-ALZVsP4~;?@ z!C2nlApa-wP1MJ1vPIs))tsbXHifa3b^-&XE$DR`wP8VQ8R|%`C2b_JIk7|eewfSX zI5CxBf)I)2Ouk64;7)>=7&lNNFBw`RyBS@_192!DK2J{of&v=Kv4L!8whlyo0u|=P z>#cFN#M9GI7~X>-dQKlzYtNouVGE%Z8dx6|)@PeD45fr2v>mw9qF|5PNfO2z>+5Ka z*TP+78~JNN)WcdjM?Es@&8Nq*HA!Xf zqFUXtk}ihe~>!Sa0AmXCZpuMV0FwuhZwn_tFgP zL3@I><9DG0(k`4KLlLK21KpfH=`OON#A2k1_`4ZYroUx%u!47i0W3eV2idtcdfhcF zR3Ul>{*MA=aUrD#Y)Sq<0idg1S6H(>Hfj0ysIs2T3TuMp3r)oRsDrhUpx~EE3Ax@Z z0V!x!0z(U}L3SnCadxKCN{Mp38MAeZ7rGXwGJSNPp+@oSex7{gtN4l895wUnQ*`1V z_G0@96u$HCaEI5ZmRzRymIE6dlh)anDE*&YjbmYJTQJ13Cl$}zwob&w@N=}6nhAc!28MC~f5U|=p zE0DKhRrI$|MPKQ9cA&B7Jy+>AmqX<iKZvII=l#dnv`0O9Jm2_Y0PJxW0(2~L-}-MO0?@6K#z zW_@>%q(KO<=>w`V&_FAwL{uO}qEHngAc3I%QUqzKRQf~I7DOwG5Ky3i3hMX0pLy@i z&c2)3y~|;ucyIpR`+nc|H*em%Z}jc^AJ{|xBm1Ma1zY4ndvg)+j20Pwiz&O(C$``qW57Zf0nt~T+1puh z_K;E6Z`d1(Jea7QtAR-8$-wESz`x`0?^^hG0tp75g)SwtN=Dk28z$tLt)S6q+P_#4 zI2S@BAvdsg^W~a3W6N=3b)2U=^OA$h&Q%~M(2KFKvl6;>g(5P3E0+;fog?y`s{-_L zGm``B#p+2t0zEB(IwygT6O@k!Vr!+-w8C0FXx5^(ts<}$OGoJQxdO0Zf^tP3xzhe5OX zlF(gq{iW-dPFbBeh&rv76>gpe#RD;sBi!h~5MEGjCuB}Js{u=OQ}Ns>_)qP=8c--F zD;u?7bv3f%la)<=bON7!1saYQqS>h8n1gG=e2iv0=RyJnir2!R(^eEnTCZ`CZb{)z zK$CU15j)A5DU@dm8%T6zylbW33+y(#y5kmauL*HbBUSjgp@ScWCGe!Kbb63_^}nP*>OUa`qv_A z8}A3t`7>b?&kTX+6R-+L$dx9Wrl?z@s+-+YWl*nv*E!~V20Rr4c`G(E=@>S6Gd%bv zz~(I(8}+u#d9NUW0X^z`u^=Eb`WFD3*8?^eb?DXJ=#e{8+aNtaS(_zWGK+-{5)lMb%-%R3Q|*Q~JhW#| zans>E>^$OpYT5ZTxv|`MmlF6H9PQtxqkW9UC5lA9txD89FkoDJhd~s4Xn(Wl(Ejhi zhqm`LfNN46VMYL!nFv0*%@4f}OaKH;y&obY7?~xI)PVVN;AuOH9679nmX&7UudxWw z%6j2Cw60}as}GUMjaG9hYFn5MPqafjvcvN>RnfbkEl=s3SF(&`Asxvy2kvR8^~7o{ zf{+J-UviroZB(k%i&k8}Tu6RmFjs3zxb~0{C>nHUI~cmn;+Ke+?VM@H|}I;J;`dWcP}Uq<6Y}Aq772JmyD2l3EZ22W-_z! zrtlOiCZb}I7E+bEmnk-36_xUup+~yj7xUP!83Mh5N}ujNJ`FvA{(Tbufc`xSf6^g5 zBZ{arZerF=AAS?!386yrg5>;f7&&hwPtZSDT@j^p!)= z%-1l4r;K&oYE17*E)pYTRlZtgzLow`D5b5{1u7Rk0xclO?a)b4&hM?0;)zrz(+iTD ze`4gOk(3Wo+6(FABW5Tjo#ar8=;Y_jP)s_>q4cYhj~gLB!8-ZRR4yfSk`dpRP8MlI zu4r|dv0KAe#AXLKA zt==iBPU~4UR=9^Z$NW`$q1S-$LK{4v+eo|*0_sXF5UCj(rhY_H!-5mZDQ^uLS@`-G zUY0|2nvf~X8{jPi%ns1seUPy}Uo24n?2M6#)lRcXV{eA)R4oqbD1!p3~-L;@Cq%Hrx|5E@MD}TAQKbuQn0W3j%OoBZ(j|AR*e@lswXN{ zAs!{T$eRhllTEdRQelN5$e^5{0p*@w?!T)A6{|$6{dmVw>Plt9^MDQ!KyZ$DfpU$! zTE$Z9y2=S(8nob3xv6rUeD6yg1zzHXAFrdLb7Q8?!x&bk+Ov;xnzd8n=bN&eDPqcR z%QVVZGm|Mtc%_Rx&q?8tM=rS{kET4l;^Tcl74EdIxj0Yg2+=Rfkl@ag7kOz_)%!E( z+50H`7-})RvLV^(-GRN*T8#Gz6*V!+cS_lLw64YThtdJ2WJt7VsYmtW{5cUorRS1a zZ6mXc@lz9;7L4idHA6AQPaH~-K}XC`OoNU?(c&jH{iKDp?$BO+MDq0AMm+kCrcxiT zIFWucRO&mG@&$FHqJ;4-D%gz4G9{{vdon`EPA$t#R2>RMPgLhb8k*XAuKt=}WNymq zo$`Vd!e@*^Fe>&V46`E1>SJaoCdKAZiYWHuW+*1b=1?^Ll}J{sR@=(?1o>lBinV}yn;Mpi9ItZL`2X2;gagRH63ZU)9&R+hKASt`)Ft0giY$9WPF0VH_3doN`d5uoz^~Ug&zMfal{a~Jb?{Sfg`++!|6_@AP zS`6)XFE`mwUdbeS(IYqFi7ExM?b9KiO{6v++>DgvL+>HIb()WKx>LvlRL~%`miR9#J;Rakw#s)e13SeYq|WB zdZ!jWl6gr$Hb?a;V4rqAnZFNofF<)6;3%8SXF^<&&0pD@PCcC$F)L)_*Kl(Sextv1 zUUX1Co%f~yw)ak?bRQnQ3y-GLqZv55=*`mK{q*+${hgz~2kGx2{6!DA18Mh**>v`S zCaSbUeBTjo!X%Yj2FSF<#Cmlth(4yL9Mbedbc!GL=<`ONDd&v{0?JGpfv?0E)yj*H zKLy#A&X+%tX;i{VBfQf2@`qA*K1kr!A zh#!m?W=0!dHkaVg!Et@qml(kuiZ1Q^&p9e)DBC3M1v8Ysq@6!m=9Cdq-$H-FCd)9< z6^R_tb@OjBbM1!g!+Q`$!j8vXB-cfw|nC z_Z?@64vcY@biLY(6BcQ;067+E`FKPlEqb)uk=C*(m2Ow8b?X4JmcV7;7aE7PXiIkc zgv48K1PPapx89m*RKi*#ywdU3>r!~+!m zj+bP(OAlAbOXkX0_TgOygg((;GF5Y4(gzf}ykz=}@RAqdDaA_)g#|Bpgv+XLFDW|c z-%Gv|P~cU2JYrRQJlYN~DW#Q_IP!x}BRnT2+L@*i@-<9ylHvEI1iU{bfFAWp0IY_u>4v7D-UWPz>3A)nAzR>>(>JkdA`se=02Hs3){N(*rOo2(*FBzGL1_3 zZ-iIce?OeUBOkgXvRo-fG3)O4)UP|st`f!*;IhqR0{3{z!2AHe8beb@h@&>l<63RpOi4e6+N0YDegI{D_b~zel;Q%}9~g z;j>_NB2nKvsgIk?5HQW;`3X>+ohqV62f5!h{-|)HuBin1tl6!p1l~7+lKlDq5>ck5 z(usKwL8BcCIh-*z`5*CO!NnrTmZJFvHpibHD{+L-dl(HLhel{VbK{8WAXC;~Wc#?N zNBOzx()Lu+# zQ#t-#m_b1wf2BUhzb);GeDo6YE~$8!71qq%UYM{#t#7YYw{<(imz$By@Lqv@p&h5o znuIni%<4zVvL>*cs}NyMhQw}4sW~aD^Zbx%1WT<_#lV+twV=$*z6GE#Gy4uWB5Ghj#4s1L zu?}@nrBA{V8Vd4wE{dg>A?~?|vXTsm4nz(jozGU^RIyis??bxiB&_%25l!dlQJ>k6 zM~&<@Bt$Q*hqe{lwTN!BvOWIf`F;Bn4Vi)6N?lP9t>@|novaNXIq|;@yBS+Gah08= z_d4)BJ#0Y5A7!(EsC!xtU_YlE_cWscV`laU$y}9Y?@_LtLbnERRu89Lk%uoeXO&@E zj?cP92q+azS+Q|xX%qOzSg-t+7UK_X2;sqz6xf$iF6a3vXUBr*QETK z8H#Dr4Tn->iq&_`P)wCi4n^Zw`VKV5-P3!Li(^yFCg-bt-`;-9*M=r%zZY=II{O0h z)V+at-k>z2s2()yw}gLf##{`~ekD3B6=I*ap3v zX{gCTp238@TUq)bET+65RkO0s6bczt^Gax1FrZv8Loul)hf+i}Pnn^ZRFgyLS2dT7 zkatHlUqr=ILNyr=wm~(;%xU^YLu09W2i{$XQ>l)jk&#Aq^mFJ{Id6!Ei_qNt_99JR zyf5G(%Npx&DAvs(BWaqRlasKUlJws(lCDx>2nYG@m+GR~3{Jl_NK%Tcyap+20V->D ztp<5{uVPG(Qlvz`s}%VVhlv@rR1cti`6^k}yWlfTOAL2auOZPR{H~Zk*1laYF4jRhHYL3^>R3aCRC=_)1-Mc#t zR0DcC-~@6i!ogdO=o=RR;ZXE)bpAJ>FEv9kX+sHGYGx=VZD3Gxq&>=%K@Ojm5lG+i z=5YEA@)-WQ|1L6=i>SyOjT9SIgb%VJYs9?W48^oYObLVWUNaPvif|}J)`Nti#_lL%Zxq; zNM&ExsHo^n<(W}FXLcEjoZlG%cb>yPXy-Ta8A|s^f%&?U}4m@>6a_ zk`j}FQ=(_&c3Wk1!Y((k3NS1Hyl{)ZX`Fa5rJ}^<2CA221aJa`x=jht@wBU-;snU` z+nu=9u+O`7d*Ow6@;r8|GAt(nI+P=UoTO);cnk!@f^I#*8DsZFVk1taJZ?^zSb9dq zDQH?Sp;-kN|9LWtQm?aKH*Tbgl1UqG$*p9_aqm6BV^Srmh#Y3a`YLOv@uPr z@TipZIK~*_P+U*$RrS+z5g**z0wkHf3V9uzD%)pVzHHw~P$uyK-XS8R9qsv^Cmint) zw}fiwhOtxu_TSR3eu~$i?-_q&*p?H5^!K5HkYj&!>&lmP7dm-&F{+pdca z#Nd_8EA}nGF92=KuHS%1)UMN`?Xc@QGOA)KUo(jB(u@@J{ZsgT7f^$5{hVk-LdT^>_P(>4eSC9+e0J8vZ1nTW$&$z zVH>z>q2Ysn|> zQF0G#SUnmCvDHk@fJTdF>;{~65Z(}(t#`r@_PnX_zLv?fxI%ZmTP72H2b?H@jsAjq zCw7|=ZeWYMNH?HN^y|2ro&4?!rgU^-Rp`Knee#sc7syNm zdvg1oR&8T72wTYoG7F1gy6qZD0LYA>tE21+-zqk$t-G;Pqgx>Z832hlXj)N3FHDCv z-I=dxpSOXLd&!hz!7hIMbd=258!qrKw&G4CuZ}kCmChRUH@j|yJ`@n(3HaKj1y?3P z5Oo`gLHw9|qF)i>K0{=(6R*zSI8XN(zf!+hv%@e5YmVhNnl>!)IfkghSBhjm<9SW? zGD>?%$g#|wOc&ld3?eei`t5FgrG6vRm>fVFKN8G5UK!spwC*JIH<`>WH0R84%;VoTJ2h@ zjKElW0baS;p>H)&bo=QQs^%ztd8r-QokmdGXrU?{us7O4WW(0uvL)4$I&978MlSAO z34PTXZe*=Akr0mMxELfb;HH6?2sVbIBMu&);g8i;-6jwRcHjse0gwomh=zh0$Oe0B zfXMfS)_Qt+W{Aw;NCVCB*FX`QZp)36Upa6snQhzc8jKGc#%G;rB3@as0CyY|sD z+tJeEB3zCZ+MBRpy1x*FYcQ4$K-Qui0R(CAG2gJw58*rJj z5S~8QX#+saMn%%P8W(`t0w74Lp3uF#^Mv23Wk5y*PE|Ou}Kc6gjR>%ai zCNO+K6Jgsj7sf_hV=pAA-pm0~pjj~(TId7z3`ILm4r*6%xd3_@dRt9TaOXO=L9dVF zMRx3+K|lEd_=(6QUZ%U6L7()-#mIRwxCwe6T;VC)@RYwDksF?7_vSlAV>H#jlTkNn z1)$vM=pP1H&N1@9r7$IfE`kAGcbZrH*Kl2lHvZtgeje`oM>hrVaMJ*~Os$7&+0y0s zJY2JnE;;1kx2vcUk+!}zWI`rAPHUZ4CLn4q>5f-wVKj$qU= kfT{J?F7Hb((}4pME$Yoq0|)9F+S;iGIv8$?nIsqfA5H*t{r~^~ literal 0 HcmV?d00001 diff --git a/build/docs/doctrees/webdriver/selenium.webdriver.common.alert.doctree b/build/docs/doctrees/webdriver/selenium.webdriver.common.alert.doctree new file mode 100644 index 0000000000000000000000000000000000000000..a9badcc78269ff2b1e15410c3ea5e75498585167 GIT binary patch literal 20060 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 O=?1BPsVRjMT>F1;_(J6X literal 0 HcmV?d00001 diff --git a/build/docs/doctrees/webdriver/selenium.webdriver.common.bidi.cdp.doctree b/build/docs/doctrees/webdriver/selenium.webdriver.common.bidi.cdp.doctree new file mode 100644 index 0000000000000000000000000000000000000000..fcc94f30dc6281b4a78c071fb0a86c7b9f9d8e32 GIT binary patch literal 140220 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 Q3&SNEM8$Z+BYPwNAHZL`YXATM literal 0 HcmV?d00001 diff --git a/build/docs/doctrees/webdriver/selenium.webdriver.common.bidi.console.doctree b/build/docs/doctrees/webdriver/selenium.webdriver.common.bidi.console.doctree new file mode 100644 index 0000000000000000000000000000000000000000..04b1759fb3964799e6721cb9a322ac6f66bad6d2 GIT binary patch literal 11953 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 literal 0 HcmV?d00001 diff --git a/build/docs/doctrees/webdriver/selenium.webdriver.common.bidi.script.doctree b/build/docs/doctrees/webdriver/selenium.webdriver.common.bidi.script.doctree new file mode 100644 index 0000000000000000000000000000000000000000..64c67214dee5f37bd486da56c2fdc3a3b0299e0e GIT binary patch literal 54080 zcmeHQdypJQdDr6}y3^|9tPXQ*nn*yMXFMOd6;*o3Y9oOsDz?Y6+-d{PJ&61P%1Bf0{fs5ow|8rWWRB%&Me@zAX`OQQa0)2@WB z@5R-fVQ0h{JrYejV{|xl!#53s|M~dJ1ABBdfoR*b8giwH7kMJ z2qSC&>JQy$pFqa)R=XqO5{xt~;1`L+zSG(0F$~s!9S7=t0pJ%rYjE@1o10m6vjT z^H!{m(jw6V2~lSc=xq(t+eB#1wQ5#SuK2Zbvtg?YbW`CFd!A0*^2WDbcH3K@f1CU_ zLUOYSIr>Bo)=(0Wc}(5IQM91AMWh+>Yob-)s6c`#OK&6<}j0r)%~x zyS8U4gtp+*1)mD7dSlO2sZ`pH&mXdmS)7^NRpf)$RI7G%nzh1Pn6CJq2j3-{45wKX zoeBmQE(Ct7p%`3(VWVIT1&v`1R5|WeLnk^sj{RSU{wH8!9tT*7kR44FAUAH{O=<&( zsB?bxWG17l1OIsDjbU`}_B!BbV}O&^LSQu@UF*yWZy#>I{%j4te2(%zScEtuL{;%J^{e0^7T6d=Sy0~Xw41nz^W9cl(A1&HBLr!q;YaDC^WKF*u{>05G><+=?4Ucd^^Yt-y;;fmNK`$I(1@ z;H7Jz4hxsjETbD*!Gaw|^o6;2OI4pz7a9=sdad3OqU?n`~|G&0~sw>sa?NyyCpUBJy9z|AS0 z`gCXZ=v!l#Zx0N4(Wt#db{@}x zJO5$oR2YMC+;Kjq;s{y2a>a`LP~v>q`HJ(@tn*cRMLrzJkQi<7Oof796oZ0as9kFI zC4d651^Pmu!N282gJ=3j1F{q7nrufR5706T(E}jd5c{Au?8}PGAn9=`3?u|Ovot+; z^tG|G@mX75SLRQ1AI6DZh96(uXVYoVeE>U$d+rD)uXOuEqUW4#y}Rs(yL3e-mwgQC z_2RO7^0};#^-T8F4=~Mwua5AnfYNbztC+uj5o>UNjYQ=<{`y|dL%;s|UDix@f92$I z`K$S%cfhzE(ifc{qC=P?i6H$5V>Jh!w$tjMTa;AMRL%DmcrM0D15E{Lm(#V?hv?Xe zdTn2`VPST9O(U?Ic5uvQ6UHM@S0r7Xn|Us=6c4IdPP*glN>71~G$H)}$t?O}0ZG$r zYCGk6`O;~-Ast%CvrOsG6?6y^_3gPxOqFcFJLRSeS?917Xo>c9oONOCh+0@-BdcI} zo*!DNtUZ1H&HJ}wUT)viE++1-1AC_SO9GG&1&!~UiXWNUb>IMuVOYD9bePZmr7)5~e;mF6Z9h@tJIpFE@Fbfwqs zK{YO%1OJ$CSns!aUTH3OC31z>J<9qt-Qs=ClyPeXDKTZ$6Wh( z1=cbnx=|L(mRE87Kv8D5$mDFqdiVLg_LS?rak=Fss$_Ndm zcvo5q?k-6vCF|h{3s>Y|-4VJsqT^_ckfDWTRXtx!M~Wt81u8oubj^ILR%4dKxg0Nt zeg*X&HY4&eV1Zq}6LQAvM)D*IaW)FEE!IE4>n6Oy@{chJf#HR??6PBd)tVhl@1B~L9b{gP5J4QA(ebMgn_pd|8ZMQ0VjK!+_ob7oUooqMtjB?RAHZ`C{Af(c06N}~H8#R|)c zrsO2tZX4(bnEoN$D-6@$%Uy|_f=5+6PWqPoHQeHnnNTQ7H7y0y(u=w~4y?MxDQpFb z69L+w_(_n0Los;(isV7~(5?MpxRQ4-3V8(Ez?eWD#g7%M;p5|2S_3622QAd-pYM#w zC!q?xxVyZNgHpg+b`F5`m!JU-*5q+0=IkeI>oKgEG$3&;iC#Qz@g+_Uuj!B_)*s2a zDDx^V~rIKUe`m_ z!olmh+?CpbSJJuUFmlbNl}jJIw&!r34$&)-pe=e`4iYV1^m+@l&ZF1cp_D`~vx~~` zwIhebdi;|81E~BW>?$_d=rMlD28zcoaz2WEAAVeb9}#{`#ia|Obc$TWKDV>ai`nN6 z_PLXN?!r$Dri&0~ZVK$Wf6VSQJ?VXhbhuEYF>}#(tl2G$$4qA0g{d7&N9t3g^Uc*{ zsOk1t5^O#V9Xg<3^H|&zee!e;Hr-Unaa5Ztt%8II_J%%9imz%jBzYBAQlVO+>TkyS zDI8k93RMe-mM`V5)D~Kjt|VVXu9qpaNTBV~W7$)qM25ED@(9SZc){go&^iw;{|==j zxO8($8D4hfLkMkxBzp-0%*V0A`UxLD3mhOoo}3@a^nfO&(kqfR5u-XqL) zy+oK!Z1f#so~Ij7Cpw*C%mrQ4B!f)X=Mw1K28J-8D06Py)c;2ro)Xog%;m9u3P+hs zp=#kMvnO|@wkVTyCAkE-W>F?d$B?t(;-bMc-I>ozA`ay@0xt=acQt*9< z3;^><)Js2LE*t0-%;$jtK3iD85(9Hq8U&apeVu-ZOUc*C)fuA%Vr@vzZ?fr57z@yf z1z@Ef1%N#n1IVcz(Dn^Z72lE3)AmGdfk$pG;V{vCb!Vf-GFU91o@`Z;u!G%n@owlZ zHE56>Dya^eEZ(20q$khFWza<1;)B>_f%FRRvbZ~@M;|^dCp}uP$z0l1swVU9mtbrB zleu?eB+>tgSVvhQX_{OM+>k@?p}ViPsYPt1NYqUp$5#2oL|a8n?Lrn@r>-Wr}g~NT8%UxKWf(!$M|K66&*0AMLr;$h=0Vip@f)gQ-6?Ih5c?_xV=@Ppl6H_Fsu%+~z;~6m30plP; zIR=H);H(@WUk*H_-=m?LgNm62c?CSFK&KQ2I_qDBx3%VaTw#z6ND$IhJk4Lm8;em; zUnJ*?46g_7__X0BEU{?=EA=?)CJYz{Fz}w85Bz$WG<`3BwnszQDIPfD?N?Xz5&&W* z`iB2)8gr$%;b{~xbBumPYGX8)q{#N@wM+$KheYC;KJ>KenYrNNc&btXJVbhh$LmL9 zdh}CgKq!j)Q;yuVq3)P+o5ynHO42bjmN|R;U0{ftsE@o0TjkMFTPqnt%VY6JUoBCt zYwIP+byzXsUlP_IHnMKqOZFgCEu77|KX;|JY*w~vmU{G0&*=aN9hTq|uG^*r^Pr1G z3x(u6&^nKKPeZ9K<|&3Ob7`sI8QZ>|JdN-){bE~1RxHR#x7h>c7B)o?N_Y(O|7%8h^R6Qw%&w1lRr`T?I?PMrMg`Gl$ zr>nX1aNeJG^px`z^-w8@&~OUORuZy)Ndcni1qm*E=g_a`Jj8o!FJn~n(fAmDH&*Ix znrQkQ!n@Ku_?JY34;VFQw8IZ^PV(5{6J{zVI}}v%*x?tLwIU8Y6cKGMeYI?4eqaz1kha2LP^BDFrn@btvSp0~zNaadmmOnQt)F{m}O#EE% z_-iv2lUWKXdCYR{s6Nh0A%w{+1(jaSa+{Iz5}W0@z)T^tlRhzw zkzW&QyvC?UqcvW|q|RlHuQgLKS)-tm#~P2AshF%$Q0dhgeIw;1w#K8ZUsA4U3f5fs z0a)Wide)a^l0*2AL`eQ6F~|FiiZq(zy-e&}=J>~EDkgIjRPvbPpO~qb%u!I$%yB%K zOmnq5?PJIxd`1~We$B{2&vwbl6dpx>Ije_mmZq@sW`*&;F)~g}J;bSGDF+h~3XOj> z(&$||jLcw^!;gA_eDlg93gf>rGM+;@x~u2#D!qcLn%o2V@g)C~g$l#$wzLKDEy0B? zYm5U86S{4JsyXMB+s#x=RwtOT+obT8 zveqw?Y>+@$1$R0warCuK>QyWmmG@ARR7z9ZB6VfH74lRQC6NqMe_Dauo^rJA+oQI0 zXtsT8RF~}A`%|QK2P?E4>V0uj^zkzxK`px?V=Gh)lGC{ch>yjRXCKy&Q2z-$ z@D<=+VTr8(vr>->s2l+Yun+2$nBg4+y6@`^-Fbq!PjEjw4eoK;I<@W9n9rUVGmU`@ zA^W%MEQPEZ59ayIYHo-p@5O-9Ca>mW4!KUb&Kt-R>3!B>TUQk^G%; zQ>W>R4F>)75Bd+p(iaB(4?)$Op#OxKiV5^NmF}Sb1tW>&0e#MULC{a^k$ezkN`wB} z;Ns$ezQJ2L^8X!>&p>{~OC|jO2%c2nUkU^8{|=O^ANZFINcY!Ooa^m|p8*dX{-41T zgMU_9ZuoySU$z_s_V@PVcqOqJR@*4qL)vCC4P3I_cGQ<^uN{|ShsL?Z$PVuV?^nc4 zou=??ZUFp^jvu;;w%NThP2uLg zGs=_(`~LxKT0F4trFTVF30z8VZOE0Re{ZaZ!bpD)RLzO>51FZ$ke*Y?K>GAHjZYhC zr~qqNmlZ!StNy0KT1CD5r)RS_{TkEtLRb1;*z8>!UpLBOTsG;ftJJQIr;Rjn>Z*M| z>QJ{`8^v{$y?NuOM*ef?NDmOIz?soEK?_2WbUOOB;Ns#%-?sc3!vY?Ae*=^=VlPKd z8F_yT4=IsXiU5)KI7-vc1WPs`Az4>!uE@J_t&F@ASYnZvm6kj5zKU(98ARyqaaCMw z=jk){wynE~X4_|1UG@*{hVB_q_}vjVb%v~p3!P=e--4^+`(w!q2iz;5YR-Ur$V|l) za5lmbRk_qmKEs__bOlfeRf{Tj>?j5|7 zqx%UUoq_JcPbIvcgr^jEmqGx%Uxf1X1MjkdKH&Wn@W3ZlcVmgcJ1Z?WykD=pRNgDd zr_KlIaSbJAr0+G93(`5Exanm$BjjVk`lRvX+RyVus**m(Gae~~^a{T~{7_8q3|ZBQ zdsMzk+{-B;UyY^Cib939K_m(!PhqP(L~8HbCZ~Sr?Dj} zGo#u!4idxNI&dKj$t9)dj4Ocd2i4BPfi2GT$lBEEr3!4QF z49R9w8^9b)&hjvx-eYn^@xs;s&j`8Qr~~6j=q*qcQVDuKI{SRFB?Y88AFAer$4kvrOlB#lN_5SsE@{oK9TfLNwUP7Z%jfmM`D##VN-)^R2GEG4xk7>TgOvPlHf{JFEd<~iH z@5?xvA+?VEu#tAp#@TfpJ3Dwk$hxM0b#nO!V4eM)3-E2D7LC^UbtZByYy5$kipd%U zl|0t?6EhW)H3}-4H5M30{?bUfXIt#H9+qv2&$50gV2WJ$o=h=MrMA>)_M~g6Q=^2y zI43&?nlRXw1HBw74LAoX&jmn!cmj0q1}NcIc`g8!l~q1DqlR?mi{MVjbY@@Y0vsxI zEnTjbWa4Oxi2*->h z77hIg!i0K8fIta$;3(%k4?H8Th>hlnIg;0-OzGVa2jJp>!H>ZlKO>;Ck8)IeKZ=`` z8BCuP@Bw&GK}#tLpyf+Zs($uF$Oeo{C+3p^J^?)N^`B2-iLL*zQjg0ggrVU8P71iT z$Vmb1c&g!j&L2x@Z>5xRUO;iUKc{2E?Pza2GT>{%U}S&yf%RXGn>tN@kffu|`iJ@- z#IhHL`lq34PN@HhnTiSOIhF2E|E!V3@<2W3y&%*l)=2&eWlBT+=i%bwL48O6^0rU+^S{n( z=dq-;-j4gq%gClf1g?a>Q|B6eM1U8^P0`PuDWiQwh5d(t*;oOE!@wb^nllXCVy0pW z1Ds0tFhGnXR7e@Qx!%9GqB0)g79Hr}L)<-cSzXQ&SXh#zC9+WD>fo1sF#vOoIexhB(0&3sPNgiDf*{pN>os_m=P9| zb)0;sMSdq%LE*UYO{khPF8t6;#S|Afm5jK+B~9$&r$!no92W`K%#-J>RgkB zEx?`F6^tdmD;P`59UBf6dJ(c6aka3}`!Yb*>yX9sLRl%sUf+nEf!-O=#Nd*+sWWF8 zU|=srzAP5LF!&#UsyV^`dNUOh_;V^5;Lnz46YT#zBZ;1|zuO|P5&AjrIv%NB72um z!a6sQB+8PHf!Nyi*oILssMwLShn@}ZD0Cac!6o6&s{|4C#z;)^X@6{`K%mx(PiEEXP{_L#(-VH;i60v5RhK*o`vyhYkK&;g*P3<}BbH zoq|5c3ByKn-^>hLZk8G+L&x_@ey{+(v<07J48W7+(5^%GgwP#p;QHPjmtGF~+z`xH zQqAL)r1_n)d2m|`P4=iAlw3QUXEXo`W}L8I17c&LH3wc)4V~!l8oCW^vR;mzGZvuS zY@mglq7%)NUTB>tJMMy0gFmp}p_-4Tzph!gz|r2^0RzRa0;x)uejbk*nq%=%?K3D)?Df_w~n@3^DXX- zLkx_-Wa@Kv6+HMPaNyW>2sE}-;Hjf!yKcF)vQ@1j;xeu`Vatfa5HaRCnw_GnZSPn# z+nS?mIGTX_f+f0M)dk-O%OM;*X9GHc-E0D;z_LOBT4n)4}9}Mc=00|AAKs{>dATx)>zFCFx#82j71GTB1)!Xu-$^<)tc~IFgt!LRQnqxpwOm;n{AMf(mcHyq4c}}Q z<{&B$M~*bMK-tGqu_ak~PkDduKwu5!t%0HCPZ=DPZ z%j&dO+}4n*nC?I=h#El?n}V(1wSHNTLN|yy9o^r109J+-5=#k`V1w2QpJTCDc+;TC zZUC^R@n0fh&ZBxe+lB=OPh47Q`0h>sk)eDi1o7bNYH>*9WP%+xCO z9f!jDekjqNK0F3{s{(Y?+rIAc!a#9t9VX*8to0`ktC4jl<(1ZM!wWcCT%lhzHS#-@*l`^Xh|#{ z(ny@+%_~Ra4X{+sLX3HPu_$|cYtV1ZiqK2z{6iSZOE`#*wu~}#f!!R7J5PEr#5m7s zY)3b7to~d~;w{|saJG+=EMf-lY}d2RrWwZj^7D@FJMjUmWN%#|`tawkn8F}=YQ`Iq zaj5%k7RKV<(;AQj&hOzAeLn-{l~Js43@BI4p@S3KJ+;(7%fo)Qv7x{@M_r^v^-d3l~j+ z5`VpjG1mC#$jI<8!+*tp&407Oe=F8c2oc3OlRf@lfW%uT1c|qbOFVd&0VJ$*SepbV z-W(Pu{`&TD!ny#ygKR0qB=8zMi3BPJcX|eR0>|slIF%E4Z;M zw(GQ&7peE2-A#7Zr6?Kpg83e4po%4E7ST`ajkaaj5Pm$j@PhYgaL;xK| zeplAu?!&W69Ln6A%$&*lH(ZAm+(}865*`$nr%4W85*LSr8-=|~!}rfTLu;FMo6G_9 z3r4GA2D4p*MM%-a97!sDC;8sxC0dVxl=XSqMf?scB)aDMyE()GNF<6U6edA56$%ur-ZIw>^^#XYNvS0E$}A;^&&>yxEIi@SJl*i zgn#5ZNwcJVsr9Z^Sq1GW{>Cxfox|LJS>%2+fOqeQm(`%}OOdTt@K1`OV(Cym zLE?kbs`YxY>*ArV>CF0k$tU?IVt(W%w|Or5L?G<%*}A%U=d_ z`9(i2$x13Nlu|Ptne!}I>I8vh%22)JJpVqBC*f5~kL*y}*6oOOFQvF4h&<2rLoGnk zDEwmNQf~Et!0T^B^}MB|I@JmfGe~@}1JO*4Cah%}46oR!Qj8as7&(R(b~vP0d2&i_ zZJTVTiDY>!7ScyecbdFw{~ebWq!>I6h3lF+jFIb2lHr3hdB{Cuv}wfFHz0Gt>n3f^ zjrAM_3jcByS#1o`DdCH}Hg<6=rU?rX`y+ARor)0U6NmdH73=e|m}*6~EfGSAIjx0m zlQbU&v2`1yl+Di}9U(s`EY9MWg1bVVk>$|pEN4psd)cBE8QD^fNMfPP5EgDOj!m!; zr0NOw=Vk%w&%IRL-TvKuSE4 zx?qKpvjW<)a?&z9|t-wVcBYvSuK0(NF8Y=jPF?8}g4%nEY>CFc%#AyI{G5y&i@2 zSqxGxm~{&ttrh%q@p3G78Rka(G5E47gP}nOED@RG5GouF;G%a0YUgQ ze6MkJhRfmtlxB42;JdPfX<-V#ByJ3S-3e@+>S{F4ciYGrs=|~~=!UqVyfPxD(>~0= zYef7;#e6gJsq96|id<&X7FFybrV=L+l|PGA79&e}T0UL1I|gnjAEi(($Px>p>_(v% zh4BVoze0b z6dF+B41Gm0$MfQB3j`bliG}8UF-OHkPSnwMTdv>1?c_X_Gk8e#b*N-10IBn;1%Z@o z(RR#`YiZdII3)v;I-U(N>oXaa+Q?l%kz-<->j+_!*OFLdyC(D(A_p1dttEpsqBhvg z)7>atPJ=GfJ7}q3A)1UPL-Lspw52fz0VBEMq7sFzwR_iO+;vm;M~(Tu>uX$h44a|c zrc9zDBohlt=LISyNhKD`JzsiASodPvh6S!Qu?f0ah1qsK}Pt>N#6? z+L7L7&^QIaV<-X>H~6gS`i5pOx~K;mDjV7mWrQUygqP5WX{4rrxNx5G=vv++#t_LO zcMx?vEi*GACeHQS*h}ZArxXA^wUBkNJfXZyVBXqocisbi&ik!q4|!_I$zMpx zW83OvvRkOUGg;V@JOBlC9(HUntKgmkyGT~COo?UKWJk+3XEp(pMUjOZh%>>S6Y9Gf zH{0CCAMAI6ZcAb@D>FY@lKR<)OOa=SG}~?JiE5Xd9C_3x7GCW)Xj!Tdy|+-Cb0BLD zWg%e#0|&4kw`n>p*g%2{X9*~fL+I&dcF1;ZS67>nD*m=&m`ta^4D8@NNWdAY6Ar|= zCVFjY3{?`ghRXs%T&&VQRes2lGuW!#QfPJ{#+kECm4jkRp$WDxED@2tiMB7H84e6mQ)7427QbPmNX>Uf2gRSUsX+D|QAv4!@QY=ymd8Ym0w>Uv{O zW7fOU)vc0pm6XnQ(Z`A7hcWQuTraKU3yyq%Xw!`dB5}Ur0@GHeiL-q2p``sfOySx1 v(*Oiy-T*DItN?pJG0d>Et9d4CmS#L-I!!w=Xxp?2`KAqm`ve)4gIN17W*tae literal 0 HcmV?d00001 diff --git a/build/docs/doctrees/webdriver/selenium.webdriver.common.by.doctree b/build/docs/doctrees/webdriver/selenium.webdriver.common.by.doctree new file mode 100644 index 0000000000000000000000000000000000000000..18de5db25037e91bdc4ac12f9560d2f308d96d66 GIT binary patch literal 34389 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 ZZI#J5U!nOGybfYg8O*;(&#k4o{|9sRL9ze< literal 0 HcmV?d00001 diff --git a/build/docs/doctrees/webdriver/selenium.webdriver.common.desired_capabilities.doctree b/build/docs/doctrees/webdriver/selenium.webdriver.common.desired_capabilities.doctree new file mode 100644 index 0000000000000000000000000000000000000000..5e70dc5f8b8e5b401bb6ac66e5c71afc170e7a2e GIT binary patch literal 28411 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 YD%bo9x#}E6+u;g9Oc;&DW=-+`0Ce@F3jhEB literal 0 HcmV?d00001 diff --git a/build/docs/doctrees/webdriver/selenium.webdriver.common.driver_finder.doctree b/build/docs/doctrees/webdriver/selenium.webdriver.common.driver_finder.doctree new file mode 100644 index 0000000000000000000000000000000000000000..f3c4955dbe057b1f5592f8106d9101ab064ec492 GIT binary patch literal 14258 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 literal 0 HcmV?d00001 diff --git a/build/docs/doctrees/webdriver/selenium.webdriver.common.keys.doctree b/build/docs/doctrees/webdriver/selenium.webdriver.common.keys.doctree new file mode 100644 index 0000000000000000000000000000000000000000..845c839d5f3c151115e019be4560dd38c1125cbc GIT binary patch literal 96903 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 literal 0 HcmV?d00001 diff --git a/build/docs/doctrees/webdriver/selenium.webdriver.common.log.doctree b/build/docs/doctrees/webdriver/selenium.webdriver.common.log.doctree new file mode 100644 index 0000000000000000000000000000000000000000..f8302f35433d8fb5a60453da442b0beec37077e1 GIT binary patch literal 26935 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 literal 0 HcmV?d00001 diff --git a/build/docs/doctrees/webdriver/selenium.webdriver.common.options.doctree b/build/docs/doctrees/webdriver/selenium.webdriver.common.options.doctree new file mode 100644 index 0000000000000000000000000000000000000000..baf8d7b595bc4fac5e8f85b2be37412d3ba1c09f GIT binary patch literal 342613 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

AU)Bub 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 DFoj#i literal 0 HcmV?d00001 diff --git a/build/docs/doctrees/webdriver_ie/selenium.webdriver.ie.service.doctree b/build/docs/doctrees/webdriver_ie/selenium.webdriver.ie.service.doctree new file mode 100644 index 0000000000000000000000000000000000000000..ea551503ee744270ac508bbadd6bfda5e06f8f56 GIT binary patch literal 43030 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 QNdG6R*e(USvtOEXlUK$i@=jV4HEz^c{6y_jC`v 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

(vtW- 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 literal 0 HcmV?d00001 diff --git a/build/docs/doctrees/webdriver_remote/selenium.webdriver.remote.bidi_connection.doctree b/build/docs/doctrees/webdriver_remote/selenium.webdriver.remote.bidi_connection.doctree new file mode 100644 index 0000000000000000000000000000000000000000..eb302859a833ede58a9ded339d2eb04aad1660b1 GIT binary patch literal 8045 zcmdT}TW=&s74~grJYKK8-ej$yT_+PoVZCH$CJ8)5##*7Qcv|5H?hr?vp6;5d9``NX z)xIcNDF_9vqe_t2LP97)hzDNs19;#qe}Oli_yzD2;5${_)7|6Cm<1%V+VMm*(_8xt_+{3y*uY>xPlbQYDw&$jJg03iVXo`#WJxb!K_pmj;JMzuPcHdh$kbjou;q#^MB)uH0nLym7Ckp5sauY3rzs}!yAj%f`L*n3aXA>+&OyS4 zv?h}+VUOsM;_Li2U*&iBBHxnl_jwesev(1Nq<<782mL}F<&XHJ4?fer;jceYlV#L2 zS$MtzD>~>UDdc|f(Ly%hbF$%uE<3K6!dQvF1UdQ3Q1mPKyo%3VeD0CVP+Q_@Nw?)v zYH>`RtpWg6)}1DEYeC)4lo@-rN()&iHG*TPkmlzX%h-9hyltNIa(^iEKU0 z&7(bLvmEDM04m=yCNNa&3#Fz*AC!mk`_SLA*53_b4>I3QpkUuhV^(EgmMWL@dU<32 z#~-}$_=7he7vGAG+bfTge|`oB>Gk^fUud`VmwxUq6joKQh);INzhK*N)QN^yH)Zc_ zP9AOZ%y~<-HH!33w%BKIJzvHq)5k-D#c|jZ{;@--N$^oJ=O)a+vd_|0sD2pq;QesmJhWt0}xQs1Fo-4R| zv_hr}V7f89BQ(HSAm4@F1t^^m_-T~@A>|-)PtGt3e_u?ZqcigwTq!`$-O>i=*`vgc zd1a$K*@5Y!!FcDrx}H0`h4aje<|!9=@ZNrBzcACjwiEsqhT6|9wSP|=Y8xQ58ne)a z-&w~%$|`T)`ycRDxJS$P1WRncavuLIM~bz&DpUy=zrPqT0Ee1?xe%Wy*^E!R(5hlp z^d#f{4&L!w+$tBlLlas+EGoJ4>?p5rT@#hS_Cm!!mo1FMNsOy|k+_oAFlNWG?>U}O zPxRv>I|0Q>ZPsP^>P!cIm^DEZcvX-v71hQZ(9e*BWd-=le0 zTmcU@S#rp~!vG{oH+Uzq4C#fW!=@+UZP|bnZTQfP7Zd-INUjTN98UzcN2J zR}H_aG=^5?(vb5VbERz3uaZc2ibx&s<@}MFcD(UxwB@!w{xVk|H?VHp#2@(j_+_(c zi@r=f@%fi1U8G86UT4y)#=59LsX!{KPTrVR-&K>?!Vojc$=a6EV&9&q@Vt6pTV8`R zcMonrq4^1BN`x_fS<= zIQ|fi&p=4d^~ZSjU*Q^K1Vkmk&MDcK*NU9vwsyJQz952X?1SAxtJo<+?c zYvPv}!o5!kZb!uW?QsdWm0*_7RjS-Wj~zLYiyM5s_-Wap!=t3)<+EA@l*AW_^qZDR z%h3bMn`JYrdbFiLz;o63Ctw>r5>r_4KanI~OiN zd4XnhB23k#Mk+KAMYWwdvnnUbeXSp{|{^=Q|0k-7u)e(30;H_M8CVYz8$_W;nFHy5FDz5+fL4eIGO z8`_lh%&C@$7wuYpUp_AqJ4}6@8Cr1?jgXd`c5Oo-Vf59bIk{4-VJ?Oloi{JnoGhVc zur+D@t`;+<1uU0yg`qFLLCs>_=pH88qg<5wKeYV}9ns?Ylg%g-aVFFrUq>xGVrc8y z0&$OlYom!Q>>$SAS`tM9tRg~>m7MRRDmN?;`W#@vNWwf$eTkD zKsL-O(@*4eYQ2Y9U>y&mBtUV$MqRxaNl!ox{S>5bn;F1}p0SQR!7ZK3Kn$FeZ^+xH zdvY~l)LgTCcF3T}1-Zg)e==;y4R-87e@M%-v{=-T4VMkF5$LT^Yk~SZpv&w4Gi?~c zVI&Ok=Y`Og#X`U(xutApV%UAFt0Cu3{h`H@BuXr9hpx}idTtV{KqI+sbY7v-&{UM% zntC!tV%%FmEUp>4B@e~!JM{-so8=9X0bZAKsL0m^;dS2*N0~ih&^W>W0$!2G=Mv^b ziEFuxdR;h%TIhSSiP#weS)mcnEnES3xJIR_RZhtTfH+d1EQqa%GeWU?!UM7;p^fTy z50@@2(QZ!GFQ?*^Wo~4laK)+{X#GSfv#L9_mpH;Y^it0_>$>H7DRpEiUp8E}iXcJ2 ztwNX-IAUrscul^{8hSp2!@Gh_`h`PK9#g#r+YmJuCclPvNt5BDdAXtQTf71q!4Z8g zKvU{FH}1-{n8kR(F=U8OM=K1i!WiBT-YF>L3tWge-Rbu+o%Z4r!K1JjB_qVrEn2A= zz)DN70Ok?8UT1Ol)z`lPeXb=#XNo+{l;po!kVn|s!WW*1Th2pl2=xA`U#R_N15ClQ1b`M^x+$4cI;%~A@Wr$KEv z8Bm5pFXynlMU&?DcmW|k{wFTFRJLhaUxHYqADpKAWxVau&(XWtrI$&0&Q&1#*<@i? z=S8)I}t|o`tUm1H2roEq#7!aUM!F3M+b)t;m z5qB&4gFYM$E`@u%^)R1*3OD#jeHUPWY!k2ouS((n=D-P#)~2sbrnL)S^FqhZTnd>H Qq27v1P@kis$wGVo0?c^3YybcN literal 0 HcmV?d00001 diff --git a/build/docs/doctrees/webdriver_remote/selenium.webdriver.remote.command.doctree b/build/docs/doctrees/webdriver_remote/selenium.webdriver.remote.command.doctree new file mode 100644 index 0000000000000000000000000000000000000000..e76963a41edd2d87aaa21b640d72aec078b31913 GIT binary patch literal 188357 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 literal 0 HcmV?d00001 diff --git a/build/docs/doctrees/webdriver_remote/selenium.webdriver.remote.errorhandler.doctree b/build/docs/doctrees/webdriver_remote/selenium.webdriver.remote.errorhandler.doctree new file mode 100644 index 0000000000000000000000000000000000000000..92413ce6bf66e6cc58c08d533990721055d88443 GIT binary patch literal 137029 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 XE!J}ggoDWR`8m9hahXr&<=y`uEPR4k literal 0 HcmV?d00001 diff --git a/build/docs/doctrees/webdriver_remote/selenium.webdriver.remote.file_detector.doctree b/build/docs/doctrees/webdriver_remote/selenium.webdriver.remote.file_detector.doctree new file mode 100644 index 0000000000000000000000000000000000000000..2d38973b3e36e1cf32c0510aa38780c8f1de5517 GIT binary patch literal 26946 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 Tw@x`iCz}KriFXw-ef|Fd43-io literal 0 HcmV?d00001 diff --git a/build/docs/doctrees/webdriver_remote/selenium.webdriver.remote.remote_connection.doctree b/build/docs/doctrees/webdriver_remote/selenium.webdriver.remote.remote_connection.doctree new file mode 100644 index 0000000000000000000000000000000000000000..60e84b7d1cbb1e675afa02be8afd787ec9ff0ca4 GIT binary patch literal 59951 zcmeHw3y>Vgc^)43z#ZNo35o`f9EzmwU;%d|MZHcSB@m<_5+q0w;7b6wn%kYbox$$T zYGxLP6G@dEn-(FBWtm*tluDKuDv6y)w#y|cwiL>;8CPUGWh*6>lsFGMaZ*W1j;%f-&$RddMEi;MOgs_T%c0*2%1%4pfE4AbTdM?4qkX0w@1W$7 zTMK7J{_)T$N3P#UvR6l|W7Y99?V0LCJQ}%C&Cy=P2STUjG~8BwcG+2|1nxN}m<^n| zA35UB=~CHmG(?$H4vHB$>71wf_0GLP&;4YZ^E1}8QTwP}-5pPq5_YSb<1xYI@pz=> zHk|hH)`A^R+EEm^3#|y!A!%%ODn zaLXDu@%RzZNKA9~s(YaeDCHfzA$TcvSI&v(t%_*%0A#p@$#7R>FSKfQ03p{(Vbjqo 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 PC#$r&mkVJLMOXTNlS(%! literal 0 HcmV?d00001 diff --git a/build/docs/doctrees/webdriver_remote/selenium.webdriver.remote.switch_to.doctree b/build/docs/doctrees/webdriver_remote/selenium.webdriver.remote.switch_to.doctree new file mode 100644 index 0000000000000000000000000000000000000000..4491a3e1cfc02f124c924d5313b50af4a033fb83 GIT binary patch literal 32806 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 literal 0 HcmV?d00001 diff --git a/build/docs/doctrees/webdriver_safari/selenium.webdriver.safari.service.doctree b/build/docs/doctrees/webdriver_safari/selenium.webdriver.safari.service.doctree new file mode 100644 index 0000000000000000000000000000000000000000..976d66370fd47c834707d712c501c313ce9ac02e GIT binary patch literal 44361 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 literal 0 HcmV?d00001 diff --git a/build/docs/doctrees/webdriver_safari/selenium.webdriver.safari.webdriver.doctree b/build/docs/doctrees/webdriver_safari/selenium.webdriver.safari.webdriver.doctree new file mode 100644 index 0000000000000000000000000000000000000000..e1a63de408eea098fa62b98b6dbb02a8937fde7c GIT binary patch literal 314175 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 literal 0 HcmV?d00001 diff --git a/build/docs/doctrees/webdriver_support/selenium.webdriver.support.abstract_event_listener.doctree b/build/docs/doctrees/webdriver_support/selenium.webdriver.support.abstract_event_listener.doctree new file mode 100644 index 0000000000000000000000000000000000000000..59cec931c49e57c89b75523d05249c376ff49de6 GIT binary patch literal 50061 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 literal 0 HcmV?d00001 diff --git a/build/docs/doctrees/webdriver_support/selenium.webdriver.support.color.doctree b/build/docs/doctrees/webdriver_support/selenium.webdriver.support.color.doctree new file mode 100644 index 0000000000000000000000000000000000000000..f6e135b37e85f542e54dd398db6458992709ece7 GIT binary patch literal 19045 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 literal 0 HcmV?d00001 diff --git a/build/docs/doctrees/webdriver_support/selenium.webdriver.support.event_firing_webdriver.doctree b/build/docs/doctrees/webdriver_support/selenium.webdriver.support.event_firing_webdriver.doctree new file mode 100644 index 0000000000000000000000000000000000000000..b28d1927fe2b90ef7cab3b85dc641195f5d02534 GIT binary patch literal 54560 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 literal 0 HcmV?d00001 diff --git a/build/docs/doctrees/webdriver_support/selenium.webdriver.support.events.doctree b/build/docs/doctrees/webdriver_support/selenium.webdriver.support.events.doctree new file mode 100644 index 0000000000000000000000000000000000000000..7e02b9bdc1078bec2648ef4141cf215b913c2ed4 GIT binary patch literal 3006 zcmbVOOKV&=6!vSz9>1MODI`uCN*ae|X1eI2q*(;AG@V5$-36h!S2I$rE8Xg0j~9V< z5r{#%sK2Dp-`7v~HMUD=sPVwn(b0K+=ka^*&%bt7s=shxOD@!6MDtwfoY@$*a-I2t zDHlJ)XMe=E@gxiky|CJwjK#15j*JVL8>Zr$81@sp6Vi^F_nVewPH5FV=RMx%n{VO? zAB3J0PO@uP;jv|sDdCIJ1)JtZoHH}BzAUwIBX$lmY)p^wcH?KZNJf3ilXtPUykAn- z=^{T01JXIh*F(SYXA(A~P%KXTl!k5UoDoy+5QpUVy2x$vaWj+DS`hKwQ?#hRwsK!C z4^x_*88%BiK5RNVPgjv2@CSUCKjiEDIQ%;1x?p4Dm11Umq0QO2b$9oP1a zyP%LJC>`fV<25oC4nI0w^HaVOdP3!FaV_F?GWZv8kUvIXzrybceoygxmYhYrjHp~Z z2^%F9CWdE)&b?$meA(LjQROk5)V#z0X65~fi`4UP_;4Ae34erKu+F{{{&Jb{VHb{J z6OLhn5!U*#Wd68~v~@P=-iGe=Iz#+<9X8r&Z>6>mI^6K*;hr;8SxFPvNon-lFk9oM z=d`0Tp00%LmWSmy`lN3)>}TF2RFV#ZyDg>0V%W0GIicn#$D^*kW=1Q=R31bB7b-n6 z)D>u7dsliFC;VU%26F~{QKwDBA*VpIqeY3sj?vn|R5lZf7*@wI?9?U@=sg3&c60Pb z;mEllYpWL(B@X9h7!J9h2zeb`HNuY5rkGi{3aKI~iIs3e&#Qa7;>_@Jhs z;42Eb5RQ|!wxF+h&=lJw>>8H(0Fg*C!nqc6yV>yjp%wUkc=M7lW3(Zhs$4P@L_e9D zxfl-W$X}DvtE9wmeCy_x2wsN$TIkY%_UXf$7q?!9!{h*fXF1{{;ZO{FlB&6C13+Jsj4TTpJ_FNj|hjzTQu-~*r(oUvLuBy0j%xiz9>nDM?|$E z2td&&DwDv2ic%pxrG7~&E%Ui1iz1=vkS$7W8M*$lf=K4bxv-+f>jBAyrBj(4X{_9A z>jX8o3ui1UqbfQG-D}v$OvtKbh0oF#lvrk}!elB*%aQLLOflrCKAx_Iqf~5wjhX|6 zQWV0)9}k~~{gRagCBjgmSrxF|M43|9p6Vie&Ydgmi}4s_J1Q?7*J`BA9OZOBaaIO^ zlQ>o&Jr3#E0)6=8+wTz1eKX5$iBFWJ_^(^>s9c)xdWMN8n448P&<)1i6%xt@j!scR zx#RJ4D;xum1?eiYbAZ?~A>=9?+Dql=f^aeC54^tZ4s!u)wwUxH(V0*)V4!IVcT$(IetL^d6bZXh z)4CGVOg@W%Ofh9S%J&i$aK;>T+|R&uMp!|GB-mO~)2*yNYW5CbRnF>$b`{o{I#07b zY}KsdO#i9WE zW+K+#{55}N!ypmdWeE%4M*jNB^2cfJzQRuM5-Ux=HlS>!jM(@- z4U@mIR)qhtR*Xht{I?@|xn+#oEu$W*K=%t|Ff}_h|5DFBVg6%+uC~+MPkq?C4#_G= zdzk>RQC(E`@B!md5uAn$bK c3Yj}XWzy%V66Oh%+j;8XO|wfoil2`D0iW}(w*UYD literal 0 HcmV?d00001 diff --git a/build/docs/doctrees/webdriver_support/selenium.webdriver.support.expected_conditions.doctree b/build/docs/doctrees/webdriver_support/selenium.webdriver.support.expected_conditions.doctree new file mode 100644 index 0000000000000000000000000000000000000000..a4452c7eaeddd1f01124e6ffafb63b735bdb8595 GIT binary patch literal 355651 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 Sm7zRBb_BWw^|moS`u_k@5I`OP literal 0 HcmV?d00001 diff --git a/build/docs/doctrees/webdriver_support/selenium.webdriver.support.select.doctree b/build/docs/doctrees/webdriver_support/selenium.webdriver.support.select.doctree new file mode 100644 index 0000000000000000000000000000000000000000..9c20afffc68a751bef5260f2a26c98a8f8654931 GIT binary patch literal 44252 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 Hzq$Vh;p!pN literal 0 HcmV?d00001 diff --git a/build/docs/doctrees/webdriver_support/selenium.webdriver.support.ui.doctree b/build/docs/doctrees/webdriver_support/selenium.webdriver.support.ui.doctree new file mode 100644 index 0000000000000000000000000000000000000000..aa1f0933617b1d643e3b0445ce42aaa3a38347ed GIT binary patch literal 79498 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 literal 0 HcmV?d00001 diff --git a/build/docs/doctrees/webdriver_support/selenium.webdriver.support.wait.doctree b/build/docs/doctrees/webdriver_support/selenium.webdriver.support.wait.doctree new file mode 100644 index 0000000000000000000000000000000000000000..e46d24a61397dc51a2408473f78feaec0ff16efe GIT binary patch literal 45052 zcmeHweXtx?b*G-B_bokr*pjd%*=-r~M)2Oq5+?CJ%L0Gl7?EdU1SUwzsNYP#*VCFW zPxn~w1-zw%*jP@(rotov#}KGWs8m8KU&|)2B%zYp5E7CNn@zU1mRc6G>>v9_D(n`l zA$YUDb3eN8?diGQJx}(^MO@ar>7G9K+;i?Z=bn4-@7}&V{&U~_%`NP|aF^e4>#g;& zU8}X)HOKFVQ?+)r*K}Gz|3m$wKhb}pUkazY_9egF>sFn9xCKvC-Flr|y|f+zdD))O5YbwmMs!s$vRl)EjQ5V9?Z#9l*n*#)ayE}uU-Gjm_Ng*x}DLA#4z?Te0Y*;Yhr)$yy{syde4s!3wp zgml$*tLB$wXc$jcLbMpHDOl^admY7^;!re+rY_jhQy{riuLW-Z^b9p_6OHS^ep)x zK8EIh7JbL?_MU*?aLj&q{F3b4^2YK$dR-!J+Vxi7{q=AXSHVUHJ@7WFOgM{cXT8&? zSJ6j4&3?XQcU%1{;WV0=$Ko8FWjKYWSr^w|W*h^%yXFM_Fe{GhR>5N3htbcya$?-+ zF*IKv-n&11)vyqym`h(Z7iVablU@9*d)WPBbS=c-UlEzfMu^}8c<>q2qwV_URN6x{H|7c;hsy@zs%~Y?vHw;C2O_Owu1$$({3~>t6k@@p3|ysh}+iP*6rmt zELh;(?mD%KvtD&NG-~m|1Ys6BEI&kj3bLEC^2Qm2-?I|l4T+&KjpyWW*c}fu6KtvJ><8n9cuS<2v~f%+ zoQ0<>B51J6ggdEj%plmcmYnE{|DmMfy$9)z6mpsgnUpY*Hf1DJ-noprPf^`@#ixj0 zR-NB%uJc}2XUcM$4!pEc$GBH%o?qr8j%zz!2)CADFcL-;WLgSxfAlnKcM6)7WRp$s zho$Ms%h=(RFM{|A82=?jtQo8YTHFUa4o)N)0jB|7Pa$ z^Z0qdl7zhqE_v+r@6B9H_A0n&_BzfI9wOlLjt8UO=jf6~ zs&d>Y_^|P55ySi*3MyonTm@IbFb^6s#560N)1Q~dn!Fur`qf5F8*SDCX>Y~LW3wmB zTue4Axa6_fH<`JZY*ujDjLkk`eT>@sT|Jz>t%oOu-8Fp6sI%($YFzwU{8>vjiY z8BDXP$;H^+(sc1Hw$}F=8HZ!-!LItpiR7SHz>I#{$Rv++nB1+m*z%2%_-(_WP71}o z$721Wkt3zkt9GvuR35h*Jx3QYyiQEESA0y62aomIv`BP?1~ng1CBF)>=&rN@X*3Wu z4?xpm)!xDKq<+$Viq-XLqq>Yn{@WnU8MFSx%*7P51eZLn^kp*_Q_K=vw3uaOwFhsA zl)Q0DQY!BDbz|jnhBPrJtoFmZ60;b^Q^l{Qwc}Z7K4WJUAzm;F;hEZzb4gLwcCvPb z$Hca)k+1wO)Ktq?W`&*@x58OV0Uh0Ftp8{_nvQ0p6h)PcjB;AkU}C56x;kp&6I+;m zA3Lwq{-m+?In z7pHksMUtO1^2lqs11`Ruu^G{5^-euc$Ct-4o-;~n%zs3e^d1DVXly+smHRa_m-nNH zfnlu3c*>}x3X$!hWU*=MBxoh zWR>*_WvZ2Ejt`fZv1A!!gC+qEdhxWlGCPafb95GAFdnZvm#Tnh^}}8AYX#^CS4--% zmWtF2p;Y0k#K0Q~2-XmI34l)+;MZ$?@5gAgFBi4l-=hrp>(nA@{rS91tQ+qJ5ZMGa z0;mczhy8GdCWEnv4V;+1s2)z_UbklblRFVkt@auXHWSJ#H&Y4PRZ?`|_q~5a-PrA? zu$s<(h@YgoTcrELk-{OyVYRMv1h#MHU=P^BI?O?5o}FrUAlS+pLKz$ZYtqJ>ba^pLY) zy}1roY_Bg^_qkmF3axh6dc(}$%>#-XSM++muTiG@}~jg>MB)Lp{~(zOQ7PE(*9(A1ryDv0M#k>7gD zRCB_Y?hi*VGgjN%il~izPU>s|I(sYAnLe46a8vIs#6Y8ZFoP^%vr~MMG}%q6@Jq|g}HT^sa~s5kxkAs zF}>H}PZTZ6V!;7Ex7=&4I9(2&Wbi_31&-Er2zba)l|AWE-f^{vXpKVHQFI-v=nB;( zuZj}hG>w`+$!mU(!j^lG_vXP{r3HwSo2vI$oLFLu)falRu1KvUOzmP#cXre^Lo2-b5QbUu8^6W!5(`9|d0oMBV zhU0Vq=0Rk~ge6Qhxa2r3t7PnWRsK_^(ktd5AaD#iD(^h-j*n?u1-lWpWh> z<3#lpt_@Ahn{u?G;e1SHf_oF}W%!@jvI_s`n;D z#SL*dS8{N@HzD&K=Bm#OPPkJ-C!k~&hr0vpMjcHAI297j=`Xw^?WforUOiqQawpt2}S3!OY%Sd&D>H96e>O;Lwh;zSOvdek8*?hnJc4n`gFqB!c9DQ~0T9gPzx z`;|ji6|br7d1Es)lum`S@lLoUEQHQuc!b?ysE|vUjU0x@#nTwrFe0CNVBKzZ8csAE zk8i~7{!F2Er?L3^BMLc)+Q&wmJF(va%d6*+F6rAEqFwcA0eOf5;1(a9lW#d*MT~YqB)hq zO1jlz+jV*^?6$N5*Re2bM+1FI?^VBnG_w7!{!A{5;aLQWsqD>F4 zzkR_vzF?Jx*Wu{V8Eo#c=)W@KUjeqc)UcZ?HQQQWvewI(+5n20SEzLFM)@Hiv5)we zp?IivlBoLcE9M@qZ<|G7o3ofhG)2)}w3e&r|jG=-DGsdQX~J~jSfa>z8l zJOsZSX)l9!03I8jVg^?_YL(~#XAh{!*Gr5FgTmNvElqev@zkWm^s95x3h1y8@@xk5HhLH zfEqiOeR~bN3y^~%6wJ>bwH8n1AZ1;9$vdk`H_qBbcKYHfj^=+D#pbl>!;-g#vOE_b z2GqJhfPXeBDtzwR+%6yuhT-YGrmCh7URw<=T2e#h9+g#$ZSj5>%YccU;p^xn9k4sW zsih&v%h(eBHfp{!OE9jcei@`WVMJdyb1|)e3od!qY`}`&X(RNZzSOPKczKiI-2N!Q4}Kt zqyU%OHp?ZYVYH0_uQxJKXD&@GG61mN+^&G)ZIlk6dC(|a@itnJF=T8(G3s}0noAzX zu9~@+9Glx)iX}{n2&xG4n2}9hdl>N0IRRjk3||HZebOjNj>gC0`tAsue9_s!c_=ky zs1}a1)JB?wxQcs~pEL3g$1du5DvhN-L?lC^P`ZWxvXMy+A#=g1e#guu+x8N0w{(cu z=gnM99i)h;dHm?F%v`c%N%5nxGl~a&#mFG92NjQ~XH4MPs})iI!6;k~d()?ca^zMz zfvP@zWG6Ot{Uz_gwe)e%z^FnbnOdqdDV~xJ9bLyRJvV7eUyQ=cfHY^Kc*xAfj)_rwrK*yXUi@^*PU+r@p=u*Dwpbk z%YNYaP0Pk9b}b9XXt7f?t!TYwhPRGrnpzv{{a8h@9BL{%0MM*$UAVwn>B0rxP9@+H zotK5N(m(uMREKJV6O`ad(M{ASXz1Y&Hr;1oQEl*BF6rQNqBy!Z(3_7)r^tvFY zW2<6mpcI9VqridO!w_DyWMFapJoj+Z(TSQdrh`Hb8kow4Ha-(8>ZVBSwE5md^GleB zP|y_Ab|dKX!bEgX*u7UtH;T{Sv*{wG_O3!nv5tSBh>lg)Ac)}!reLF2N)V-J7NR zr^`(FI;9%Nl(bYEQ-2V2@i{5sHe$er(9xltSCm6L-9KQ-r29uK&vZW@4vIw;!U>zQ zJ0TDvX;KCBWOR*05@d)&o+x%12%jRV$1r>75kR1MWBR5y@zPrI3fFA=`+ zJB(y_*c^;AMD^_qDpQ;x`v09lKNx3-iW`kNS_lNVkdRF6zvkej#~7lLZm6o0x)7SP zO2ii&4o7!0W6Lh@OQ=d_OtI^Di-8hT#C7a@_ZKk@7E|ttC}h)LpChKY$sQY_<)Kw; zo`;WlD;gP#@v?2X(y8{ded*QX2Vo-(4} zi6~_Bx)DzL5lq2G6JEb%!hes77w^?2=v$9pCSC$-E(tM)z~Kovx0-gUvVG^6=JBlu z?vr-<%BwhUNi@r!pjnatWbaqlT)y(M8hznHV2=k|^sqLG`#B9lk4ahuK`(Ig*gM6# zmJXn@3`2hjK>ne~`Qx`AWe>@6?zZT0f%bjiKAhPBEPuUG4>l_8RSA!;U}FO2duyc# zC-3kb5(Je8(w^*~gZ*DYNfcYA1H&a~KK%T(Da7-apNqtJ{_;mng2Yby<;VqdbgXJ$ zakJvTS~$XMn~o=9(UhoHW+HW?3`XW~x`j5^#A`Kj2&NO2#MA=sS@o%fa6+Ol{{ixc zlju``;d1)kH|dg{kF8#}+Kc>6PM9!gwdL12d3%w+2Ifk*L;NVO_uvWI0)}fpdT3Xx zE$_+as3hX&J3)Y*?)+GqgTOJfIV*wa7pI792FQPJymMr9F#ivZ0OqI7Dw_uMe@P40 z+{M{07~aC8gZi@s+6;D|_6F$iz_Vw%Jx5}>HBA3>)I72iQSQVpd;N?sjMQ^w3Ss+q zM@5Anzm~E6+4$5-O4dZ;w9lR;82^Z<{nteelNOeZ;GKDp zB8$p%VDY~&b1{Lj1eZJzp$E-eOt2ckMFV5)PFHX|hs}2bVIDjUr2nJF%4pNdbW)e> zCK6|E4?uvg8c6>gX|0zI(r+3?F~SuKaCy&Wxui6V2GYM`WRSN-ibG289~n}bs=agw z^GA)s6>p<-kp8c4noAx({*0N6$&b0l(kwv*7k|OX;H9&K(ZO8>EaATxh09?HdUl(m z3(yHv_31-50WQ836-2-B(twM z&kBHx=Z&1z7S@iElI-X8}#$W0cnjE*4z!fQuhCb1{L73&?Wb z%q54_DGG%L824JS4ayt2BYXN+1L z+0$M^obgkrF~WDA0QNDXa7MQhT=Za^zT@drW-g||MFCkpYvy8dE6ydw5>j>!{+W?Y zUV9iAHe9WpgQ?AuK5F=iQ4(VxDY*2pO)B!l?KGPqrz`kHJX7&M&AdL2f(A~%7TW|< zB}&h+UodmYHncoZiq>NUI6pl;y^P@e14Aalh5+>A`trGiSX^%w@%5zu=)Y=*1n67% zHUQ99rnMwU|Arwl=|FwiA7Ju#r^qM~^Iic!{SwrW8-PgD?5~jdI5fm(zt599eph`u<=xr~>NIsN|&*8gqPD0g3( za0-GS{|1+61gE$r!TMiJs3RV*nn`@ID^XM|HSo=GUx~WpQyOq7x91c z7V`fBV0|TW$Ua+DX$bVk2_606{W-9)8VF718^9}z;wB~TW0Ro#n|Brn9SlHwD58*c zxfVhBcSN-;o+l9I`F7BcmM2`3p!~Nc)ZtA4wi8WBT)bJ$w+=0~u7N@ImzVX3!6Y52E5WQY3tkWi965C2*|5*NIAcovKa>9j{M> zjyIxRGeXDJ!ruQ31j(Isu+Z^=h(d;rJlOk6LF_%-j?Q+tzs!*PUx~yk9&-q*{0U|m zDPxmt$o-NDa&J}$pNfo;_Wzco;Hl54ETnx#$?^F14~nQp9a0cp{4-21MPdR`{hJIb zQ%oTG-(~ch2iX7JsG<|Vo>#&gVg$fm1PiJyD2#%j9+-$q`gAfd z-H`}Pzm*-Bt{$*{%UsdW^kURXGBo`&us-#~d3l2TOS&U~2M$=*92#;&VEtf=>cIMc z{Ze7l2Trh$@%0RRn~AY!=hmkK?d7`B?_ax>fBy0(Em`?NfW5Nw=ujairM;RWSP_t3 zwr(=)yg?5;;SeDG;DD+akY28(6bI6K-$Eet?t<*zx9QtS`u2aKZ!h5674JLj^SkWx zAKB;k*yoGv^Z(K(MdKlW_c-u}lVTr%t`+YaC_&2-2j7sfPYy8S(o)iQPi!nWETQ)T zVXYI1jRoWEl|lNx0ywRp){;YS}Wih#CAUW&Sj z-SY9HLr(68M(44*8t1nYzzgB^LDz2i4V%4(6UQ^H zVY9m5e**8F9S_=p-RPg*63)nHunqt8mL6K(9Si5Gy)L%q2NhA)a=1g@q4)Oom%}Ns zIl}LUd+;uV9$vxWm+>MI+Fen@%I7P6$M~>gQMJjI^5}FcUY^}tgPc)lV<*lHF}#a|xd4I(8FxrqK{phlHW})mzY31*aplYqSL=obCmyi+3)v*99Naf2=s& zZo6A??N+VfbfJ5yYBj)Xk-5&5QpQ;+{qS(&mqZcXQ*e}Uj+YzPK~f*me@GCAyGaIE zo$o?L4an3FcQ)+SS`RzOpmBO(^H!(T53lPwRUC6%sW~0k4A|6}VkfX2XBBTnhDPc& zX$p9;@toZY+LicLxD_v84tLgi%}ymUMktouU@rn};dKxwW*57|%$!<3zSZ%aUaehO zZ;~nP#umc1?^IMuW+m02Lc7+uvF>8;kHK+Mw9$~)a#A`89Bv1M@v&!!c^nGeDITk= z)*BEG?-JTi-@wFoy38w`79C!N6EI-<_9ZkGzdSt_?qP4pZaA$q7-9qO+zk3Zyn8;J z>o}eGumfg^bZ5mz-N`A!SGhsZ@t2Mr!)?FZ*}#U3R=M3>gD>r)Cs_sXWCd^AMe_t` zjw#$=dbh_ob6Ra{G2nEO7pxFSk>A+rr7u5o{ ze|joB44Z6LBIk@wYpD1gvXCp`Zhr&sa9gjq^)N_MeqSpfnq z%D}rUDUOGGwY&5#Z+07{twtAgN@Tsp?oZN9{=MYAn>xcs>Eoxcm(=?Sd?*PGLa}<9 z%Q7tn@WU7AtJurD+zY3vNVZvy`W05_6;|LC?~5q=iudR2^Do%vm*}(S-a=0jXY`~e zae~JLms2^oL+ly384tR*pd&n~9W+DzVmMy+@osdS9D`Kluc@rV;nUa3o~b^8B;A7$ zj~`um0}>eaLVKoV_UbY3UeuYrMu#2C$&MKH{uER5?4UgFF62<`XbkUD^o=%}dtaju z+R@8!LLT9WyaO0nvekO;Y5GPJdEN{3K_h2xfp}0d+Y5K9uE&gFXSEIoCToI$@H-S? z<#XKX)I0n+s2;A`TxmBVZ)T5PpST%4J*|~EEx9tHy;}L`EW1G;p>JQZEb$An6~zB) z8yoYeqnoX^@vdyAr%|V^ z@pQ}qzG34%50w^0-6iXY+{k?-GP7e@H1Vi;3A@tO6GrbSteoQ+%3&eP4yA#Og~GtL zKeYVjhbd7NMn$@jD!Wlp(%|t0G;d}!wsMyIN0e?YR@;dzGN?@B3 zKBzhGEuf3_MpG72ZbzNf@g%9BzBo}rUr!a**ZZ>cMM**-eO<5UOHRwj`l6*aqrNuP z{fQN$O_dRMp`R$M&5vbhGm3CqMT8sH36R4odgKc*X2reCoxtY`E9WyA%3)b(AyZSk y067&Kn;NiyJ{C=UuSssB%@*`}`PRca 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 GH~)Vbh$K${ literal 0 HcmV?d00001 diff --git a/build/docs/doctrees/webdriver_webkitgtk/selenium.webdriver.webkitgtk.webdriver.doctree b/build/docs/doctrees/webdriver_webkitgtk/selenium.webdriver.webkitgtk.webdriver.doctree new file mode 100644 index 0000000000000000000000000000000000000000..6f84d35fcf68883792ce31b22f82105cab795ea1 GIT binary patch literal 308239 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 literal 0 HcmV?d00001 diff --git a/build/docs/doctrees/webdriver_wpewebkit/selenium.webdriver.wpewebkit.options.doctree b/build/docs/doctrees/webdriver_wpewebkit/selenium.webdriver.wpewebkit.options.doctree new file mode 100644 index 0000000000000000000000000000000000000000..4f441090a24462755d9ff36852e91ef3c5ec1cc1 GIT binary patch literal 118400 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 literal 0 HcmV?d00001 diff --git a/build/docs/doctrees/webdriver_wpewebkit/selenium.webdriver.wpewebkit.webdriver.doctree b/build/docs/doctrees/webdriver_wpewebkit/selenium.webdriver.wpewebkit.webdriver.doctree new file mode 100644 index 0000000000000000000000000000000000000000..128f26a08c911dc2612353b1fd900780f8f4f10e GIT binary patch literal 308356 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�J+9ji*k)gRa!C?q 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 PRxA&VZKtn}^!5B-p28~B literal 0 HcmV?d00001 diff --git a/docs/api/py/.buildinfo b/docs/api/py/.buildinfo index 490661538864e..483ab8dc99953 100644 --- a/docs/api/py/.buildinfo +++ b/docs/api/py/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: 120732218d8ddcaba9c0e5b546cdc391 +config: 3b06c21a5661ae51128600fedc67ff06 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/docs/api/py/_modules/index.html b/docs/api/py/_modules/index.html index 4193739c2a3db..c3e1a50218c80 100644 --- a/docs/api/py/_modules/index.html +++ b/docs/api/py/_modules/index.html @@ -1,40 +1,196 @@ - + - Overview: module code — Selenium 4.29.0.202501201850 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Overview: module code — Selenium 4.30.0 documentation - + + + + + + + + + + + + + + + + + + + + + + + + Skip to content +

+ +
+ + +
- - - - - - - + +
+
+ +
+ +
+
+
+
+ + +
+
+
+ +
+
+
- - + - - + + + \ No newline at end of file diff --git a/docs/api/py/_modules/selenium/webdriver/chrome/remote_connection.html b/docs/api/py/_modules/selenium/webdriver/chrome/remote_connection.html index eccc83b676231..bfce51cd16738 100644 --- a/docs/api/py/_modules/selenium/webdriver/chrome/remote_connection.html +++ b/docs/api/py/_modules/selenium/webdriver/chrome/remote_connection.html @@ -1,54 +1,210 @@ - + - selenium.webdriver.chrome.remote_connection — Selenium 4.29.0.202501201850 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + selenium.webdriver.chrome.remote_connection — Selenium 4.30.0 documentation - + + + + + + + + + + + + + + + + + + + + + + + + Skip to content +
+ +
+ + +
- - - - - - - + +
+
+ +
+ +
+
+
+
+ + +
+
+
+ +
+
-

Source code for selenium.webdriver.chrome.remote_connection

+  

Source code for selenium.webdriver.chrome.remote_connection

 # Licensed to the Software Freedom Conservancy (SFC) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
 # regarding copyright ownership.  The SFC licenses this file
 # to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
+# "License"); you may not use this file except in compliance
 # with the License.  You may obtain a copy of the License at
 #
 #   http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing,
 # software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
@@ -60,8 +216,10 @@ 

Source code for selenium.webdriver.chrome.remote_connection

from selenium.webdriver.remote.client_config import ClientConfig -
[docs]class ChromeRemoteConnection(ChromiumRemoteConnection): - browser_name = DesiredCapabilities.CHROME["browserName"] +
+[docs] +class ChromeRemoteConnection(ChromiumRemoteConnection): + browser_name = DesiredCapabilities.CHROME["browserName"] def __init__( self, @@ -72,50 +230,41 @@

Source code for selenium.webdriver.chrome.remote_connection

) -> None: super().__init__( remote_server_addr=remote_server_addr, - vendor_prefix="goog", + vendor_prefix="goog", browser_name=ChromeRemoteConnection.browser_name, keep_alive=keep_alive, ignore_proxy=ignore_proxy, client_config=client_config, )
+
-
-
+
-
+
+ + + \ No newline at end of file diff --git a/docs/api/py/_modules/selenium/webdriver/chrome/service.html b/docs/api/py/_modules/selenium/webdriver/chrome/service.html index ce6a917f8bea4..6ecceb7c7a850 100644 --- a/docs/api/py/_modules/selenium/webdriver/chrome/service.html +++ b/docs/api/py/_modules/selenium/webdriver/chrome/service.html @@ -1,54 +1,210 @@ - + - selenium.webdriver.chrome.service — Selenium 4.29.0.202501201850 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + selenium.webdriver.chrome.service — Selenium 4.30.0 documentation - + + + + + + + + + + + + + + + + + + + + + + + + Skip to content +
+ +
+ + +
- - - - - - - + +
+
+ +
+ +
+
+
+
+ + +
+
+
+ +
+
-

Source code for selenium.webdriver.chrome.service

+  

Source code for selenium.webdriver.chrome.service

 # Licensed to the Software Freedom Conservancy (SFC) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
 # regarding copyright ownership.  The SFC licenses this file
 # to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
+# "License"); you may not use this file except in compliance
 # with the License.  You may obtain a copy of the License at
 #
 #   http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing,
 # software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
@@ -62,8 +218,10 @@ 

Source code for selenium.webdriver.chrome.service

from selenium.webdriver.chromium import service -
[docs]class Service(service.ChromiumService): - """A Service class that is responsible for the starting and stopping of +
+[docs] +class Service(service.ChromiumService): + """A Service class that is responsible for the starting and stopping of `chromedriver`. :param executable_path: install path of the chromedriver executable, defaults to `chromedriver`. @@ -71,7 +229,7 @@

Source code for selenium.webdriver.chrome.service

:param service_args: (Optional) List of args to be passed to the subprocess when launching the executable. :param log_output: (Optional) int representation of STDOUT/DEVNULL, any IO instance or String path to file. :param env: (Optional) Mapping of environment variables for the new process, defaults to `os.environ`. - """ + """ def __init__( self, @@ -90,44 +248,35 @@

Source code for selenium.webdriver.chrome.service

env=env, **kwargs, )
+
-
-
+
-
+
+ + + \ No newline at end of file diff --git a/docs/api/py/_modules/selenium/webdriver/chrome/webdriver.html b/docs/api/py/_modules/selenium/webdriver/chrome/webdriver.html index cb9d8ff7e254a..bd5d80da485fa 100644 --- a/docs/api/py/_modules/selenium/webdriver/chrome/webdriver.html +++ b/docs/api/py/_modules/selenium/webdriver/chrome/webdriver.html @@ -1,54 +1,210 @@ - + - selenium.webdriver.chrome.webdriver — Selenium 4.29.0.202501201850 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + selenium.webdriver.chrome.webdriver — Selenium 4.30.0 documentation - + + + + + + + + + + + + + + + + + + + + + + + + Skip to content +
+ +
+ + +
- - - - - - - + +
+
+ +
+ +
+
+
+
+ + +
+
+
+ +
+
-

Source code for selenium.webdriver.chrome.webdriver

+  

Source code for selenium.webdriver.chrome.webdriver

 # Licensed to the Software Freedom Conservancy (SFC) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
 # regarding copyright ownership.  The SFC licenses this file
 # to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
+# "License"); you may not use this file except in compliance
 # with the License.  You may obtain a copy of the License at
 #
 #   http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing,
 # software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
@@ -60,8 +216,10 @@ 

Source code for selenium.webdriver.chrome.webdriver

from .service import Service -
[docs]class WebDriver(ChromiumDriver): - """Controls the ChromeDriver and allows you to drive the browser.""" +
+[docs] +class WebDriver(ChromiumDriver): + """Controls the ChromeDriver and allows you to drive the browser.""" def __init__( self, @@ -69,62 +227,53 @@

Source code for selenium.webdriver.chrome.webdriver

service: Service = None, keep_alive: bool = True, ) -> None: - """Creates a new instance of the chrome driver. Starts the service and + """Creates a new instance of the chrome driver. Starts the service and then creates new instance of chrome driver. :Args: - options - this takes an instance of ChromeOptions - service - Service object for handling the browser driver if you need to pass extra details - keep_alive - Whether to configure ChromeRemoteConnection to use HTTP keep-alive. - """ + """ service = service if service else Service() options = options if options else Options() super().__init__( - browser_name=DesiredCapabilities.CHROME["browserName"], - vendor_prefix="goog", + browser_name=DesiredCapabilities.CHROME["browserName"], + vendor_prefix="goog", options=options, service=service, keep_alive=keep_alive, )
+
-
-
+
-
+
+ + + \ No newline at end of file diff --git a/docs/api/py/_modules/selenium/webdriver/chromium/options.html b/docs/api/py/_modules/selenium/webdriver/chromium/options.html index 3074bcc3f469d..dc753bbf8a127 100644 --- a/docs/api/py/_modules/selenium/webdriver/chromium/options.html +++ b/docs/api/py/_modules/selenium/webdriver/chromium/options.html @@ -1,54 +1,210 @@ - + - selenium.webdriver.chromium.options — Selenium 4.29.0.202501201850 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + selenium.webdriver.chromium.options — Selenium 4.30.0 documentation - + + + + + + + + + + + + + + + + + + + + + + + + Skip to content +
+ +
+ + +
- - - - - - - + +
+
+ +
+ +
+
+
+
+ + +
+
+
+ +
+
-

Source code for selenium.webdriver.chromium.options

+  

Source code for selenium.webdriver.chromium.options

 # Licensed to the Software Freedom Conservancy (SFC) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
 # regarding copyright ownership.  The SFC licenses this file
 # to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
+# "License"); you may not use this file except in compliance
 # with the License.  You may obtain a copy of the License at
 #
 #   http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing,
 # software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
@@ -65,12 +221,14 @@ 

Source code for selenium.webdriver.chromium.options

from selenium.webdriver.common.options import ArgOptions -
[docs]class ChromiumOptions(ArgOptions): - KEY = "goog:chromeOptions" +
+[docs] +class ChromiumOptions(ArgOptions): + KEY = "goog:chromeOptions" def __init__(self) -> None: super().__init__() - self._binary_location: str = "" + self._binary_location: str = "" self._extension_files: List[str] = [] self._extensions: List[str] = [] self._experimental_options: Dict[str, Union[str, int, dict, List[str]]] = {} @@ -78,155 +236,158 @@

Source code for selenium.webdriver.chromium.options

@property def binary_location(self) -> str: - """:Returns: The location of the binary, otherwise an empty string.""" + """:Returns: The location of the binary, otherwise an empty string.""" return self._binary_location @binary_location.setter def binary_location(self, value: str) -> None: - """Allows you to set where the chromium binary lives. + """Allows you to set where the chromium binary lives. :Args: - value: path to the Chromium binary - """ + """ if not isinstance(value, str): raise TypeError(self.BINARY_LOCATION_ERROR) self._binary_location = value @property def debugger_address(self) -> Optional[str]: - """:Returns: The address of the remote devtools instance.""" + """:Returns: The address of the remote devtools instance.""" return self._debugger_address @debugger_address.setter def debugger_address(self, value: str) -> None: - """Allows you to set the address of the remote devtools instance that + """Allows you to set the address of the remote devtools instance that the ChromeDriver instance will try to connect to during an active wait. :Args: - value: address of remote devtools instance if any (hostname[:port]) - """ + """ if not isinstance(value, str): - raise TypeError("Debugger Address must be a string") + raise TypeError("Debugger Address must be a string") self._debugger_address = value @property def extensions(self) -> List[str]: - """:Returns: A list of encoded extensions that will be loaded.""" + """:Returns: A list of encoded extensions that will be loaded.""" def _decode(file_data: BinaryIO) -> str: # Should not use base64.encodestring() which inserts newlines every # 76 characters (per RFC 1521). Chromedriver has to remove those # unnecessary newlines before decoding, causing performance hit. - return base64.b64encode(file_data.read()).decode("utf-8") + return base64.b64encode(file_data.read()).decode("utf-8") encoded_extensions = [] for extension in self._extension_files: - with open(extension, "rb") as f: + with open(extension, "rb") as f: encoded_extensions.append(_decode(f)) return encoded_extensions + self._extensions -
[docs] def add_extension(self, extension: str) -> None: - """Adds the path to the extension to a list that will be used to +
+[docs] + def add_extension(self, extension: str) -> None: + """Adds the path to the extension to a list that will be used to extract it to the ChromeDriver. :Args: - extension: path to the \\*.crx file - """ + """ if extension: extension_to_add = os.path.abspath(os.path.expanduser(extension)) if os.path.exists(extension_to_add): self._extension_files.append(extension_to_add) else: - raise OSError("Path to the extension doesn't exist") + raise OSError("Path to the extension doesn't exist") else: - raise ValueError("argument can not be null")
+ raise ValueError("argument can not be null")
-
[docs] def add_encoded_extension(self, extension: str) -> None: - """Adds Base64 encoded string with extension data to a list that will + +
+[docs] + def add_encoded_extension(self, extension: str) -> None: + """Adds Base64 encoded string with extension data to a list that will be used to extract it to the ChromeDriver. :Args: - extension: Base64 encoded string with extension data - """ + """ if extension: self._extensions.append(extension) else: - raise ValueError("argument can not be null")
+ raise ValueError("argument can not be null")
+ @property def experimental_options(self) -> dict: - """:Returns: A dictionary of experimental options for chromium.""" + """:Returns: A dictionary of experimental options for chromium.""" return self._experimental_options -
[docs] def add_experimental_option(self, name: str, value: Union[str, int, dict, List[str]]) -> None: - """Adds an experimental option which is passed to chromium. +
+[docs] + def add_experimental_option(self, name: str, value: Union[str, int, dict, List[str]]) -> None: + """Adds an experimental option which is passed to chromium. :Args: name: The experimental option name. value: The option value. - """ + """ self._experimental_options[name] = value
-
[docs] def to_capabilities(self) -> dict: - """Creates a capabilities with all the options that have been set - :Returns: A dictionary with everything.""" + +
+[docs] + def to_capabilities(self) -> dict: + """Creates a capabilities with all the options that have been set + :Returns: A dictionary with everything.""" caps = self._caps chrome_options = self.experimental_options.copy() if self.mobile_options: chrome_options.update(self.mobile_options) - chrome_options["extensions"] = self.extensions + chrome_options["extensions"] = self.extensions if self.binary_location: - chrome_options["binary"] = self.binary_location - chrome_options["args"] = self._arguments + chrome_options["binary"] = self.binary_location + chrome_options["args"] = self._arguments if self.debugger_address: - chrome_options["debuggerAddress"] = self.debugger_address + chrome_options["debuggerAddress"] = self.debugger_address caps[self.KEY] = chrome_options return caps
+ @property def default_capabilities(self) -> dict: return DesiredCapabilities.CHROME.copy()
+
-
-
+
-
+
+ + + \ No newline at end of file diff --git a/docs/api/py/_modules/selenium/webdriver/chromium/remote_connection.html b/docs/api/py/_modules/selenium/webdriver/chromium/remote_connection.html index 27daae9ea303a..a37d519e23018 100644 --- a/docs/api/py/_modules/selenium/webdriver/chromium/remote_connection.html +++ b/docs/api/py/_modules/selenium/webdriver/chromium/remote_connection.html @@ -1,54 +1,210 @@ - + - selenium.webdriver.chromium.remote_connection — Selenium 4.29.0.202501201850 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + selenium.webdriver.chromium.remote_connection — Selenium 4.30.0 documentation - + + + + + + + + + + + + + + + + + + + + + + + + Skip to content +
+ +
+ + +
- - - - - - - + +
+
+ +
+ +
+
+
+
+ + +
+
+
+ +
+
-

Source code for selenium.webdriver.chromium.remote_connection

+  

Source code for selenium.webdriver.chromium.remote_connection

 # Licensed to the Software Freedom Conservancy (SFC) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
 # regarding copyright ownership.  The SFC licenses this file
 # to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
+# "License"); you may not use this file except in compliance
 # with the License.  You may obtain a copy of the License at
 #
 #   http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing,
 # software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
@@ -58,7 +214,9 @@ 

Source code for selenium.webdriver.chromium.remote_connection

from selenium.webdriver.remote.remote_connection import RemoteConnection -
[docs]class ChromiumRemoteConnection(RemoteConnection): +
+[docs] +class ChromiumRemoteConnection(RemoteConnection): def __init__( self, remote_server_addr: str, @@ -82,58 +240,49 @@

Source code for selenium.webdriver.chromium.remote_connection

def _remote_commands(self, vendor_prefix): remote_commands = { - "launchApp": ("POST", "/session/$sessionId/chromium/launch_app"), - "setPermissions": ("POST", "/session/$sessionId/permissions"), - "setNetworkConditions": ("POST", "/session/$sessionId/chromium/network_conditions"), - "getNetworkConditions": ("GET", "/session/$sessionId/chromium/network_conditions"), - "deleteNetworkConditions": ("DELETE", "/session/$sessionId/chromium/network_conditions"), - "executeCdpCommand": ("POST", f"/session/$sessionId/{vendor_prefix}/cdp/execute"), - "getSinks": ("GET", f"/session/$sessionId/{vendor_prefix}/cast/get_sinks"), - "getIssueMessage": ("GET", f"/session/$sessionId/{vendor_prefix}/cast/get_issue_message"), - "setSinkToUse": ("POST", f"/session/$sessionId/{vendor_prefix}/cast/set_sink_to_use"), - "startDesktopMirroring": ("POST", f"/session/$sessionId/{vendor_prefix}/cast/start_desktop_mirroring"), - "startTabMirroring": ("POST", f"/session/$sessionId/{vendor_prefix}/cast/start_tab_mirroring"), - "stopCasting": ("POST", f"/session/$sessionId/{vendor_prefix}/cast/stop_casting"), + "launchApp": ("POST", "/session/$sessionId/chromium/launch_app"), + "setPermissions": ("POST", "/session/$sessionId/permissions"), + "setNetworkConditions": ("POST", "/session/$sessionId/chromium/network_conditions"), + "getNetworkConditions": ("GET", "/session/$sessionId/chromium/network_conditions"), + "deleteNetworkConditions": ("DELETE", "/session/$sessionId/chromium/network_conditions"), + "executeCdpCommand": ("POST", f"/session/$sessionId/{vendor_prefix}/cdp/execute"), + "getSinks": ("GET", f"/session/$sessionId/{vendor_prefix}/cast/get_sinks"), + "getIssueMessage": ("GET", f"/session/$sessionId/{vendor_prefix}/cast/get_issue_message"), + "setSinkToUse": ("POST", f"/session/$sessionId/{vendor_prefix}/cast/set_sink_to_use"), + "startDesktopMirroring": ("POST", f"/session/$sessionId/{vendor_prefix}/cast/start_desktop_mirroring"), + "startTabMirroring": ("POST", f"/session/$sessionId/{vendor_prefix}/cast/start_tab_mirroring"), + "stopCasting": ("POST", f"/session/$sessionId/{vendor_prefix}/cast/stop_casting"), } return remote_commands
+
-
-
+
-
+
+ + + \ No newline at end of file diff --git a/docs/api/py/_modules/selenium/webdriver/chromium/service.html b/docs/api/py/_modules/selenium/webdriver/chromium/service.html index 30f3b06649f19..1b72c2941e94f 100644 --- a/docs/api/py/_modules/selenium/webdriver/chromium/service.html +++ b/docs/api/py/_modules/selenium/webdriver/chromium/service.html @@ -1,54 +1,210 @@ - + - selenium.webdriver.chromium.service — Selenium 4.29.0.202501201850 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + selenium.webdriver.chromium.service — Selenium 4.30.0 documentation - + + + + + + + + + + + + + + + + + + + + + + + + Skip to content +
+ +
+ + +
- - - - - - - + +
+
+ +
+
+ +
+
+
+
+
+ + +
+
+
+ +
+
-

Source code for selenium.webdriver.chromium.service

+  

Source code for selenium.webdriver.chromium.service

 # Licensed to the Software Freedom Conservancy (SFC) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
 # regarding copyright ownership.  The SFC licenses this file
 # to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
+# "License"); you may not use this file except in compliance
 # with the License.  You may obtain a copy of the License at
 #
 #   http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing,
 # software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
@@ -61,8 +217,10 @@ 

Source code for selenium.webdriver.chromium.service

from selenium.webdriver.common import service -
[docs]class ChromiumService(service.Service): - """A Service class that is responsible for the starting and stopping the +
+[docs] +class ChromiumService(service.Service): + """A Service class that is responsible for the starting and stopping the WebDriver instance of the ChromiumDriver. :param executable_path: install path of the executable. @@ -71,7 +229,7 @@

Source code for selenium.webdriver.chromium.service

:param log_output: (Optional) int representation of STDOUT/DEVNULL, any IO instance or String path to file. :param env: (Optional) Mapping of environment variables for the new process, defaults to `os.environ`. :param driver_path_env_key: (Optional) Environment variable to use to get the path to the driver executable. - """ + """ def __init__( self, @@ -84,10 +242,10 @@

Source code for selenium.webdriver.chromium.service

**kwargs, ) -> None: self.service_args = service_args or [] - driver_path_env_key = driver_path_env_key or "SE_CHROMEDRIVER" + driver_path_env_key = driver_path_env_key or "SE_CHROMEDRIVER" if isinstance(log_output, str): - self.service_args.append(f"--log-path={log_output}") + self.service_args.append(f"--log-path={log_output}") self.log_output: Optional[IOBase] = None elif isinstance(log_output, IOBase): self.log_output = log_output @@ -103,46 +261,40 @@

Source code for selenium.webdriver.chromium.service

**kwargs, ) -
[docs] def command_line_args(self) -> List[str]: - return [f"--port={self.port}"] + self.service_args
+
+[docs] + def command_line_args(self) -> List[str]: + return [f"--port={self.port}"] + self.service_args
+
+
-
-
+
-
+
+ + + \ No newline at end of file diff --git a/docs/api/py/_modules/selenium/webdriver/chromium/webdriver.html b/docs/api/py/_modules/selenium/webdriver/chromium/webdriver.html index 06b70546d6334..67a26933ddde8 100644 --- a/docs/api/py/_modules/selenium/webdriver/chromium/webdriver.html +++ b/docs/api/py/_modules/selenium/webdriver/chromium/webdriver.html @@ -1,54 +1,210 @@ - + - selenium.webdriver.chromium.webdriver — Selenium 4.29.0.202501201850 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + selenium.webdriver.chromium.webdriver — Selenium 4.30.0 documentation - + + + + + + + + + + + + + + + + + + + + + + + + Skip to content +
+ +
+ + +
- - - - - - - + +
+
+ +
+ +
+
+
+
+ + +
+
+
+ +
+
-

Source code for selenium.webdriver.chromium.webdriver

+  

Source code for selenium.webdriver.chromium.webdriver

 # Licensed to the Software Freedom Conservancy (SFC) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
 # regarding copyright ownership.  The SFC licenses this file
 # to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
+# "License"); you may not use this file except in compliance
 # with the License.  You may obtain a copy of the License at
 #
 #   http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing,
 # software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
@@ -60,9 +216,11 @@ 

Source code for selenium.webdriver.chromium.webdriver

from selenium.webdriver.remote.webdriver import WebDriver as RemoteWebDriver -
[docs]class ChromiumDriver(RemoteWebDriver): - """Controls the WebDriver instance of ChromiumDriver and allows you to - drive the browser.""" +
+[docs] +class ChromiumDriver(RemoteWebDriver): + """Controls the WebDriver instance of ChromiumDriver and allows you to + drive the browser.""" def __init__( self, @@ -72,7 +230,7 @@

Source code for selenium.webdriver.chromium.webdriver

service: Service = None, keep_alive: bool = True, ) -> None: - """Creates a new WebDriver instance of the ChromiumDriver. Starts the + """Creates a new WebDriver instance of the ChromiumDriver. Starts the service and then creates new WebDriver instance of ChromiumDriver. :Args: @@ -81,7 +239,7 @@

Source code for selenium.webdriver.chromium.webdriver

- options - this takes an instance of ChromiumOptions - service - Service object for handling the browser driver if you need to pass extra details - keep_alive - Whether to configure ChromiumRemoteConnection to use HTTP keep-alive. - """ + """ self.service = service finder = DriverFinder(self.service, options) @@ -108,21 +266,29 @@

Source code for selenium.webdriver.chromium.webdriver

self._is_remote = False -
[docs] def launch_app(self, id): - """Launches Chromium app specified by id.""" - return self.execute("launchApp", {"id": id})
+
+[docs] + def launch_app(self, id): + """Launches Chromium app specified by id.""" + return self.execute("launchApp", {"id": id})
+ -
[docs] def get_network_conditions(self): - """Gets Chromium network emulation settings. +
+[docs] + def get_network_conditions(self): + """Gets Chromium network emulation settings. :Returns: A dict. - For example: {'latency': 4, 'download_throughput': 2, 'upload_throughput': 2, 'offline': False} - """ - return self.execute("getNetworkConditions")["value"]
+ For example: {'latency': 4, 'download_throughput': 2, 'upload_throughput': 2, 'offline': False} + """ + return self.execute("getNetworkConditions")["value"]
+ -
[docs] def set_network_conditions(self, **network_conditions) -> None: - """Sets Chromium network emulation settings. +
+[docs] + def set_network_conditions(self, **network_conditions) -> None: + """Sets Chromium network emulation settings. :Args: - network_conditions: A dict with conditions specification. @@ -136,16 +302,22 @@

Source code for selenium.webdriver.chromium.webdriver

download_throughput=500 * 1024, # maximal throughput upload_throughput=500 * 1024) # maximal throughput - Note: 'throughput' can be used to set both (for download and upload). - """ - self.execute("setNetworkConditions", {"network_conditions": network_conditions})
+ Note: 'throughput' can be used to set both (for download and upload). + """ + self.execute("setNetworkConditions", {"network_conditions": network_conditions})
-
[docs] def delete_network_conditions(self) -> None: - """Resets Chromium network emulation settings.""" - self.execute("deleteNetworkConditions")
-
[docs] def set_permissions(self, name: str, value: str) -> None: - """Sets Applicable Permission. +
+[docs] + def delete_network_conditions(self) -> None: + """Resets Chromium network emulation settings.""" + self.execute("deleteNetworkConditions")
+ + +
+[docs] + def set_permissions(self, name: str, value: str) -> None: + """Sets Applicable Permission. :Args: - name: The item to set the permission on. @@ -154,12 +326,15 @@

Source code for selenium.webdriver.chromium.webdriver

:Usage: :: - driver.set_permissions('clipboard-read', 'denied') - """ - self.execute("setPermissions", {"descriptor": {"name": name}, "state": value})
+ driver.set_permissions('clipboard-read', 'denied') + """ + self.execute("setPermissions", {"descriptor": {"name": name}, "state": value})
+ -
[docs] def execute_cdp_cmd(self, cmd: str, cmd_args: dict): - """Execute Chrome Devtools Protocol command and get returned result The +
+[docs] + def execute_cdp_cmd(self, cmd: str, cmd_args: dict): + """Execute Chrome Devtools Protocol command and get returned result The command and command args should follow chrome devtools protocol domains/commands, refer to link https://chromedevtools.github.io/devtools-protocol/ @@ -170,103 +345,116 @@

Source code for selenium.webdriver.chromium.webdriver

:Usage: :: - driver.execute_cdp_cmd('Network.getResponseBody', {'requestId': requestId}) + driver.execute_cdp_cmd('Network.getResponseBody', {'requestId': requestId}) :Returns: A dict, empty dict {} if there is no result to return. For example to getResponseBody: - {'base64Encoded': False, 'body': 'response body string'} - """ + {'base64Encoded': False, 'body': 'response body string'} + """ return super().execute_cdp_cmd(cmd, cmd_args)
-
[docs] def get_sinks(self) -> list: - """:Returns: A list of sinks available for Cast.""" - return self.execute("getSinks")["value"]
-
[docs] def get_issue_message(self): - """:Returns: An error message when there is any issue in a Cast - session.""" - return self.execute("getIssueMessage")["value"]
+
+[docs] + def get_sinks(self) -> list: + """:Returns: A list of sinks available for Cast.""" + return self.execute("getSinks")["value"]
-
[docs] def set_sink_to_use(self, sink_name: str) -> dict: - """Sets a specific sink, using its name, as a Cast session receiver + +
+[docs] + def get_issue_message(self): + """:Returns: An error message when there is any issue in a Cast + session.""" + return self.execute("getIssueMessage")["value"]
+ + +
+[docs] + def set_sink_to_use(self, sink_name: str) -> dict: + """Sets a specific sink, using its name, as a Cast session receiver target. :Args: - sink_name: Name of the sink to use as the target. - """ - return self.execute("setSinkToUse", {"sinkName": sink_name})
+ """ + return self.execute("setSinkToUse", {"sinkName": sink_name})
-
[docs] def start_desktop_mirroring(self, sink_name: str) -> dict: - """Starts a desktop mirroring session on a specific receiver target. + +
+[docs] + def start_desktop_mirroring(self, sink_name: str) -> dict: + """Starts a desktop mirroring session on a specific receiver target. :Args: - sink_name: Name of the sink to use as the target. - """ - return self.execute("startDesktopMirroring", {"sinkName": sink_name})
+ """ + return self.execute("startDesktopMirroring", {"sinkName": sink_name})
+ -
[docs] def start_tab_mirroring(self, sink_name: str) -> dict: - """Starts a tab mirroring session on a specific receiver target. +
+[docs] + def start_tab_mirroring(self, sink_name: str) -> dict: + """Starts a tab mirroring session on a specific receiver target. :Args: - sink_name: Name of the sink to use as the target. - """ - return self.execute("startTabMirroring", {"sinkName": sink_name})
+ """ + return self.execute("startTabMirroring", {"sinkName": sink_name})
-
[docs] def stop_casting(self, sink_name: str) -> dict: - """Stops the existing Cast session on a specific receiver target. + +
+[docs] + def stop_casting(self, sink_name: str) -> dict: + """Stops the existing Cast session on a specific receiver target. :Args: - sink_name: Name of the sink to stop the Cast session. - """ - return self.execute("stopCasting", {"sinkName": sink_name})
+ """ + return self.execute("stopCasting", {"sinkName": sink_name})
+ -
[docs] def quit(self) -> None: - """Closes the browser and shuts down the ChromiumDriver executable.""" +
+[docs] + def quit(self) -> None: + """Closes the browser and shuts down the ChromiumDriver executable.""" try: super().quit() except Exception: - # We don't care about the message because something probably has gone wrong + # We don't care about the message because something probably has gone wrong pass finally: - self.service.stop()
+ self.service.stop()
+
+
-
-
+
-
+
+ + + \ No newline at end of file diff --git a/docs/api/py/_modules/selenium/webdriver/common/action_chains.html b/docs/api/py/_modules/selenium/webdriver/common/action_chains.html index ef7b9e4ad34ff..9453dc90bfef0 100644 --- a/docs/api/py/_modules/selenium/webdriver/common/action_chains.html +++ b/docs/api/py/_modules/selenium/webdriver/common/action_chains.html @@ -1,58 +1,214 @@ - + - selenium.webdriver.common.action_chains — Selenium 4.29.0.202501201850 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + selenium.webdriver.common.action_chains — Selenium 4.30.0 documentation - + + + + + + + + + + + + + + + + + + + + + + + + Skip to content +
+ +
+ + +
- - - - - - - + +
+
+ +
+ +
+
+
+
+ + +
+
+
+ +
+
-

Source code for selenium.webdriver.common.action_chains

+  

Source code for selenium.webdriver.common.action_chains

 # Licensed to the Software Freedom Conservancy (SFC) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
 # regarding copyright ownership.  The SFC licenses this file
 # to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
+# "License"); you may not use this file except in compliance
 # with the License.  You may obtain a copy of the License at
 #
 #   http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing,
 # software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-"""The ActionChains implementation."""
+"""The ActionChains implementation."""
 from __future__ import annotations
 
 from typing import TYPE_CHECKING
@@ -73,8 +229,10 @@ 

Source code for selenium.webdriver.common.action_chains

AnyDevice = Union[PointerInput, KeyInput, WheelInput] -
[docs]class ActionChains: - """ActionChains are a way to automate low level interactions such as mouse +
+[docs] +class ActionChains: + """ActionChains are a way to automate low level interactions such as mouse movements, mouse button actions, key press, and context menu interactions. This is useful for doing more complex actions like hover over and drag and drop. @@ -87,15 +245,15 @@

Source code for selenium.webdriver.common.action_chains

ActionChains can be used in a chain pattern:: - menu = driver.find_element(By.CSS_SELECTOR, ".nav") - hidden_submenu = driver.find_element(By.CSS_SELECTOR, ".nav #submenu1") + menu = driver.find_element(By.CSS_SELECTOR, ".nav") + hidden_submenu = driver.find_element(By.CSS_SELECTOR, ".nav #submenu1") ActionChains(driver).move_to_element(menu).click(hidden_submenu).perform() Or actions can be queued up one by one, then performed.:: - menu = driver.find_element(By.CSS_SELECTOR, ".nav") - hidden_submenu = driver.find_element(By.CSS_SELECTOR, ".nav #submenu1") + menu = driver.find_element(By.CSS_SELECTOR, ".nav") + hidden_submenu = driver.find_element(By.CSS_SELECTOR, ".nav #submenu1") actions = ActionChains(driver) actions.move_to_element(menu) @@ -104,15 +262,15 @@

Source code for selenium.webdriver.common.action_chains

Either way, the actions are performed in the order they are called, one after another. - """ + """ def __init__(self, driver: WebDriver, duration: int = 250, devices: list[AnyDevice] | None = None) -> None: - """Creates a new ActionChains. + """Creates a new ActionChains. :Args: - driver: The WebDriver instance which performs user actions. - duration: override the default 250 msecs of DEFAULT_MOVE_DURATION in PointerInput - """ + """ self._driver = driver mouse = None keyboard = None @@ -127,24 +285,32 @@

Source code for selenium.webdriver.common.action_chains

wheel = device self.w3c_actions = ActionBuilder(driver, mouse=mouse, keyboard=keyboard, wheel=wheel, duration=duration) -
[docs] def perform(self) -> None: - """Performs all stored actions.""" +
+[docs] + def perform(self) -> None: + """Performs all stored actions.""" self.w3c_actions.perform()
-
[docs] def reset_actions(self) -> None: - """Clears actions that are already stored locally and on the remote - end.""" + +
+[docs] + def reset_actions(self) -> None: + """Clears actions that are already stored locally and on the remote + end.""" self.w3c_actions.clear_actions() for device in self.w3c_actions.devices: device.clear_actions()
-
[docs] def click(self, on_element: WebElement | None = None) -> ActionChains: - """Clicks an element. + +
+[docs] + def click(self, on_element: WebElement | None = None) -> ActionChains: + """Clicks an element. :Args: - on_element: The element to click. If None, clicks on current mouse position. - """ + """ if on_element: self.move_to_element(on_element) @@ -154,13 +320,16 @@

Source code for selenium.webdriver.common.action_chains

return self
-
[docs] def click_and_hold(self, on_element: WebElement | None = None) -> ActionChains: - """Holds down the left mouse button on an element. + +
+[docs] + def click_and_hold(self, on_element: WebElement | None = None) -> ActionChains: + """Holds down the left mouse button on an element. :Args: - on_element: The element to mouse down. If None, clicks on current mouse position. - """ + """ if on_element: self.move_to_element(on_element) @@ -169,13 +338,16 @@

Source code for selenium.webdriver.common.action_chains

return self
-
[docs] def context_click(self, on_element: WebElement | None = None) -> ActionChains: - """Performs a context-click (right click) on an element. + +
+[docs] + def context_click(self, on_element: WebElement | None = None) -> ActionChains: + """Performs a context-click (right click) on an element. :Args: - on_element: The element to context-click. If None, clicks on current mouse position. - """ + """ if on_element: self.move_to_element(on_element) @@ -185,13 +357,16 @@

Source code for selenium.webdriver.common.action_chains

return self
-
[docs] def double_click(self, on_element: WebElement | None = None) -> ActionChains: - """Double-clicks an element. + +
+[docs] + def double_click(self, on_element: WebElement | None = None) -> ActionChains: + """Double-clicks an element. :Args: - on_element: The element to double-click. If None, clicks on current mouse position. - """ + """ if on_element: self.move_to_element(on_element) @@ -201,34 +376,43 @@

Source code for selenium.webdriver.common.action_chains

return self
-
[docs] def drag_and_drop(self, source: WebElement, target: WebElement) -> ActionChains: - """Holds down the left mouse button on the source element, then moves + +
+[docs] + def drag_and_drop(self, source: WebElement, target: WebElement) -> ActionChains: + """Holds down the left mouse button on the source element, then moves to the target element and releases the mouse button. :Args: - source: The element to mouse down. - target: The element to mouse up. - """ + """ self.click_and_hold(source) self.release(target) return self
-
[docs] def drag_and_drop_by_offset(self, source: WebElement, xoffset: int, yoffset: int) -> ActionChains: - """Holds down the left mouse button on the source element, then moves + +
+[docs] + def drag_and_drop_by_offset(self, source: WebElement, xoffset: int, yoffset: int) -> ActionChains: + """Holds down the left mouse button on the source element, then moves to the target offset and releases the mouse button. :Args: - source: The element to mouse down. - xoffset: X offset to move to. - yoffset: Y offset to move to. - """ + """ self.click_and_hold(source) self.move_by_offset(xoffset, yoffset) self.release() return self
-
[docs] def key_down(self, value: str, element: WebElement | None = None) -> ActionChains: - """Sends a key press only, without releasing it. Should only be used + +
+[docs] + def key_down(self, value: str, element: WebElement | None = None) -> ActionChains: + """Sends a key press only, without releasing it. Should only be used with modifier keys (Control, Alt and Shift). :Args: @@ -238,8 +422,8 @@

Source code for selenium.webdriver.common.action_chains

Example, pressing ctrl+c:: - ActionChains(driver).key_down(Keys.CONTROL).send_keys('c').key_up(Keys.CONTROL).perform() - """ + ActionChains(driver).key_down(Keys.CONTROL).send_keys('c').key_up(Keys.CONTROL).perform() + """ if element: self.click(element) @@ -248,8 +432,11 @@

Source code for selenium.webdriver.common.action_chains

return self
-
[docs] def key_up(self, value: str, element: WebElement | None = None) -> ActionChains: - """Releases a modifier key. + +
+[docs] + def key_up(self, value: str, element: WebElement | None = None) -> ActionChains: + """Releases a modifier key. :Args: - value: The modifier key to send. Values are defined in Keys class. @@ -258,8 +445,8 @@

Source code for selenium.webdriver.common.action_chains

Example, pressing ctrl+c:: - ActionChains(driver).key_down(Keys.CONTROL).send_keys('c').key_up(Keys.CONTROL).perform() - """ + ActionChains(driver).key_down(Keys.CONTROL).send_keys('c').key_up(Keys.CONTROL).perform() + """ if element: self.click(element) @@ -268,61 +455,76 @@

Source code for selenium.webdriver.common.action_chains

return self
-
[docs] def move_by_offset(self, xoffset: int, yoffset: int) -> ActionChains: - """Moving the mouse to an offset from current mouse position. + +
+[docs] + def move_by_offset(self, xoffset: int, yoffset: int) -> ActionChains: + """Moving the mouse to an offset from current mouse position. :Args: - xoffset: X offset to move to, as a positive or negative integer. - yoffset: Y offset to move to, as a positive or negative integer. - """ + """ self.w3c_actions.pointer_action.move_by(xoffset, yoffset) self.w3c_actions.key_action.pause() return self
-
[docs] def move_to_element(self, to_element: WebElement) -> ActionChains: - """Moving the mouse to the middle of an element. + +
+[docs] + def move_to_element(self, to_element: WebElement) -> ActionChains: + """Moving the mouse to the middle of an element. :Args: - to_element: The WebElement to move to. - """ + """ self.w3c_actions.pointer_action.move_to(to_element) self.w3c_actions.key_action.pause() return self
-
[docs] def move_to_element_with_offset(self, to_element: WebElement, xoffset: int, yoffset: int) -> ActionChains: - """Move the mouse by an offset of the specified element. Offsets are + +
+[docs] + def move_to_element_with_offset(self, to_element: WebElement, xoffset: int, yoffset: int) -> ActionChains: + """Move the mouse by an offset of the specified element. Offsets are relative to the in-view center point of the element. :Args: - to_element: The WebElement to move to. - xoffset: X offset to move to, as a positive or negative integer. - yoffset: Y offset to move to, as a positive or negative integer. - """ + """ self.w3c_actions.pointer_action.move_to(to_element, int(xoffset), int(yoffset)) self.w3c_actions.key_action.pause() return self
-
[docs] def pause(self, seconds: float | int) -> ActionChains: - """Pause all inputs for the specified duration in seconds.""" + +
+[docs] + def pause(self, seconds: float | int) -> ActionChains: + """Pause all inputs for the specified duration in seconds.""" self.w3c_actions.pointer_action.pause(seconds) self.w3c_actions.key_action.pause(seconds) return self
-
[docs] def release(self, on_element: WebElement | None = None) -> ActionChains: - """Releasing a held mouse button on an element. + +
+[docs] + def release(self, on_element: WebElement | None = None) -> ActionChains: + """Releasing a held mouse button on an element. :Args: - on_element: The element to mouse up. If None, releases on current mouse position. - """ + """ if on_element: self.move_to_element(on_element) @@ -331,13 +533,16 @@

Source code for selenium.webdriver.common.action_chains

return self
-
[docs] def send_keys(self, *keys_to_send: str) -> ActionChains: - """Sends keys to current focused element. + +
+[docs] + def send_keys(self, *keys_to_send: str) -> ActionChains: + """Sends keys to current focused element. :Args: - keys_to_send: The keys to send. Modifier keys constants can be found in the - 'Keys' class. - """ + 'Keys' class. + """ typing = keys_to_typing(keys_to_send) for key in typing: @@ -346,43 +551,55 @@

Source code for selenium.webdriver.common.action_chains

return self
-
[docs] def send_keys_to_element(self, element: WebElement, *keys_to_send: str) -> ActionChains: - """Sends keys to an element. + +
+[docs] + def send_keys_to_element(self, element: WebElement, *keys_to_send: str) -> ActionChains: + """Sends keys to an element. :Args: - element: The element to send keys. - keys_to_send: The keys to send. Modifier keys constants can be found in the - 'Keys' class. - """ + 'Keys' class. + """ self.click(element) self.send_keys(*keys_to_send) return self
-
[docs] def scroll_to_element(self, element: WebElement) -> ActionChains: - """If the element is outside the viewport, scrolls the bottom of the + +
+[docs] + def scroll_to_element(self, element: WebElement) -> ActionChains: + """If the element is outside the viewport, scrolls the bottom of the element to the bottom of the viewport. :Args: - element: Which element to scroll into the viewport. - """ + """ self.w3c_actions.wheel_action.scroll(origin=element) return self
-
[docs] def scroll_by_amount(self, delta_x: int, delta_y: int) -> ActionChains: - """Scrolls by provided amounts with the origin in the top left corner + +
+[docs] + def scroll_by_amount(self, delta_x: int, delta_y: int) -> ActionChains: + """Scrolls by provided amounts with the origin in the top left corner of the viewport. :Args: - delta_x: Distance along X axis to scroll using the wheel. A negative value scrolls left. - delta_y: Distance along Y axis to scroll using the wheel. A negative value scrolls up. - """ + """ self.w3c_actions.wheel_action.scroll(delta_x=delta_x, delta_y=delta_y) return self
-
[docs] def scroll_from_origin(self, scroll_origin: ScrollOrigin, delta_x: int, delta_y: int) -> ActionChains: - """Scrolls by provided amount based on a provided origin. The scroll + +
+[docs] + def scroll_from_origin(self, scroll_origin: ScrollOrigin, delta_x: int, delta_y: int) -> ActionChains: + """Scrolls by provided amount based on a provided origin. The scroll origin is either the center of an element or the upper left of the viewport plus any offsets. If the origin is an element, and the element is not in the viewport, the bottom of the element will first be @@ -395,10 +612,10 @@

Source code for selenium.webdriver.common.action_chains

:Raises: If the origin with offset is outside the viewport. - MoveTargetOutOfBoundsException - If the origin with offset is outside the viewport. - """ + """ if not isinstance(scroll_origin, ScrollOrigin): - raise TypeError(f"Expected object of type ScrollOrigin, got: {type(scroll_origin)}") + raise TypeError(f"Expected object of type ScrollOrigin, got: {type(scroll_origin)}") self.w3c_actions.wheel_action.scroll( origin=scroll_origin.origin, @@ -409,51 +626,43 @@

Source code for selenium.webdriver.common.action_chains

) return self
- # Context manager so ActionChains can be used in a 'with .. as' statements. + + # Context manager so ActionChains can be used in a 'with .. as' statements. def __enter__(self) -> ActionChains: return self # Return created instance of self. def __exit__(self, _type, _value, _traceback) -> None: pass # Do nothing, does not require additional cleanup.
+
-
-
+
-
+
+ + + \ No newline at end of file diff --git a/docs/api/py/_modules/selenium/webdriver/common/actions/action_builder.html b/docs/api/py/_modules/selenium/webdriver/common/actions/action_builder.html index b0227fb16d154..33104c6418e0d 100644 --- a/docs/api/py/_modules/selenium/webdriver/common/actions/action_builder.html +++ b/docs/api/py/_modules/selenium/webdriver/common/actions/action_builder.html @@ -1,54 +1,210 @@ - + - selenium.webdriver.common.actions.action_builder — Selenium 4.29.0.202501201850 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + selenium.webdriver.common.actions.action_builder — Selenium 4.30.0 documentation - + + + + + + + + + + + + + + + + + + + + + + + + Skip to content +
+ +
+ + +
- - - - - - - + +
+
+ +
+ +
+
+
+
+ + +
+
+
+ +
+
-

Source code for selenium.webdriver.common.actions.action_builder

+  

Source code for selenium.webdriver.common.actions.action_builder

 # Licensed to the Software Freedom Conservancy (SFC) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
 # regarding copyright ownership.  The SFC licenses this file
 # to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
+# "License"); you may not use this file except in compliance
 # with the License.  You may obtain a copy of the License at
 #
 #   http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing,
 # software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
@@ -68,7 +224,9 @@ 

Source code for selenium.webdriver.common.actions.action_builder

from .wheel_input import WheelInput -
[docs]class ActionBuilder: +
+[docs] +class ActionBuilder: def __init__( self, driver, @@ -77,7 +235,7 @@

Source code for selenium.webdriver.common.actions.action_builder

keyboard: Optional[KeyInput] = None, duration: int = 250, ) -> None: - mouse = mouse or PointerInput(interaction.POINTER_MOUSE, "mouse") + mouse = mouse or PointerInput(interaction.POINTER_MOUSE, "mouse") keyboard = keyboard or KeyInput(interaction.KEY) wheel = wheel or WheelInput(interaction.WHEEL) self.devices = [mouse, keyboard, wheel] @@ -86,20 +244,23 @@

Source code for selenium.webdriver.common.actions.action_builder

self._wheel_action = WheelActions(wheel) self.driver = driver -
[docs] def get_device_with(self, name: str) -> Optional[Union["WheelInput", "PointerInput", "KeyInput"]]: - """Get the device with the given name. +
+[docs] + def get_device_with(self, name: str) -> Optional[Union["WheelInput", "PointerInput", "KeyInput"]]: + """Get the device with the given name. Parameters: - ---------- + ----------- name : str The name of the device to get. Returns: -------- Optional[Union[WheelInput, PointerInput, KeyInput]] : The device with the given name. - """ + """ return next(filter(lambda x: x == name, self.devices), None)
+ @property def pointer_inputs(self) -> List[PointerInput]: return [device for device in self.devices if device.type == interaction.POINTER] @@ -120,11 +281,13 @@

Source code for selenium.webdriver.common.actions.action_builder

def wheel_action(self) -> WheelActions: return self._wheel_action -
[docs] def add_key_input(self, name: str) -> KeyInput: - """Add a new key input device to the action builder. +
+[docs] + def add_key_input(self, name: str) -> KeyInput: + """Add a new key input device to the action builder. Parameters: - ---------- + ----------- name : str The name of the key input device. @@ -135,22 +298,25 @@

Source code for selenium.webdriver.common.actions.action_builder

Example: -------- >>> action_builder = ActionBuilder(driver) - >>> action_builder.add_key_input(name="keyboard2") - """ + >>> action_builder.add_key_input(name="keyboard2") + """ new_input = KeyInput(name) self._add_input(new_input) return new_input
-
[docs] def add_pointer_input(self, kind: str, name: str) -> PointerInput: - """Add a new pointer input device to the action builder. + +
+[docs] + def add_pointer_input(self, kind: str, name: str) -> PointerInput: + """Add a new pointer input device to the action builder. Parameters: - ---------- + ----------- kind : str The kind of pointer input device. - - "mouse" - - "touch" - - "pen" + - "mouse" + - "touch" + - "pen" name : str The name of the pointer input device. @@ -162,17 +328,20 @@

Source code for selenium.webdriver.common.actions.action_builder

Example: -------- >>> action_builder = ActionBuilder(driver) - >>> action_builder.add_pointer_input(kind="mouse", name="mouse") - """ + >>> action_builder.add_pointer_input(kind="mouse", name="mouse") + """ new_input = PointerInput(kind, name) self._add_input(new_input) return new_input
-
[docs] def add_wheel_input(self, name: str) -> WheelInput: - """Add a new wheel input device to the action builder. + +
+[docs] + def add_wheel_input(self, name: str) -> WheelInput: + """Add a new wheel input device to the action builder. Parameters: - ---------- + ----------- name : str The name of the wheel input device. @@ -183,90 +352,88 @@

Source code for selenium.webdriver.common.actions.action_builder

Example: -------- >>> action_builder = ActionBuilder(driver) - >>> action_builder.add_wheel_input(name="wheel2") - """ + >>> action_builder.add_wheel_input(name="wheel2") + """ new_input = WheelInput(name) self._add_input(new_input) return new_input
-
[docs] def perform(self) -> None: - """Performs all stored actions. + +
+[docs] + def perform(self) -> None: + """Performs all stored actions. Example: -------- >>> action_builder = ActionBuilder(driver) >>> keyboard = action_builder.key_input - >>> el = driver.find_element(id: "some_id") - >>> action_builder.click(el).pause(keyboard).pause(keyboard).pause(keyboard).send_keys('keys').perform() - """ - enc = {"actions": []} + >>> el = driver.find_element(id: "some_id") + >>> action_builder.click(el).pause(keyboard).pause(keyboard).pause(keyboard).send_keys('keys').perform() + """ + enc = {"actions": []} for device in self.devices: encoded = device.encode() - if encoded["actions"]: - enc["actions"].append(encoded) + if encoded["actions"]: + enc["actions"].append(encoded) device.actions = [] self.driver.execute(Command.W3C_ACTIONS, enc)
-
[docs] def clear_actions(self) -> None: - """Clears actions that are already stored on the remote end. + +
+[docs] + def clear_actions(self) -> None: + """Clears actions that are already stored on the remote end. Example: -------- >>> action_builder = ActionBuilder(driver) >>> keyboard = action_builder.key_input - >>> el = driver.find_element(By.ID, "some_id") - >>> action_builder.click(el).pause(keyboard).pause(keyboard).pause(keyboard).send_keys('keys') + >>> el = driver.find_element(By.ID, "some_id") + >>> action_builder.click(el).pause(keyboard).pause(keyboard).pause(keyboard).send_keys('keys') >>> action_builder.clear_actions() - """ + """ self.driver.execute(Command.W3C_CLEAR_ACTIONS)
+ def _add_input(self, new_input: Union[KeyInput, PointerInput, WheelInput]) -> None: - """Add a new input device to the action builder. + """Add a new input device to the action builder. Parameters: - ---------- + ----------- new_input : Union[KeyInput, PointerInput, WheelInput] The new input device to add. - """ + """ self.devices.append(new_input)
+
-
-
+
-
+
+ + + \ No newline at end of file diff --git a/docs/api/py/_modules/selenium/webdriver/common/actions/input_device.html b/docs/api/py/_modules/selenium/webdriver/common/actions/input_device.html index ca037b93c7f40..a6caad722a1f1 100644 --- a/docs/api/py/_modules/selenium/webdriver/common/actions/input_device.html +++ b/docs/api/py/_modules/selenium/webdriver/common/actions/input_device.html @@ -1,54 +1,210 @@ - + - selenium.webdriver.common.actions.input_device — Selenium 4.29.0.202501201850 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + selenium.webdriver.common.actions.input_device — Selenium 4.30.0 documentation - + + + + + + + + + + + + + + + + + + + + + + + + Skip to content +
+ +
+ + +
- - - - - - - + +
+
+ +
+ +
+
+
+
+ + +
+
+
+ +
+
-

Source code for selenium.webdriver.common.actions.input_device

+  

Source code for selenium.webdriver.common.actions.input_device

 # Licensed to the Software Freedom Conservancy (SFC) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
 # regarding copyright ownership.  The SFC licenses this file
 # to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
+# "License"); you may not use this file except in compliance
 # with the License.  You may obtain a copy of the License at
 #
 #   http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing,
 # software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
@@ -59,60 +215,62 @@ 

Source code for selenium.webdriver.common.actions.input_device

from typing import Optional -
[docs]class InputDevice: - """Describes the input device being used for the action.""" +
+[docs] +class InputDevice: + """Describes the input device being used for the action.""" def __init__(self, name: Optional[str] = None): self.name = name or uuid.uuid4() self.actions: List[Any] = [] -
[docs] def add_action(self, action: Any) -> None: - """""" +
+[docs] + def add_action(self, action: Any) -> None: + """""" self.actions.append(action)
-
[docs] def clear_actions(self) -> None: + +
+[docs] + def clear_actions(self) -> None: self.actions = []
-
[docs] def create_pause(self, duration: float = 0) -> None: - pass
+ +
+[docs] + def create_pause(self, duration: float = 0) -> None: + pass
+
+
-
-
+
-
+
+ + + \ No newline at end of file diff --git a/docs/api/py/_modules/selenium/webdriver/common/actions/interaction.html b/docs/api/py/_modules/selenium/webdriver/common/actions/interaction.html index a8f18220b4432..b72ded4b8caf3 100644 --- a/docs/api/py/_modules/selenium/webdriver/common/actions/interaction.html +++ b/docs/api/py/_modules/selenium/webdriver/common/actions/interaction.html @@ -1,125 +1,280 @@ - + - selenium.webdriver.common.actions.interaction — Selenium 4.29.0.202501201850 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + selenium.webdriver.common.actions.interaction — Selenium 4.30.0 documentation - + + + + + + + + + + + + + + + + + + + + + + + + Skip to content +
+ +
+ + +
- - - - - - - + +
+
+ +
+ +
+
+
+
+ + +
+
+
+ +
+
-

Source code for selenium.webdriver.common.actions.interaction

+  

Source code for selenium.webdriver.common.actions.interaction

 # Licensed to the Software Freedom Conservancy (SFC) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
 # regarding copyright ownership.  The SFC licenses this file
 # to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
+# "License"); you may not use this file except in compliance
 # with the License.  You may obtain a copy of the License at
 #
 #   http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing,
 # software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
 from typing import Dict
 from typing import Union
 
-KEY = "key"
-POINTER = "pointer"
-NONE = "none"
-WHEEL = "wheel"
+KEY = "key"
+POINTER = "pointer"
+NONE = "none"
+WHEEL = "wheel"
 SOURCE_TYPES = {KEY, POINTER, NONE}
 
-POINTER_MOUSE = "mouse"
-POINTER_TOUCH = "touch"
-POINTER_PEN = "pen"
+POINTER_MOUSE = "mouse"
+POINTER_TOUCH = "touch"
+POINTER_PEN = "pen"
 
 POINTER_KINDS = {POINTER_MOUSE, POINTER_TOUCH, POINTER_PEN}
 
 
-
[docs]class Interaction: - PAUSE = "pause" +
+[docs] +class Interaction: + PAUSE = "pause" def __init__(self, source: str) -> None: self.source = source
-
[docs]class Pause(Interaction): + +
+[docs] +class Pause(Interaction): def __init__(self, source, duration: float = 0) -> None: super().__init__(source) self.duration = duration -
[docs] def encode(self) -> Dict[str, Union[str, int]]: - return {"type": self.PAUSE, "duration": int(self.duration * 1000)}
+
+[docs] + def encode(self) -> Dict[str, Union[str, int]]: + return {"type": self.PAUSE, "duration": int(self.duration * 1000)}
+
+
-
-
+
-
+
+ + + \ No newline at end of file diff --git a/docs/api/py/_modules/selenium/webdriver/common/actions/key_actions.html b/docs/api/py/_modules/selenium/webdriver/common/actions/key_actions.html index 0c44b64bcbc19..1692b72491f08 100644 --- a/docs/api/py/_modules/selenium/webdriver/common/actions/key_actions.html +++ b/docs/api/py/_modules/selenium/webdriver/common/actions/key_actions.html @@ -1,54 +1,210 @@ - + - selenium.webdriver.common.actions.key_actions — Selenium 4.29.0.202501201850 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + selenium.webdriver.common.actions.key_actions — Selenium 4.30.0 documentation - + + + + + + + + + + + + + + + + + + + + + + + + Skip to content +
+ +
+ + +
- - - - - - - + +
+
+ +
+ +
+
+
+
+ + +
+
+
+ +
+
-

Source code for selenium.webdriver.common.actions.key_actions

+  

Source code for selenium.webdriver.common.actions.key_actions

 # Licensed to the Software Freedom Conservancy (SFC) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
 # regarding copyright ownership.  The SFC licenses this file
 # to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
+# "License"); you may not use this file except in compliance
 # with the License.  You may obtain a copy of the License at
 #
 #   http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing,
 # software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
@@ -62,23 +218,36 @@ 

Source code for selenium.webdriver.common.actions.key_actions

from .wheel_input import WheelInput -
[docs]class KeyActions(Interaction): +
+[docs] +class KeyActions(Interaction): def __init__(self, source: KeyInput | PointerInput | WheelInput | None = None) -> None: if not source: source = KeyInput(KEY) self.source = source super().__init__(source) -
[docs] def key_down(self, letter: str) -> KeyActions: - return self._key_action("create_key_down", letter)
+
+[docs] + def key_down(self, letter: str) -> KeyActions: + return self._key_action("create_key_down", letter)
+ + +
+[docs] + def key_up(self, letter: str) -> KeyActions: + return self._key_action("create_key_up", letter)
-
[docs] def key_up(self, letter: str) -> KeyActions: - return self._key_action("create_key_up", letter)
-
[docs] def pause(self, duration: int = 0) -> KeyActions: - return self._key_action("create_pause", duration)
+
+[docs] + def pause(self, duration: int = 0) -> KeyActions: + return self._key_action("create_pause", duration)
-
[docs] def send_keys(self, text: str | list) -> KeyActions: + +
+[docs] + def send_keys(self, text: str | list) -> KeyActions: if not isinstance(text, list): text = keys_to_typing(text) for letter in text: @@ -86,48 +255,40 @@

Source code for selenium.webdriver.common.actions.key_actions

self.key_up(letter) return self
+ def _key_action(self, action: str, letter) -> KeyActions: meth = getattr(self.source, action) meth(letter) return self
+
-
-
+
-
+
+ + + \ No newline at end of file diff --git a/docs/api/py/_modules/selenium/webdriver/common/actions/key_input.html b/docs/api/py/_modules/selenium/webdriver/common/actions/key_input.html index fb934ad299caa..3fd9392a4227f 100644 --- a/docs/api/py/_modules/selenium/webdriver/common/actions/key_input.html +++ b/docs/api/py/_modules/selenium/webdriver/common/actions/key_input.html @@ -1,54 +1,210 @@ - + - selenium.webdriver.common.actions.key_input — Selenium 4.29.0.202501201850 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + selenium.webdriver.common.actions.key_input — Selenium 4.30.0 documentation - + + + + + + + + + + + + + + + + + + + + + + + + Skip to content +
+ +
+ + +
- - - - - - - + +
+
+ +
+ +
+
+
+
+ + +
+
+
+ +
+
-

Source code for selenium.webdriver.common.actions.key_input

+  

Source code for selenium.webdriver.common.actions.key_input

 # Licensed to the Software Freedom Conservancy (SFC) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
 # regarding copyright ownership.  The SFC licenses this file
 # to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
+# "License"); you may not use this file except in compliance
 # with the License.  You may obtain a copy of the License at
 #
 #   http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing,
 # software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
@@ -58,71 +214,82 @@ 

Source code for selenium.webdriver.common.actions.key_input

from .interaction import Pause -
[docs]class KeyInput(InputDevice): +
+[docs] +class KeyInput(InputDevice): def __init__(self, name: str) -> None: super().__init__() self.name = name self.type = interaction.KEY -
[docs] def encode(self) -> dict: - return {"type": self.type, "id": self.name, "actions": [acts.encode() for acts in self.actions]}
+
+[docs] + def encode(self) -> dict: + return {"type": self.type, "id": self.name, "actions": [acts.encode() for acts in self.actions]}
+ + +
+[docs] + def create_key_down(self, key) -> None: + self.add_action(TypingInteraction(self, "keyDown", key))
-
[docs] def create_key_down(self, key) -> None: - self.add_action(TypingInteraction(self, "keyDown", key))
-
[docs] def create_key_up(self, key) -> None: - self.add_action(TypingInteraction(self, "keyUp", key))
+
+[docs] + def create_key_up(self, key) -> None: + self.add_action(TypingInteraction(self, "keyUp", key))
-
[docs] def create_pause(self, pause_duration: float = 0) -> None: - self.add_action(Pause(self, pause_duration))
+ +
+[docs] + def create_pause(self, pause_duration: float = 0) -> None: + self.add_action(Pause(self, pause_duration))
+
-
[docs]class TypingInteraction(Interaction): + +
+[docs] +class TypingInteraction(Interaction): def __init__(self, source, type_, key) -> None: super().__init__(source) self.type = type_ self.key = key -
[docs] def encode(self) -> dict: - return {"type": self.type, "value": self.key}
+
+[docs] + def encode(self) -> dict: + return {"type": self.type, "value": self.key}
+
+
-
-
+
-
+
+ + + \ No newline at end of file diff --git a/docs/api/py/_modules/selenium/webdriver/common/actions/mouse_button.html b/docs/api/py/_modules/selenium/webdriver/common/actions/mouse_button.html index 8b12756ad8a3d..56c6f51980340 100644 --- a/docs/api/py/_modules/selenium/webdriver/common/actions/mouse_button.html +++ b/docs/api/py/_modules/selenium/webdriver/common/actions/mouse_button.html @@ -1,103 +1,252 @@ - + - selenium.webdriver.common.actions.mouse_button — Selenium 4.29.0.202501201850 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + selenium.webdriver.common.actions.mouse_button — Selenium 4.30.0 documentation - + + + + + + + + + + + + + + + + + + + + + + + + Skip to content +
+ +
+ + +
- - - - - - - + +
+
+ +
+ +
+
+
+
+ + +
+
+
+ +
+
-

Source code for selenium.webdriver.common.actions.mouse_button

+  

Source code for selenium.webdriver.common.actions.mouse_button

 # Licensed to the Software Freedom Conservancy (SFC) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
 # regarding copyright ownership.  The SFC licenses this file
 # to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
+# "License"); you may not use this file except in compliance
 # with the License.  You may obtain a copy of the License at
 #
 #   http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing,
 # software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
 
 
-
[docs]class MouseButton: +
+[docs] +class MouseButton: LEFT = 0 MIDDLE = 1 RIGHT = 2 BACK = 3 FORWARD = 4
+
-
-
+
-
+
+ + + \ No newline at end of file diff --git a/docs/api/py/_modules/selenium/webdriver/common/actions/pointer_actions.html b/docs/api/py/_modules/selenium/webdriver/common/actions/pointer_actions.html index 738700b22b873..2760e9ddac950 100644 --- a/docs/api/py/_modules/selenium/webdriver/common/actions/pointer_actions.html +++ b/docs/api/py/_modules/selenium/webdriver/common/actions/pointer_actions.html @@ -1,54 +1,210 @@ - + - selenium.webdriver.common.actions.pointer_actions — Selenium 4.29.0.202501201850 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + selenium.webdriver.common.actions.pointer_actions — Selenium 4.30.0 documentation - + + + + + + + + + + + + + + + + + + + + + + + + Skip to content +
+ +
+ + +
- - - - - - - + +
+
+ +
+
+ +
+
+
+
+
+ + +
+
+
+ +
+
-

Source code for selenium.webdriver.common.actions.pointer_actions

+  

Source code for selenium.webdriver.common.actions.pointer_actions

 # Licensed to the Software Freedom Conservancy (SFC) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
 # regarding copyright ownership.  The SFC licenses this file
 # to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
+# "License"); you may not use this file except in compliance
 # with the License.  You may obtain a copy of the License at
 #
 #   http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing,
 # software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
@@ -62,20 +218,24 @@ 

Source code for selenium.webdriver.common.actions.pointer_actions

from .pointer_input import PointerInput -
[docs]class PointerActions(Interaction): +
+[docs] +class PointerActions(Interaction): def __init__(self, source: Optional[PointerInput] = None, duration: int = 250): - """ + """ Args: - source: PointerInput instance - duration: override the default 250 msecs of DEFAULT_MOVE_DURATION in source - """ + """ if not source: - source = PointerInput(interaction.POINTER_MOUSE, "mouse") + source = PointerInput(interaction.POINTER_MOUSE, "mouse") self.source = source self._duration = duration super().__init__(source) -
[docs] def pointer_down( +
+[docs] + def pointer_down( self, button=MouseButton.LEFT, width=None, @@ -89,7 +249,7 @@

Source code for selenium.webdriver.common.actions.pointer_actions

azimuth_angle=None, ): self._button_action( - "create_pointer_down", + "create_pointer_down", button=button, width=width, height=height, @@ -103,11 +263,17 @@

Source code for selenium.webdriver.common.actions.pointer_actions

) return self
-
[docs] def pointer_up(self, button=MouseButton.LEFT): - self._button_action("create_pointer_up", button=button) + +
+[docs] + def pointer_up(self, button=MouseButton.LEFT): + self._button_action("create_pointer_up", button=button) return self
-
[docs] def move_to( + +
+[docs] + def move_to( self, element, x=0, @@ -123,7 +289,7 @@

Source code for selenium.webdriver.common.actions.pointer_actions

azimuth_angle=None, ): if not isinstance(element, WebElement): - raise AttributeError("move_to requires a WebElement") + raise AttributeError("move_to requires a WebElement") self.source.create_pointer_move( origin=element, @@ -142,7 +308,10 @@

Source code for selenium.webdriver.common.actions.pointer_actions

) return self
-
[docs] def move_by( + +
+[docs] + def move_by( self, x, y, @@ -173,7 +342,10 @@

Source code for selenium.webdriver.common.actions.pointer_actions

) return self
-
[docs] def move_to_location( + +
+[docs] + def move_to_location( self, x, y, @@ -188,7 +360,7 @@

Source code for selenium.webdriver.common.actions.pointer_actions

azimuth_angle=None, ): self.source.create_pointer_move( - origin="viewport", + origin="viewport", duration=self._duration, x=int(x), y=int(y), @@ -204,27 +376,42 @@

Source code for selenium.webdriver.common.actions.pointer_actions

) return self
-
[docs] def click(self, element: Optional[WebElement] = None, button=MouseButton.LEFT): + +
+[docs] + def click(self, element: Optional[WebElement] = None, button=MouseButton.LEFT): if element: self.move_to(element) self.pointer_down(button) self.pointer_up(button) return self
-
[docs] def context_click(self, element: Optional[WebElement] = None): + +
+[docs] + def context_click(self, element: Optional[WebElement] = None): return self.click(element=element, button=MouseButton.RIGHT)
-
[docs] def click_and_hold(self, element: Optional[WebElement] = None, button=MouseButton.LEFT): + +
+[docs] + def click_and_hold(self, element: Optional[WebElement] = None, button=MouseButton.LEFT): if element: self.move_to(element) self.pointer_down(button=button) return self
-
[docs] def release(self, button=MouseButton.LEFT): + +
+[docs] + def release(self, button=MouseButton.LEFT): self.pointer_up(button=button) return self
-
[docs] def double_click(self, element: Optional[WebElement] = None): + +
+[docs] + def double_click(self, element: Optional[WebElement] = None): if element: self.move_to(element) self.pointer_down(MouseButton.LEFT) @@ -233,52 +420,47 @@

Source code for selenium.webdriver.common.actions.pointer_actions

self.pointer_up(MouseButton.LEFT) return self
-
[docs] def pause(self, duration: float = 0): + +
+[docs] + def pause(self, duration: float = 0): self.source.create_pause(duration) return self
+ def _button_action(self, action, **kwargs): meth = getattr(self.source, action) meth(**kwargs) return self
+
-
-
+
-
+
+ + + \ No newline at end of file diff --git a/docs/api/py/_modules/selenium/webdriver/common/actions/pointer_input.html b/docs/api/py/_modules/selenium/webdriver/common/actions/pointer_input.html index 5d1f1088acee1..edf718e7625d5 100644 --- a/docs/api/py/_modules/selenium/webdriver/common/actions/pointer_input.html +++ b/docs/api/py/_modules/selenium/webdriver/common/actions/pointer_input.html @@ -1,54 +1,210 @@ - + - selenium.webdriver.common.actions.pointer_input — Selenium 4.29.0.202501201850 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + selenium.webdriver.common.actions.pointer_input — Selenium 4.30.0 documentation - + + + + + + + + + + + + + + + + + + + + + + + + Skip to content +
+ +
+ + +
- - - - - - - + +
+
+ +
+ +
+
+
+
+ + +
+
+
+ +
+
-

Source code for selenium.webdriver.common.actions.pointer_input

+  

Source code for selenium.webdriver.common.actions.pointer_input

 # Licensed to the Software Freedom Conservancy (SFC) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
 # regarding copyright ownership.  The SFC licenses this file
 # to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
+# "License"); you may not use this file except in compliance
 # with the License.  You may obtain a copy of the License at
 #
 #   http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing,
 # software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
@@ -66,18 +222,22 @@ 

Source code for selenium.webdriver.common.actions.pointer_input

from .interaction import POINTER_KINDS -
[docs]class PointerInput(InputDevice): +
+[docs] +class PointerInput(InputDevice): DEFAULT_MOVE_DURATION = 250 def __init__(self, kind, name): super().__init__() if kind not in POINTER_KINDS: - raise InvalidArgumentException(f"Invalid PointerInput kind '{kind}'") + raise InvalidArgumentException(f"Invalid PointerInput kind '{kind}'") self.type = POINTER self.kind = kind self.name = name -
[docs] def create_pointer_move( +
+[docs] + def create_pointer_move( self, duration=DEFAULT_MOVE_DURATION, x: float = 0, @@ -85,79 +245,86 @@

Source code for selenium.webdriver.common.actions.pointer_input

origin: Optional[WebElement] = None, **kwargs, ): - action = {"type": "pointerMove", "duration": duration, "x": x, "y": y, **kwargs} + action = {"type": "pointerMove", "duration": duration, "x": x, "y": y, **kwargs} if isinstance(origin, WebElement): - action["origin"] = {"element-6066-11e4-a52e-4f735466cecf": origin.id} + action["origin"] = {"element-6066-11e4-a52e-4f735466cecf": origin.id} elif origin is not None: - action["origin"] = origin + action["origin"] = origin self.add_action(self._convert_keys(action))
-
[docs] def create_pointer_down(self, **kwargs): - data = {"type": "pointerDown", "duration": 0, **kwargs} + +
+[docs] + def create_pointer_down(self, **kwargs): + data = {"type": "pointerDown", "duration": 0, **kwargs} self.add_action(self._convert_keys(data))
-
[docs] def create_pointer_up(self, button): - self.add_action({"type": "pointerUp", "duration": 0, "button": button})
-
[docs] def create_pointer_cancel(self): - self.add_action({"type": "pointerCancel"})
+
+[docs] + def create_pointer_up(self, button): + self.add_action({"type": "pointerUp", "duration": 0, "button": button})
+ + +
+[docs] + def create_pointer_cancel(self): + self.add_action({"type": "pointerCancel"})
+ -
[docs] def create_pause(self, pause_duration: Union[int, float] = 0) -> None: - self.add_action({"type": "pause", "duration": int(pause_duration * 1000)})
+
+[docs] + def create_pause(self, pause_duration: Union[int, float] = 0) -> None: + self.add_action({"type": "pause", "duration": int(pause_duration * 1000)})
+ + +
+[docs] + def encode(self): + return {"type": self.type, "parameters": {"pointerType": self.kind}, "id": self.name, "actions": self.actions}
-
[docs] def encode(self): - return {"type": self.type, "parameters": {"pointerType": self.kind}, "id": self.name, "actions": self.actions}
def _convert_keys(self, actions: Dict[str, Any]): out = {} for k, v in actions.items(): if v is None: continue - if k in ("x", "y"): + if k in ("x", "y"): out[k] = int(v) continue - splits = k.split("_") - new_key = splits[0] + "".join(v.title() for v in splits[1:]) + splits = k.split("_") + new_key = splits[0] + "".join(v.title() for v in splits[1:]) out[new_key] = v return out
+
-
-
+
-
+
+ + + \ No newline at end of file diff --git a/docs/api/py/_modules/selenium/webdriver/common/actions/wheel_actions.html b/docs/api/py/_modules/selenium/webdriver/common/actions/wheel_actions.html index 065ccc70f280b..98142075466fb 100644 --- a/docs/api/py/_modules/selenium/webdriver/common/actions/wheel_actions.html +++ b/docs/api/py/_modules/selenium/webdriver/common/actions/wheel_actions.html @@ -1,54 +1,210 @@ - + - selenium.webdriver.common.actions.wheel_actions — Selenium 4.29.0.202501201850 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + selenium.webdriver.common.actions.wheel_actions — Selenium 4.30.0 documentation - + + + + + + + + + + + + + + + + + + + + + + + + Skip to content +
+ +
+ + +
- - - - - - - + +
+
+ +
+ +
+
+
+
+ + +
+
+
+ +
+
-

Source code for selenium.webdriver.common.actions.wheel_actions

+  

Source code for selenium.webdriver.common.actions.wheel_actions

 # Licensed to the Software Freedom Conservancy (SFC) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
 # regarding copyright ownership.  The SFC licenses this file
 # to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
+# "License"); you may not use this file except in compliance
 # with the License.  You may obtain a copy of the License at
 #
 #   http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing,
 # software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
@@ -56,57 +212,56 @@ 

Source code for selenium.webdriver.common.actions.wheel_actions

from .wheel_input import WheelInput -
[docs]class WheelActions(Interaction): +
+[docs] +class WheelActions(Interaction): def __init__(self, source: WheelInput = None): if not source: - source = WheelInput("wheel") + source = WheelInput("wheel") super().__init__(source) -
[docs] def pause(self, duration: float = 0): +
+[docs] + def pause(self, duration: float = 0): self.source.create_pause(duration) return self
-
[docs] def scroll(self, x=0, y=0, delta_x=0, delta_y=0, duration=0, origin="viewport"): + +
+[docs] + def scroll(self, x=0, y=0, delta_x=0, delta_y=0, duration=0, origin="viewport"): self.source.create_scroll(x, y, delta_x, delta_y, duration, origin) - return self
+ return self
+
+
-
-
+
-
+
+ + + \ No newline at end of file diff --git a/docs/api/py/_modules/selenium/webdriver/common/actions/wheel_input.html b/docs/api/py/_modules/selenium/webdriver/common/actions/wheel_input.html index b14b5f5a7a43f..5d9d1d0ae6aff 100644 --- a/docs/api/py/_modules/selenium/webdriver/common/actions/wheel_input.html +++ b/docs/api/py/_modules/selenium/webdriver/common/actions/wheel_input.html @@ -1,54 +1,210 @@ - + - selenium.webdriver.common.actions.wheel_input — Selenium 4.29.0.202501201850 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + selenium.webdriver.common.actions.wheel_input — Selenium 4.30.0 documentation - + + + + + + + + + + + + + + + + + + + + + + + + Skip to content +
+ +
+ + +
- - - - - - - + +
+
+ +
+ +
+
+
+
+ + +
+
+
+ +
+
-

Source code for selenium.webdriver.common.actions.wheel_input

+  

Source code for selenium.webdriver.common.actions.wheel_input

 # Licensed to the Software Freedom Conservancy (SFC) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
 # regarding copyright ownership.  The SFC licenses this file
 # to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
+# "License"); you may not use this file except in compliance
 # with the License.  You may obtain a copy of the License at
 #
 #   http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing,
 # software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
@@ -60,19 +216,27 @@ 

Source code for selenium.webdriver.common.actions.wheel_input

from .input_device import InputDevice -
[docs]class ScrollOrigin: +
+[docs] +class ScrollOrigin: def __init__(self, origin: Union[str, WebElement], x_offset: int, y_offset: int) -> None: self._origin = origin self._x_offset = x_offset self._y_offset = y_offset -
[docs] @classmethod +
+[docs] + @classmethod def from_element(cls, element: WebElement, x_offset: int = 0, y_offset: int = 0): return cls(element, x_offset, y_offset)
-
[docs] @classmethod + +
+[docs] + @classmethod def from_viewport(cls, x_offset: int = 0, y_offset: int = 0): - return cls("viewport", x_offset, y_offset)
+ return cls("viewport", x_offset, y_offset)
+ @property def origin(self) -> Union[str, WebElement]: @@ -87,70 +251,73 @@

Source code for selenium.webdriver.common.actions.wheel_input

return self._y_offset
-
[docs]class WheelInput(InputDevice): + +
+[docs] +class WheelInput(InputDevice): def __init__(self, name) -> None: super().__init__(name=name) self.name = name self.type = interaction.WHEEL -
[docs] def encode(self) -> dict: - return {"type": self.type, "id": self.name, "actions": self.actions}
+
+[docs] + def encode(self) -> dict: + return {"type": self.type, "id": self.name, "actions": self.actions}
+ -
[docs] def create_scroll(self, x: int, y: int, delta_x: int, delta_y: int, duration: int, origin) -> None: +
+[docs] + def create_scroll(self, x: int, y: int, delta_x: int, delta_y: int, duration: int, origin) -> None: if isinstance(origin, WebElement): - origin = {"element-6066-11e4-a52e-4f735466cecf": origin.id} + origin = {"element-6066-11e4-a52e-4f735466cecf": origin.id} self.add_action( { - "type": "scroll", - "x": x, - "y": y, - "deltaX": delta_x, - "deltaY": delta_y, - "duration": duration, - "origin": origin, + "type": "scroll", + "x": x, + "y": y, + "deltaX": delta_x, + "deltaY": delta_y, + "duration": duration, + "origin": origin, } )
-
[docs] def create_pause(self, pause_duration: Union[int, float] = 0) -> None: - self.add_action({"type": "pause", "duration": int(pause_duration * 1000)})
+ +
+[docs] + def create_pause(self, pause_duration: Union[int, float] = 0) -> None: + self.add_action({"type": "pause", "duration": int(pause_duration * 1000)})
+
+
-
-
+
-
+
+ + + \ No newline at end of file diff --git a/docs/api/py/_modules/selenium/webdriver/common/alert.html b/docs/api/py/_modules/selenium/webdriver/common/alert.html index 743ea108d1c5e..a3a2e12d9f735 100644 --- a/docs/api/py/_modules/selenium/webdriver/common/alert.html +++ b/docs/api/py/_modules/selenium/webdriver/common/alert.html @@ -1,65 +1,223 @@ - + - selenium.webdriver.common.alert — Selenium 4.29.0.202501201850 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + selenium.webdriver.common.alert — Selenium 4.30.0 documentation - + + + + + + + + + + + + + + + + + + + + + + + + Skip to content +
+ +
+ + +
- - - - - - - + +
+
+ +
+ +
+
+
+
+ + +
+
+
+ +
+
-

Source code for selenium.webdriver.common.alert

+  

Source code for selenium.webdriver.common.alert

 # Licensed to the Software Freedom Conservancy (SFC) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
 # regarding copyright ownership.  The SFC licenses this file
 # to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
+# "License"); you may not use this file except in compliance
 # with the License.  You may obtain a copy of the License at
 #
 #   http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing,
 # software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-"""The Alert implementation."""
+"""The Alert implementation."""
 
 from selenium.webdriver.common.utils import keys_to_typing
 from selenium.webdriver.remote.command import Command
 
 
-
[docs]class Alert: - """Allows to work with alerts. +
+[docs] +class Alert: + """Allows to work with alerts. Use this class to interact with alert prompts. It contains methods for dismissing, accepting, inputting, and getting text from alert prompts. @@ -72,88 +230,88 @@

Source code for selenium.webdriver.common.alert

< Inputting a value into an alert prompt:: name_prompt = Alert(driver) - name_prompt.send_keys("Willian Shakesphere") + name_prompt.send_keys("Willian Shakesphere") name_prompt.accept() Reading a the text of a prompt for verification:: alert_text = Alert(driver).text - self.assertEqual("Do you wish to quit?", alert_text) - """ + self.assertEqual("Do you wish to quit?", alert_text) + """ def __init__(self, driver) -> None: - """Creates a new Alert. + """Creates a new Alert. :Args: - driver: The WebDriver instance which performs user actions. - """ + """ self.driver = driver @property def text(self) -> str: - """Gets the text of the Alert.""" - return self.driver.execute(Command.W3C_GET_ALERT_TEXT)["value"] + """Gets the text of the Alert.""" + return self.driver.execute(Command.W3C_GET_ALERT_TEXT)["value"] -
[docs] def dismiss(self) -> None: - """Dismisses the alert available.""" +
+[docs] + def dismiss(self) -> None: + """Dismisses the alert available.""" self.driver.execute(Command.W3C_DISMISS_ALERT)
-
[docs] def accept(self) -> None: - """Accepts the alert available. + +
+[docs] + def accept(self) -> None: + """Accepts the alert available. :Usage: :: Alert(driver).accept() # Confirm a alert dialog. - """ + """ self.driver.execute(Command.W3C_ACCEPT_ALERT)
-
[docs] def send_keys(self, keysToSend: str) -> None: - """Send Keys to the Alert. + +
+[docs] + def send_keys(self, keysToSend: str) -> None: + """Send Keys to the Alert. :Args: - keysToSend: The text to be sent to Alert. - """ - self.driver.execute(Command.W3C_SET_ALERT_VALUE, {"value": keys_to_typing(keysToSend), "text": keysToSend})
+ """ + self.driver.execute(Command.W3C_SET_ALERT_VALUE, {"value": keys_to_typing(keysToSend), "text": keysToSend})
+
+
-
-
+
-
+
+ + + \ No newline at end of file diff --git a/docs/api/py/_modules/selenium/webdriver/common/bidi/cdp.html b/docs/api/py/_modules/selenium/webdriver/common/bidi/cdp.html index dfaf716a720e7..1b29cb4004d8b 100644 --- a/docs/api/py/_modules/selenium/webdriver/common/bidi/cdp.html +++ b/docs/api/py/_modules/selenium/webdriver/common/bidi/cdp.html @@ -1,47 +1,203 @@ - + - selenium.webdriver.common.bidi.cdp — Selenium 4.29.0.202501201850 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + selenium.webdriver.common.bidi.cdp — Selenium 4.30.0 documentation - + + + + + + + + + + + + + + + + + + + + + + + + Skip to content +
+ +
+ + +
- - - - - - - + +
+
+ +
+ +
+
+
+
+ + +
+
+
+ +
+
-

Source code for selenium.webdriver.common.bidi.cdp

+  

Source code for selenium.webdriver.common.bidi.cdp

 # The MIT License(MIT)
 #
 # Copyright(c) 2018 Hyperion Gray
 #
 # Permission is hereby granted, free of charge, to any person obtaining a copy
-# of this software and associated documentation files(the "Software"), to deal
+# of this software and associated documentation files(the "Software"), to deal
 # in the Software without restriction, including without limitation the rights
 # to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
 # copies of the Software, and to permit persons to whom the Software is
@@ -50,7 +206,7 @@ 

Source code for selenium.webdriver.common.bidi.cdp

# The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER @@ -83,68 +239,79 @@

Source code for selenium.webdriver.common.bidi.cdp

from trio_websocket import ConnectionClosed as WsConnectionClosed from trio_websocket import connect_websocket_url -logger = logging.getLogger("trio_cdp") -T = TypeVar("T") +logger = logging.getLogger("trio_cdp") +T = TypeVar("T") MAX_WS_MESSAGE_SIZE = 2**24 devtools = None version = None -
[docs]def import_devtools(ver): - """Attempt to load the current latest available devtools into the module - cache for use later.""" +
+[docs] +def import_devtools(ver): + """Attempt to load the current latest available devtools into the module + cache for use later.""" global devtools global version version = ver - base = "selenium.webdriver.common.devtools.v" + base = "selenium.webdriver.common.devtools.v" try: - devtools = importlib.import_module(f"{base}{ver}") + devtools = importlib.import_module(f"{base}{ver}") return devtools except ModuleNotFoundError: - # Attempt to parse and load the 'most recent' devtools module. This is likely + # Attempt to parse and load the 'most recent' devtools module. This is likely # because cdp has been updated but selenium python has not been released yet. - devtools_path = pathlib.Path(__file__).parents[1].joinpath("devtools") + devtools_path = pathlib.Path(__file__).parents[1].joinpath("devtools") versions = tuple(f.name for f in devtools_path.iterdir() if f.is_dir()) latest = max(int(x[1:]) for x in versions) selenium_logger = logging.getLogger(__name__) - selenium_logger.debug("Falling back to loading `devtools`: v%s", latest) - devtools = importlib.import_module(f"{base}{latest}") + selenium_logger.debug("Falling back to loading `devtools`: v%s", latest) + devtools = importlib.import_module(f"{base}{latest}") return devtools
-_connection_context: contextvars.ContextVar = contextvars.ContextVar("connection_context") -_session_context: contextvars.ContextVar = contextvars.ContextVar("session_context") + +_connection_context: contextvars.ContextVar = contextvars.ContextVar("connection_context") +_session_context: contextvars.ContextVar = contextvars.ContextVar("session_context") -
[docs]def get_connection_context(fn_name): - """Look up the current connection. +
+[docs] +def get_connection_context(fn_name): + """Look up the current connection. If there is no current connection, raise a ``RuntimeError`` with a helpful message. - """ + """ try: return _connection_context.get() except LookupError: - raise RuntimeError(f"{fn_name}() must be called in a connection context.")
+ raise RuntimeError(f"{fn_name}() must be called in a connection context.")
-
[docs]def get_session_context(fn_name): - """Look up the current session. + +
+[docs] +def get_session_context(fn_name): + """Look up the current session. If there is no current session, raise a ``RuntimeError`` with a helpful message. - """ + """ try: return _session_context.get() except LookupError: - raise RuntimeError(f"{fn_name}() must be called in a session context.")
+ raise RuntimeError(f"{fn_name}() must be called in a session context.")
+ -
[docs]@contextmanager +
+[docs] +@contextmanager def connection_context(connection): - """This context manager installs ``connection`` as the session context for - the current Trio task.""" + """This context manager installs ``connection`` as the session context for + the current Trio task.""" token = _connection_context.set(connection) try: yield @@ -152,10 +319,13 @@

Source code for selenium.webdriver.common.bidi.cdp

_connection_context.reset(token)
-
[docs]@contextmanager + +
+[docs] +@contextmanager def session_context(session): - """This context manager installs ``session`` as the session context for the - current Trio task.""" + """This context manager installs ``session`` as the session context for the + current Trio task.""" token = _session_context.set(session) try: yield @@ -163,74 +333,95 @@

Source code for selenium.webdriver.common.bidi.cdp

_session_context.reset(token)
-
[docs]def set_global_connection(connection): - """Install ``connection`` in the root context so that it will become the + +
+[docs] +def set_global_connection(connection): + """Install ``connection`` in the root context so that it will become the default connection for all tasks. This is generally not recommended, except it may be necessary in certain use cases such as running inside Jupyter notebook. - """ + """ global _connection_context - _connection_context = contextvars.ContextVar("_connection_context", default=connection)
+ _connection_context = contextvars.ContextVar("_connection_context", default=connection)
+ -
[docs]def set_global_session(session): - """Install ``session`` in the root context so that it will become the +
+[docs] +def set_global_session(session): + """Install ``session`` in the root context so that it will become the default session for all tasks. This is generally not recommended, except it may be necessary in certain use cases such as running inside Jupyter notebook. - """ + """ global _session_context - _session_context = contextvars.ContextVar("_session_context", default=session)
+ _session_context = contextvars.ContextVar("_session_context", default=session)
-
[docs]class BrowserError(Exception): - """This exception is raised when the browser's response to a command - indicates that an error occurred.""" + +
+[docs] +class BrowserError(Exception): + """This exception is raised when the browser's response to a command + indicates that an error occurred.""" def __init__(self, obj): - self.code = obj.get("code") - self.message = obj.get("message") - self.detail = obj.get("data") + self.code = obj.get("code") + self.message = obj.get("message") + self.detail = obj.get("data") def __str__(self): - return f"BrowserError<code={self.code} message={self.message}> {self.detail}"
+ return f"BrowserError<code={self.code} message={self.message}> {self.detail}"
+ -
[docs]class CdpConnectionClosed(WsConnectionClosed): - """Raised when a public method is called on a closed CDP connection.""" +
+[docs] +class CdpConnectionClosed(WsConnectionClosed): + """Raised when a public method is called on a closed CDP connection.""" def __init__(self, reason): - """Constructor. + """Constructor. :param reason: :type reason: wsproto.frame_protocol.CloseReason - """ + """ self.reason = reason def __repr__(self): - """Return representation.""" - return f"{self.__class__.__name__}<{self.reason}>"
+ """Return representation.""" + return f"{self.__class__.__name__}<{self.reason}>"
-
[docs]class InternalError(Exception): - """This exception is only raised when there is faulty logic in TrioCDP or - the integration with PyCDP."""
+
+[docs] +class InternalError(Exception): + """This exception is only raised when there is faulty logic in TrioCDP or + the integration with PyCDP."""
-
[docs]@dataclass + + +
+[docs] +@dataclass class CmEventProxy: - """A proxy object returned by :meth:`CdpBase.wait_for()``. + """A proxy object returned by :meth:`CdpBase.wait_for()``. After the context manager executes, this proxy object will have a value set that contains the returned event. - """ + """ value: Any = None
-
[docs]class CdpBase: + +
+[docs] +class CdpBase: def __init__(self, ws, session_id, target_id): self.ws = ws self.session_id = session_id @@ -240,22 +431,24 @@

Source code for selenium.webdriver.common.bidi.cdp

self.inflight_cmd = {} self.inflight_result = {} -
[docs] async def execute(self, cmd: Generator[dict, T, Any]) -> T: - """Execute a command on the server and wait for the result. +
+[docs] + async def execute(self, cmd: Generator[dict, T, Any]) -> T: + """Execute a command on the server and wait for the result. :param cmd: any CDP command :returns: a CDP result - """ + """ cmd_id = next(self.id_iter) cmd_event = trio.Event() self.inflight_cmd[cmd_id] = cmd, cmd_event request = next(cmd) - request["id"] = cmd_id + request["id"] = cmd_id if self.session_id: - request["sessionId"] = self.session_id + request["sessionId"] = self.session_id request_str = json.dumps(request) if logger.isEnabledFor(logging.DEBUG): - logger.debug(f"Sending CDP message: {cmd_id} {cmd_event}: {request_str}") + logger.debug(f"Sending CDP message: {cmd_id} {cmd_event}: {request_str}") try: await self.ws.send_message(request_str) except WsConnectionClosed as wcc: @@ -263,29 +456,35 @@

Source code for selenium.webdriver.common.bidi.cdp

await cmd_event.wait() response = self.inflight_result.pop(cmd_id) if logger.isEnabledFor(logging.DEBUG): - logger.debug(f"Received CDP message: {response}") + logger.debug(f"Received CDP message: {response}") if isinstance(response, Exception): if logger.isEnabledFor(logging.DEBUG): - logger.debug(f"Exception raised by {cmd_event} message: {type(response).__name__}") + logger.debug(f"Exception raised by {cmd_event} message: {type(response).__name__}") raise response return response
-
[docs] def listen(self, *event_types, buffer_size=10): - """Return an async iterator that iterates over events matching the - indicated types.""" + +
+[docs] + def listen(self, *event_types, buffer_size=10): + """Return an async iterator that iterates over events matching the + indicated types.""" sender, receiver = trio.open_memory_channel(buffer_size) for event_type in event_types: self.channels[event_type].add(sender) return receiver
-
[docs] @asynccontextmanager + +
+[docs] + @asynccontextmanager async def wait_for(self, event_type: Type[T], buffer_size=10) -> AsyncGenerator[CmEventProxy, None]: - """Wait for an event of the given type and return it. + """Wait for an event of the given type and return it. This is an async context manager, so you should open it inside an async with block. The block will not exit until the indicated event is received. - """ + """ sender: trio.MemorySendChannel receiver: trio.MemoryReceiveChannel sender, receiver = trio.open_memory_channel(buffer_size) @@ -296,77 +495,81 @@

Source code for selenium.webdriver.common.bidi.cdp

event = await receiver.receive() proxy.value = event
+ def _handle_data(self, data): - """Handle incoming WebSocket data. + """Handle incoming WebSocket data. :param dict data: a JSON dictionary - """ - if "id" in data: + """ + if "id" in data: self._handle_cmd_response(data) else: self._handle_event(data) def _handle_cmd_response(self, data): - """Handle a response to a command. This will set an event flag that + """Handle a response to a command. This will set an event flag that will return control to the task that called the command. :param dict data: response as a JSON dictionary - """ - cmd_id = data["id"] + """ + cmd_id = data["id"] try: cmd, event = self.inflight_cmd.pop(cmd_id) except KeyError: - logger.warning("Got a message with a command ID that does not exist: %s", data) + logger.warning("Got a message with a command ID that does not exist: %s", data) return - if "error" in data: + if "error" in data: # If the server reported an error, convert it to an exception and do # not process the response any further. - self.inflight_result[cmd_id] = BrowserError(data["error"]) + self.inflight_result[cmd_id] = BrowserError(data["error"]) else: # Otherwise, continue the generator to parse the JSON result # into a CDP object. try: - _ = cmd.send(data["result"]) - raise InternalError("The command's generator function did not exit when expected!") + _ = cmd.send(data["result"]) + raise InternalError("The command's generator function did not exit when expected!") except StopIteration as exit: return_ = exit.value self.inflight_result[cmd_id] = return_ event.set() def _handle_event(self, data): - """Handle an event. + """Handle an event. :param dict data: event as a JSON dictionary - """ + """ global devtools event = devtools.util.parse_json_event(data) - logger.debug("Received event: %s", event) + logger.debug("Received event: %s", event) to_remove = set() for sender in self.channels[type(event)]: try: sender.send_nowait(event) except trio.WouldBlock: - logger.error('Unable to send event "%r" due to full channel %s', event, sender) + logger.error('Unable to send event "%r" due to full channel %s', event, sender) except trio.BrokenResourceError: to_remove.add(sender) if to_remove: self.channels[type(event)] -= to_remove
-
[docs]class CdpSession(CdpBase): - """Contains the state for a CDP session. + +
+[docs] +class CdpSession(CdpBase): + """Contains the state for a CDP session. Generally you should not instantiate this object yourself; you should call :meth:`CdpConnection.open_session`. - """ + """ def __init__(self, ws, session_id, target_id): - """Constructor. + """Constructor. :param trio_websocket.WebSocketConnection ws: :param devtools.target.SessionID session_id: :param devtools.target.TargetID target_id: - """ + """ super().__init__(ws, session_id, target_id) self._dom_enable_count = 0 @@ -374,14 +577,16 @@

Source code for selenium.webdriver.common.bidi.cdp

self._page_enable_count = 0 self._page_enable_lock = trio.Lock() -
[docs] @asynccontextmanager +
+[docs] + @asynccontextmanager async def dom_enable(self): - """A context manager that executes ``dom.enable()`` when it enters and + """A context manager that executes ``dom.enable()`` when it enters and then calls ``dom.disable()``. This keeps track of concurrent callers and only disables DOM events when all callers have exited. - """ + """ global devtools async with self._dom_enable_lock: self._dom_enable_count += 1 @@ -395,14 +600,17 @@

Source code for selenium.webdriver.common.bidi.cdp

if self._dom_enable_count == 0: await self.execute(devtools.dom.disable())
-
[docs] @asynccontextmanager + +
+[docs] + @asynccontextmanager async def page_enable(self): - """A context manager that executes ``page.enable()`` when it enters and + """A context manager that executes ``page.enable()`` when it enters and then calls ``page.disable()`` when it exits. This keeps track of concurrent callers and only disables page events when all callers have exited. - """ + """ global devtools async with self._page_enable_lock: self._page_enable_count += 1 @@ -414,71 +622,84 @@

Source code for selenium.webdriver.common.bidi.cdp

async with self._page_enable_lock: self._page_enable_count -= 1 if self._page_enable_count == 0: - await self.execute(devtools.page.disable())
+ await self.execute(devtools.page.disable())
+
+ -
[docs]class CdpConnection(CdpBase, trio.abc.AsyncResource): - """Contains the connection state for a Chrome DevTools Protocol server. +
+[docs] +class CdpConnection(CdpBase, trio.abc.AsyncResource): + """Contains the connection state for a Chrome DevTools Protocol server. - CDP can multiplex multiple "sessions" over a single connection. This - class corresponds to the "root" session, i.e. the implicitly created + CDP can multiplex multiple "sessions" over a single connection. This + class corresponds to the "root" session, i.e. the implicitly created session that has no session ID. This class is responsible for reading incoming WebSocket messages and forwarding them to the corresponding session, as well as handling messages targeted at the root session itself. You should generally call the :func:`open_cdp()` instead of instantiating this class directly. - """ + """ def __init__(self, ws): - """Constructor. + """Constructor. :param trio_websocket.WebSocketConnection ws: - """ + """ super().__init__(ws, session_id=None, target_id=None) self.sessions = {} -
[docs] async def aclose(self): - """Close the underlying WebSocket connection. +
+[docs] + async def aclose(self): + """Close the underlying WebSocket connection. This will cause the reader task to gracefully exit when it tries to read the next message from the WebSocket. All of the public APIs (``execute()``, ``listen()``, etc.) will raise ``CdpConnectionClosed`` after the CDP connection is closed. It is safe to call this multiple times. - """ + """ await self.ws.aclose()
-
[docs] @asynccontextmanager + +
+[docs] + @asynccontextmanager async def open_session(self, target_id) -> AsyncIterator[CdpSession]: - """This context manager opens a session and enables the "simple" style + """This context manager opens a session and enables the "simple" style of calling CDP APIs. For example, inside a session context, you can call ``await dom.get_document()`` and it will execute on the current session automatically. - """ + """ session = await self.connect_session(target_id) with session_context(session): yield session
-
[docs] async def connect_session(self, target_id) -> "CdpSession": - """Returns a new :class:`CdpSession` connected to the specified - target.""" + +
+[docs] + async def connect_session(self, target_id) -> "CdpSession": + """Returns a new :class:`CdpSession` connected to the specified + target.""" global devtools session_id = await self.execute(devtools.target.attach_to_target(target_id, True)) session = CdpSession(self.ws, session_id, target_id) self.sessions[session_id] = session return session
+ async def _reader_task(self): - """Runs in the background and handles incoming messages: dispatching - responses to commands and events to listeners.""" + """Runs in the background and handles incoming messages: dispatching + responses to commands and events to listeners.""" global devtools while True: try: message = await self.ws.get_message() except WsConnectionClosed: - # If the WebSocket is closed, we don't want to throw an + # If the WebSocket is closed, we don't want to throw an # exception from the reader task. Instead we will throw # exceptions from the public API methods, and we can quietly # exit the reader task here. @@ -486,18 +707,18 @@

Source code for selenium.webdriver.common.bidi.cdp

try: data = json.loads(message) except json.JSONDecodeError: - raise BrowserError({"code": -32700, "message": "Client received invalid JSON", "data": message}) - logger.debug("Received message %r", data) - if "sessionId" in data: - session_id = devtools.target.SessionID(data["sessionId"]) + raise BrowserError({"code": -32700, "message": "Client received invalid JSON", "data": message}) + logger.debug("Received message %r", data) + if "sessionId" in data: + session_id = devtools.target.SessionID(data["sessionId"]) try: session = self.sessions[session_id] except KeyError: raise BrowserError( { - "code": -32700, - "message": "Browser sent a message for an invalid session", - "data": f"{session_id!r}", + "code": -32700, + "message": "Browser sent a message for an invalid session", + "data": f"{session_id!r}", } ) session._handle_data(data) @@ -510,9 +731,12 @@

Source code for selenium.webdriver.common.bidi.cdp

sender.close()
-
[docs]@asynccontextmanager + +
+[docs] +@asynccontextmanager async def open_cdp(url) -> AsyncIterator[CdpConnection]: - """This async context manager opens a connection to the browser specified + """This async context manager opens a connection to the browser specified by ``url`` before entering the block, then closes the connection when the block exits. @@ -521,7 +745,7 @@

Source code for selenium.webdriver.common.bidi.cdp

target.get_targets()`` will run on this connection automatically. If you want to use multiple connections concurrently, it is recommended to open each on in a separate task. - """ + """ async with trio.open_nursery() as nursery: conn = await connect_cdp(nursery, url) @@ -532,8 +756,11 @@

Source code for selenium.webdriver.common.bidi.cdp

await conn.aclose()
-
[docs]async def connect_cdp(nursery, url) -> CdpConnection: - """Connect to the browser specified by ``url`` and spawn a background task + +
+[docs] +async def connect_cdp(nursery, url) -> CdpConnection: + """Connect to the browser specified by ``url`` and spawn a background task in the specified nursery. The ``open_cdp()`` context manager is preferred in most situations. @@ -545,49 +772,40 @@

Source code for selenium.webdriver.common.bidi.cdp

connection will be installed as the default connection for the current task. This argument is for unusual use cases, such as running inside of a notebook. - """ + """ ws = await connect_websocket_url(nursery, url, max_message_size=MAX_WS_MESSAGE_SIZE) cdp_conn = CdpConnection(ws) nursery.start_soon(cdp_conn._reader_task) return cdp_conn
+
-
-
+
-
+
+ + + \ No newline at end of file diff --git a/docs/api/py/_modules/selenium/webdriver/common/bidi/console.html b/docs/api/py/_modules/selenium/webdriver/common/bidi/console.html index b280bf0495e15..72f07abfa6e47 100644 --- a/docs/api/py/_modules/selenium/webdriver/common/bidi/console.html +++ b/docs/api/py/_modules/selenium/webdriver/common/bidi/console.html @@ -1,54 +1,210 @@ - + - selenium.webdriver.common.bidi.console — Selenium 4.29.0.202501201850 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + selenium.webdriver.common.bidi.console — Selenium 4.30.0 documentation - + + + + + + + + + + + + + + + + + + + + + + + + Skip to content +
+ +
+ + +
- - - - - - - + +
+
+ +
+ +
+
+
+
+ + +
+
+
+ +
+
-

Source code for selenium.webdriver.common.bidi.console

+  

Source code for selenium.webdriver.common.bidi.console

 # Licensed to the Software Freedom Conservancy (SFC) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
 # regarding copyright ownership.  The SFC licenses this file
 # to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
+# "License"); you may not use this file except in compliance
 # with the License.  You may obtain a copy of the License at
 #
 #   http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing,
 # software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
@@ -56,48 +212,41 @@ 

Source code for selenium.webdriver.common.bidi.console

from enum import Enum -
[docs]class Console(Enum): - ALL = "all" - LOG = "log" - ERROR = "error"
+
+[docs] +class Console(Enum): + ALL = "all" + LOG = "log" + ERROR = "error"
+
-
-
+
-
+
+ + + \ No newline at end of file diff --git a/docs/api/py/_modules/selenium/webdriver/common/bidi/script.html b/docs/api/py/_modules/selenium/webdriver/common/bidi/script.html index 9a27708bad368..d72d5481377db 100644 --- a/docs/api/py/_modules/selenium/webdriver/common/bidi/script.html +++ b/docs/api/py/_modules/selenium/webdriver/common/bidi/script.html @@ -1,54 +1,210 @@ - + - selenium.webdriver.common.bidi.script — Selenium 4.29.0.202501201850 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + selenium.webdriver.common.bidi.script — Selenium 4.30.0 documentation - + + + + + + + + + + + + + + + + + + + + + + + + Skip to content +
+ +
+ + +
- - - - - - - + +
+
+ +
+ +
+
+
+
+ + +
+
+
+ +
+
-

Source code for selenium.webdriver.common.bidi.script

+  

Source code for selenium.webdriver.common.bidi.script

 # Licensed to the Software Freedom Conservancy (SFC) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
 # regarding copyright ownership.  The SFC licenses this file
 # to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
+# "License"); you may not use this file except in compliance
 # with the License.  You may obtain a copy of the License at
 #
 #   http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing,
 # software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
@@ -60,23 +216,34 @@ 

Source code for selenium.webdriver.common.bidi.script

from .session import session_unsubscribe -
[docs]class Script: +
+[docs] +class Script: def __init__(self, conn): self.conn = conn self.log_entry_subscribed = False -
[docs] def add_console_message_handler(self, handler): +
+[docs] + def add_console_message_handler(self, handler): self._subscribe_to_log_entries() - return self.conn.add_callback(LogEntryAdded, self._handle_log_entry("console", handler))
+ return self.conn.add_callback(LogEntryAdded, self._handle_log_entry("console", handler))
-
[docs] def add_javascript_error_handler(self, handler): + +
+[docs] + def add_javascript_error_handler(self, handler): self._subscribe_to_log_entries() - return self.conn.add_callback(LogEntryAdded, self._handle_log_entry("javascript", handler))
+ return self.conn.add_callback(LogEntryAdded, self._handle_log_entry("javascript", handler))
+ -
[docs] def remove_console_message_handler(self, id): +
+[docs] + def remove_console_message_handler(self, id): self.conn.remove_callback(LogEntryAdded, id) self._unsubscribe_from_log_entries()
+ remove_javascript_error_handler = remove_console_message_handler def _subscribe_to_log_entries(self): @@ -97,18 +264,27 @@

Source code for selenium.webdriver.common.bidi.script

return _handle_log_entry
-
[docs]class LogEntryAdded: - event_class = "log.entryAdded" -
[docs] @classmethod +
+[docs] +class LogEntryAdded: + event_class = "log.entryAdded" + +
+[docs] + @classmethod def from_json(cls, json): - if json["type"] == "console": + if json["type"] == "console": return ConsoleLogEntry.from_json(json) - elif json["type"] == "javascript": - return JavaScriptLogEntry.from_json(json)
+ elif json["type"] == "javascript": + return JavaScriptLogEntry.from_json(json)
+
+ -
[docs]@dataclass +
+[docs] +@dataclass class ConsoleLogEntry: level: str text: str @@ -117,19 +293,25 @@

Source code for selenium.webdriver.common.bidi.script

args: List[dict] type_: str -
[docs] @classmethod +
+[docs] + @classmethod def from_json(cls, json): return cls( - level=json["level"], - text=json["text"], - timestamp=json["timestamp"], - method=json["method"], - args=json["args"], - type_=json["type"], - )
+ level=json["level"], + text=json["text"], + timestamp=json["timestamp"], + method=json["method"], + args=json["args"], + type_=json["type"], + )
+
+ -
[docs]@dataclass +
+[docs] +@dataclass class JavaScriptLogEntry: level: str text: str @@ -137,53 +319,47 @@

Source code for selenium.webdriver.common.bidi.script

stacktrace: dict type_: str -
[docs] @classmethod +
+[docs] + @classmethod def from_json(cls, json): return cls( - level=json["level"], - text=json["text"], - timestamp=json["timestamp"], - stacktrace=json["stackTrace"], - type_=json["type"], - )
+ level=json["level"], + text=json["text"], + timestamp=json["timestamp"], + stacktrace=json["stackTrace"], + type_=json["type"], + )
+
+
-
-
+
-
+
+ + + \ No newline at end of file diff --git a/docs/api/py/_modules/selenium/webdriver/common/bidi/session.html b/docs/api/py/_modules/selenium/webdriver/common/bidi/session.html index cd7f5d7fe1cbd..a11506ca2ea6c 100644 --- a/docs/api/py/_modules/selenium/webdriver/common/bidi/session.html +++ b/docs/api/py/_modules/selenium/webdriver/common/bidi/session.html @@ -1,125 +1,277 @@ - + - selenium.webdriver.common.bidi.session — Selenium 4.29.0.202501201850 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + selenium.webdriver.common.bidi.session — Selenium 4.30.0 documentation - + + + + + + + + + + + + + + + + + + + + + + + + Skip to content +
+ +
+ + +
- - - - - - - + +
+
+ +
+
+ +
+
+
+
+
+ + +
+
+
+ +
+
-

Source code for selenium.webdriver.common.bidi.session

+  

Source code for selenium.webdriver.common.bidi.session

 # Licensed to the Software Freedom Conservancy (SFC) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
 # regarding copyright ownership.  The SFC licenses this file
 # to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
+# "License"); you may not use this file except in compliance
 # with the License.  You may obtain a copy of the License at
 #
 #   http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing,
 # software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
 
 
-
[docs]def session_subscribe(*events, browsing_contexts=None): +
+[docs] +def session_subscribe(*events, browsing_contexts=None): cmd_dict = { - "method": "session.subscribe", - "params": { - "events": events, + "method": "session.subscribe", + "params": { + "events": events, }, } if browsing_contexts is None: browsing_contexts = [] if browsing_contexts: - cmd_dict["params"]["browsingContexts"] = browsing_contexts + cmd_dict["params"]["browsingContexts"] = browsing_contexts _ = yield cmd_dict return None
-
[docs]def session_unsubscribe(*events, browsing_contexts=None): + +
+[docs] +def session_unsubscribe(*events, browsing_contexts=None): cmd_dict = { - "method": "session.unsubscribe", - "params": { - "events": events, + "method": "session.unsubscribe", + "params": { + "events": events, }, } if browsing_contexts is None: browsing_contexts = [] if browsing_contexts: - cmd_dict["params"]["browsingContexts"] = browsing_contexts + cmd_dict["params"]["browsingContexts"] = browsing_contexts _ = yield cmd_dict return None
+
-
-
+
-
+
+ + + \ No newline at end of file diff --git a/docs/api/py/_modules/selenium/webdriver/common/by.html b/docs/api/py/_modules/selenium/webdriver/common/by.html index eef0a763ae1c8..738f87e84938d 100644 --- a/docs/api/py/_modules/selenium/webdriver/common/by.html +++ b/docs/api/py/_modules/selenium/webdriver/common/by.html @@ -1,72 +1,230 @@ - + - selenium.webdriver.common.by — Selenium 4.29.0.202501201850 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + selenium.webdriver.common.by — Selenium 4.30.0 documentation - + + + + + + + + + + + + + + + + + + + + + + + + Skip to content +
+ +
+ + +
- - - - - - - + +
+
+ +
+ +
+
+
+
+ + +
+
+
+ +
+
-

Source code for selenium.webdriver.common.by

+  

Source code for selenium.webdriver.common.by

 # Licensed to the Software Freedom Conservancy (SFC) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
 # regarding copyright ownership.  The SFC licenses this file
 # to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
+# "License"); you may not use this file except in compliance
 # with the License.  You may obtain a copy of the License at
 #
 #   http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing,
 # software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-"""The By implementation."""
+"""The By implementation."""
 
 from typing import Dict
 from typing import Literal
 from typing import Optional
 
 
-
[docs]class By: - """Set of supported locator strategies. +
+[docs] +class By: + """Set of supported locator strategies. ID: -- Select the element by its ID. - >>> element = driver.find_element(By.ID, 'myElement') + >>> element = driver.find_element(By.ID, 'myElement') XPATH: ------ @@ -74,108 +232,108 @@

Source code for selenium.webdriver.common.by

        - absolute path
         - relative path
 
-    >>> element = driver.find_element(By.XPATH, '//html/body/div')
+    >>> element = driver.find_element(By.XPATH, '//html/body/div')
 
     LINK_TEXT:
     ----------
     Select the link element having the exact text.
 
-    >>> element = driver.find_element(By.LINK_TEXT, 'myLink')
+    >>> element = driver.find_element(By.LINK_TEXT, 'myLink')
 
     PARTIAL_LINK_TEXT:
     ------------------
     Select the link element having the partial text.
 
-    >>> element = driver.find_element(By.PARTIAL_LINK_TEXT, 'my')
+    >>> element = driver.find_element(By.PARTIAL_LINK_TEXT, 'my')
 
     NAME:
     ----
     Select the element by its name attribute.
 
-    >>> element = driver.find_element(By.NAME, 'myElement')
+    >>> element = driver.find_element(By.NAME, 'myElement')
 
     TAG_NAME:
     --------
     Select the element by its tag name.
 
-    >>> element = driver.find_element(By.TAG_NAME, 'div')
+    >>> element = driver.find_element(By.TAG_NAME, 'div')
 
     CLASS_NAME:
-    ----------
+    -----------
     Select the element by its class name.
 
-    >>> element = driver.find_element(By.CLASS_NAME, 'myElement')
+    >>> element = driver.find_element(By.CLASS_NAME, 'myElement')
 
     CSS_SELECTOR:
     -------------
     Select the element by its CSS selector.
 
-    >>> element = driver.find_element(By.CSS_SELECTOR, 'div.myElement')
-    """
+    >>> element = driver.find_element(By.CSS_SELECTOR, 'div.myElement')
+    """
 
-    ID = "id"
-    XPATH = "xpath"
-    LINK_TEXT = "link text"
-    PARTIAL_LINK_TEXT = "partial link text"
-    NAME = "name"
-    TAG_NAME = "tag name"
-    CLASS_NAME = "class name"
-    CSS_SELECTOR = "css selector"
+    ID = "id"
+    XPATH = "xpath"
+    LINK_TEXT = "link text"
+    PARTIAL_LINK_TEXT = "partial link text"
+    NAME = "name"
+    TAG_NAME = "tag name"
+    CLASS_NAME = "class name"
+    CSS_SELECTOR = "css selector"
 
     _custom_finders: Dict[str, str] = {}
 
-
[docs] @classmethod +
+[docs] + @classmethod def register_custom_finder(cls, name: str, strategy: str) -> None: cls._custom_finders[name] = strategy
-
[docs] @classmethod + +
+[docs] + @classmethod def get_finder(cls, name: str) -> Optional[str]: return cls._custom_finders.get(name) or getattr(cls, name.upper(), None)
-
[docs] @classmethod + +
+[docs] + @classmethod def clear_custom_finders(cls) -> None: - cls._custom_finders.clear()
+ cls._custom_finders.clear()
+
+ -ByType = Literal["id", "xpath", "link text", "partial link text", "name", "tag name", "class name", "css selector"] +ByType = Literal["id", "xpath", "link text", "partial link text", "name", "tag name", "class name", "css selector"]
-
-
+
-
+
+ + + \ No newline at end of file diff --git a/docs/api/py/_modules/selenium/webdriver/common/desired_capabilities.html b/docs/api/py/_modules/selenium/webdriver/common/desired_capabilities.html index 0c03788615113..60d20cdae6992 100644 --- a/docs/api/py/_modules/selenium/webdriver/common/desired_capabilities.html +++ b/docs/api/py/_modules/selenium/webdriver/common/desired_capabilities.html @@ -1,62 +1,220 @@ - + - selenium.webdriver.common.desired_capabilities — Selenium 4.29.0.202501201850 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + selenium.webdriver.common.desired_capabilities — Selenium 4.30.0 documentation - + + + + + + + + + + + + + + + + + + + + + + + + Skip to content +
+ +
+ + +
- - - - - - - + +
+
+ +
+ +
+
+
+
+ + +
+
+
+ +
+
-

Source code for selenium.webdriver.common.desired_capabilities

+  

Source code for selenium.webdriver.common.desired_capabilities

 # Licensed to the Software Freedom Conservancy (SFC) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
 # regarding copyright ownership.  The SFC licenses this file
 # to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
+# "License"); you may not use this file except in compliance
 # with the License.  You may obtain a copy of the License at
 #
 #   http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing,
 # software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-"""The Desired Capabilities implementation."""
+"""The Desired Capabilities implementation."""
 
 
-
[docs]class DesiredCapabilities: - """Set of default supported desired capabilities. +
+[docs] +class DesiredCapabilities: + """Set of default supported desired capabilities. Use this as a starting point for creating a desired capabilities object for requesting remote webdrivers for connecting to selenium server or selenium grid. @@ -65,115 +223,106 @@

Source code for selenium.webdriver.common.desired_capabilities

from selenium import webdriver - selenium_grid_url = "http://198.0.0.1:4444/wd/hub" + selenium_grid_url = "http://198.0.0.1:4444/wd/hub" # Create a desired capabilities object as a starting point. capabilities = DesiredCapabilities.FIREFOX.copy() - capabilities['platform'] = "WINDOWS" - capabilities['version'] = "10" + capabilities['platform'] = "WINDOWS" + capabilities['version'] = "10" # Instantiate an instance of Remote WebDriver with the desired capabilities. driver = webdriver.Remote(desired_capabilities=capabilities, command_executor=selenium_grid_url) - Note: Always use '.copy()' on the DesiredCapabilities object to avoid the side + Note: Always use '.copy()' on the DesiredCapabilities object to avoid the side effects of altering the Global class instance. - """ + """ FIREFOX = { - "browserName": "firefox", - "acceptInsecureCerts": True, - "moz:debuggerAddress": True, + "browserName": "firefox", + "acceptInsecureCerts": True, + "moz:debuggerAddress": True, } INTERNETEXPLORER = { - "browserName": "internet explorer", - "platformName": "windows", + "browserName": "internet explorer", + "platformName": "windows", } EDGE = { - "browserName": "MicrosoftEdge", + "browserName": "MicrosoftEdge", } CHROME = { - "browserName": "chrome", + "browserName": "chrome", } SAFARI = { - "browserName": "safari", - "platformName": "mac", + "browserName": "safari", + "platformName": "mac", } HTMLUNIT = { - "browserName": "htmlunit", - "version": "", - "platform": "ANY", + "browserName": "htmlunit", + "version": "", + "platform": "ANY", } HTMLUNITWITHJS = { - "browserName": "htmlunit", - "version": "firefox", - "platform": "ANY", - "javascriptEnabled": True, + "browserName": "htmlunit", + "version": "firefox", + "platform": "ANY", + "javascriptEnabled": True, } IPHONE = { - "browserName": "iPhone", - "version": "", - "platform": "mac", + "browserName": "iPhone", + "version": "", + "platform": "mac", } IPAD = { - "browserName": "iPad", - "version": "", - "platform": "mac", + "browserName": "iPad", + "version": "", + "platform": "mac", } WEBKITGTK = { - "browserName": "MiniBrowser", + "browserName": "MiniBrowser", } WPEWEBKIT = { - "browserName": "MiniBrowser", + "browserName": "MiniBrowser", }
+
-
-
+
-
+
+ + + \ No newline at end of file diff --git a/docs/api/py/_modules/selenium/webdriver/common/driver_finder.html b/docs/api/py/_modules/selenium/webdriver/common/driver_finder.html index 4f58d1e432c93..339d5004d09e8 100644 --- a/docs/api/py/_modules/selenium/webdriver/common/driver_finder.html +++ b/docs/api/py/_modules/selenium/webdriver/common/driver_finder.html @@ -1,54 +1,210 @@ - + - selenium.webdriver.common.driver_finder — Selenium 4.29.0.202501201850 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + selenium.webdriver.common.driver_finder — Selenium 4.30.0 documentation - + + + + + + + + + + + + + + + + + + + + + + + + Skip to content +
+ +
+ + +
- - - - - - - + +
+
+ +
+ +
+
+
+
+ + +
+
+
+ +
+
-

Source code for selenium.webdriver.common.driver_finder

+  

Source code for selenium.webdriver.common.driver_finder

 # Licensed to the Software Freedom Conservancy (SFC) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
 # regarding copyright ownership.  The SFC licenses this file
 # to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
+# "License"); you may not use this file except in compliance
 # with the License.  You may obtain a copy of the License at
 #
 #   http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing,
 # software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
@@ -63,116 +219,115 @@ 

Source code for selenium.webdriver.common.driver_finder

logger = logging.getLogger(__name__) -
[docs]class DriverFinder: - """A Driver finding class responsible for obtaining the correct driver and +
+[docs] +class DriverFinder: + """A Driver finding class responsible for obtaining the correct driver and associated browser. :param service: instance of the driver service class. :param options: instance of the browser options class. - """ + """ def __init__(self, service: Service, options: BaseOptions) -> None: self._service = service self._options = options - self._paths = {"driver_path": "", "browser_path": ""} + self._paths = {"driver_path": "", "browser_path": ""} - """Utility to find if a given file is present and executable. + """Utility to find if a given file is present and executable. This implementation is still in beta, and may change. - """ + """ + +
+[docs] + def get_browser_path(self) -> str: + return self._binary_paths()["browser_path"]
-
[docs] def get_browser_path(self) -> str: - return self._binary_paths()["browser_path"]
-
[docs] def get_driver_path(self) -> str: - return self._binary_paths()["driver_path"]
+
+[docs] + def get_driver_path(self) -> str: + return self._binary_paths()["driver_path"]
+ def _binary_paths(self) -> dict: - if self._paths["driver_path"]: + if self._paths["driver_path"]: return self._paths - browser = self._options.capabilities["browserName"] + browser = self._options.capabilities["browserName"] try: path = self._service.path if path: logger.debug( - "Skipping Selenium Manager; path to %s driver specified in Service class: %s", browser, path + "Skipping Selenium Manager; path to %s driver specified in Service class: %s", browser, path ) if not Path(path).is_file(): - raise ValueError(f"The path is not a valid file: {path}") - self._paths["driver_path"] = path + raise ValueError(f"The path is not a valid file: {path}") + self._paths["driver_path"] = path else: output = SeleniumManager().binary_paths(self._to_args()) - if Path(output["driver_path"]).is_file(): - self._paths["driver_path"] = output["driver_path"] + if Path(output["driver_path"]).is_file(): + self._paths["driver_path"] = output["driver_path"] else: - raise ValueError(f'The driver path is not a valid file: {output["driver_path"]}') - if Path(output["browser_path"]).is_file(): - self._paths["browser_path"] = output["browser_path"] + raise ValueError(f'The driver path is not a valid file: {output["driver_path"]}') + if Path(output["browser_path"]).is_file(): + self._paths["browser_path"] = output["browser_path"] else: - raise ValueError(f'The browser path is not a valid file: {output["browser_path"]}') + raise ValueError(f'The browser path is not a valid file: {output["browser_path"]}') except Exception as err: - msg = f"Unable to obtain driver for {browser}" + msg = f"Unable to obtain driver for {browser}" raise NoSuchDriverException(msg) from err return self._paths def _to_args(self) -> list: - args = ["--browser", self._options.capabilities["browserName"]] + args = ["--browser", self._options.capabilities["browserName"]] if self._options.browser_version: - args.append("--browser-version") + args.append("--browser-version") args.append(str(self._options.browser_version)) - binary_location = getattr(self._options, "binary_location", None) + binary_location = getattr(self._options, "binary_location", None) if binary_location: - args.append("--browser-path") + args.append("--browser-path") args.append(str(binary_location)) proxy = self._options.proxy if proxy and (proxy.http_proxy or proxy.ssl_proxy): - args.append("--proxy") + args.append("--proxy") value = proxy.ssl_proxy if proxy.ssl_proxy else proxy.http_proxy args.append(value) return args
+
-
-
+
-
+
+ + + \ No newline at end of file diff --git a/docs/api/py/_modules/selenium/webdriver/common/keys.html b/docs/api/py/_modules/selenium/webdriver/common/keys.html index 6101539954e7a..0834a0d8d8a88 100644 --- a/docs/api/py/_modules/selenium/webdriver/common/keys.html +++ b/docs/api/py/_modules/selenium/webdriver/common/keys.html @@ -1,169 +1,318 @@ - + - selenium.webdriver.common.keys — Selenium 4.29.0.202501201850 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + selenium.webdriver.common.keys — Selenium 4.30.0 documentation - + + + + + + + + + + + + + + + + + + + + + + + + Skip to content +
+ +
+ + +
- - - - - - - + +
+
+ +
+ +
+
+
+
+ + +
+
+
+ +
+
-

Source code for selenium.webdriver.common.keys

+  

Source code for selenium.webdriver.common.keys

 # Licensed to the Software Freedom Conservancy (SFC) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
 # regarding copyright ownership.  The SFC licenses this file
 # to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
+# "License"); you may not use this file except in compliance
 # with the License.  You may obtain a copy of the License at
 #
 #   http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing,
 # software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-"""The Keys implementation."""
+"""The Keys implementation."""
 
 
-
[docs]class Keys: - """Set of special keys codes.""" +
+[docs] +class Keys: + """Set of special keys codes.""" - NULL = "\ue000" - CANCEL = "\ue001" # ^break - HELP = "\ue002" - BACKSPACE = "\ue003" + NULL = "\ue000" + CANCEL = "\ue001" # ^break + HELP = "\ue002" + BACKSPACE = "\ue003" BACK_SPACE = BACKSPACE - TAB = "\ue004" - CLEAR = "\ue005" - RETURN = "\ue006" - ENTER = "\ue007" - SHIFT = "\ue008" + TAB = "\ue004" + CLEAR = "\ue005" + RETURN = "\ue006" + ENTER = "\ue007" + SHIFT = "\ue008" LEFT_SHIFT = SHIFT - CONTROL = "\ue009" + CONTROL = "\ue009" LEFT_CONTROL = CONTROL - ALT = "\ue00a" + ALT = "\ue00a" LEFT_ALT = ALT - PAUSE = "\ue00b" - ESCAPE = "\ue00c" - SPACE = "\ue00d" - PAGE_UP = "\ue00e" - PAGE_DOWN = "\ue00f" - END = "\ue010" - HOME = "\ue011" - LEFT = "\ue012" + PAUSE = "\ue00b" + ESCAPE = "\ue00c" + SPACE = "\ue00d" + PAGE_UP = "\ue00e" + PAGE_DOWN = "\ue00f" + END = "\ue010" + HOME = "\ue011" + LEFT = "\ue012" ARROW_LEFT = LEFT - UP = "\ue013" + UP = "\ue013" ARROW_UP = UP - RIGHT = "\ue014" + RIGHT = "\ue014" ARROW_RIGHT = RIGHT - DOWN = "\ue015" + DOWN = "\ue015" ARROW_DOWN = DOWN - INSERT = "\ue016" - DELETE = "\ue017" - SEMICOLON = "\ue018" - EQUALS = "\ue019" - - NUMPAD0 = "\ue01a" # number pad keys - NUMPAD1 = "\ue01b" - NUMPAD2 = "\ue01c" - NUMPAD3 = "\ue01d" - NUMPAD4 = "\ue01e" - NUMPAD5 = "\ue01f" - NUMPAD6 = "\ue020" - NUMPAD7 = "\ue021" - NUMPAD8 = "\ue022" - NUMPAD9 = "\ue023" - MULTIPLY = "\ue024" - ADD = "\ue025" - SEPARATOR = "\ue026" - SUBTRACT = "\ue027" - DECIMAL = "\ue028" - DIVIDE = "\ue029" - - F1 = "\ue031" # function keys - F2 = "\ue032" - F3 = "\ue033" - F4 = "\ue034" - F5 = "\ue035" - F6 = "\ue036" - F7 = "\ue037" - F8 = "\ue038" - F9 = "\ue039" - F10 = "\ue03a" - F11 = "\ue03b" - F12 = "\ue03c" - - META = "\ue03d" - COMMAND = "\ue03d" - ZENKAKU_HANKAKU = "\ue040"
+ INSERT = "\ue016" + DELETE = "\ue017" + SEMICOLON = "\ue018" + EQUALS = "\ue019" + + NUMPAD0 = "\ue01a" # number pad keys + NUMPAD1 = "\ue01b" + NUMPAD2 = "\ue01c" + NUMPAD3 = "\ue01d" + NUMPAD4 = "\ue01e" + NUMPAD5 = "\ue01f" + NUMPAD6 = "\ue020" + NUMPAD7 = "\ue021" + NUMPAD8 = "\ue022" + NUMPAD9 = "\ue023" + MULTIPLY = "\ue024" + ADD = "\ue025" + SEPARATOR = "\ue026" + SUBTRACT = "\ue027" + DECIMAL = "\ue028" + DIVIDE = "\ue029" + + F1 = "\ue031" # function keys + F2 = "\ue032" + F3 = "\ue033" + F4 = "\ue034" + F5 = "\ue035" + F6 = "\ue036" + F7 = "\ue037" + F8 = "\ue038" + F9 = "\ue039" + F10 = "\ue03a" + F11 = "\ue03b" + F12 = "\ue03c" + + META = "\ue03d" + COMMAND = "\ue03d" + ZENKAKU_HANKAKU = "\ue040"
+
-
-
+
-
+
+ + + \ No newline at end of file diff --git a/docs/api/py/_modules/selenium/webdriver/common/log.html b/docs/api/py/_modules/selenium/webdriver/common/log.html index 3f8b1635d5618..952e9ce8cfc1c 100644 --- a/docs/api/py/_modules/selenium/webdriver/common/log.html +++ b/docs/api/py/_modules/selenium/webdriver/common/log.html @@ -1,54 +1,210 @@ - + - selenium.webdriver.common.log — Selenium 4.29.0.202501201850 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + selenium.webdriver.common.log — Selenium 4.30.0 documentation - + + + + + + + + + + + + + + + + + + + + + + + + Skip to content +
+ +
+ + +
- - - - - - - + +
+
+ +
+ +
+
+
+
+ + +
+
+
+ +
+
-

Source code for selenium.webdriver.common.log

+  

Source code for selenium.webdriver.common.log

 # Licensed to the Software Freedom Conservancy (SFC) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
 # regarding copyright ownership.  The SFC licenses this file
 # to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
+# "License"); you may not use this file except in compliance
 # with the License.  You may obtain a copy of the License at
 #
 #   http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing,
 # software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
@@ -67,92 +223,102 @@ 

Source code for selenium.webdriver.common.log

cdp = None -
[docs]def import_cdp(): +
+[docs] +def import_cdp(): global cdp if not cdp: - cdp = import_module("selenium.webdriver.common.bidi.cdp")
+ cdp = import_module("selenium.webdriver.common.bidi.cdp")
-
[docs]class Log: - """This class allows access to logging APIs that use the new WebDriver Bidi + +
+[docs] +class Log: + """This class allows access to logging APIs that use the new WebDriver Bidi protocol. This class is not to be used directly and should be used from the webdriver base classes. - """ + """ def __init__(self, driver, bidi_session) -> None: self.driver = driver self.session = bidi_session.session self.cdp = bidi_session.cdp self.devtools = bidi_session.devtools - _pkg = ".".join(__name__.split(".")[:-1]) + _pkg = ".".join(__name__.split(".")[:-1]) # Ensure _mutation_listener_js is not None before decoding - _mutation_listener_js_bytes: Optional[bytes] = pkgutil.get_data(_pkg, "mutation-listener.js") + _mutation_listener_js_bytes: Optional[bytes] = pkgutil.get_data(_pkg, "mutation-listener.js") if _mutation_listener_js_bytes is None: - raise ValueError("Failed to load mutation-listener.js") - self._mutation_listener_js = _mutation_listener_js_bytes.decode("utf8").strip() + raise ValueError("Failed to load mutation-listener.js") + self._mutation_listener_js = _mutation_listener_js_bytes.decode("utf8").strip() -
[docs] @asynccontextmanager +
+[docs] + @asynccontextmanager async def mutation_events(self) -> AsyncGenerator[Dict[str, Any], None]: - """Listen for mutation events and emit them as they are found. + """Listen for mutation events and emit them as they are found. :Usage: :: async with driver.log.mutation_events() as event: - pages.load("dynamic.html") - driver.find_element(By.ID, "reveal").click() + pages.load("dynamic.html") + driver.find_element(By.ID, "reveal").click() WebDriverWait(driver, 5)\ - .until(EC.visibility_of(driver.find_element(By.ID, "revealed"))) + .until(EC.visibility_of(driver.find_element(By.ID, "revealed"))) - assert event["attribute_name"] == "style" - assert event["current_value"] == "" - assert event["old_value"] == "display:none;" - """ + assert event["attribute_name"] == "style" + assert event["current_value"] == "" + assert event["old_value"] == "display:none;" + """ - page = self.cdp.get_session_context("page.enable") + page = self.cdp.get_session_context("page.enable") await page.execute(self.devtools.page.enable()) - runtime = self.cdp.get_session_context("runtime.enable") + runtime = self.cdp.get_session_context("runtime.enable") await runtime.execute(self.devtools.runtime.enable()) - await runtime.execute(self.devtools.runtime.add_binding("__webdriver_attribute")) + await runtime.execute(self.devtools.runtime.add_binding("__webdriver_attribute")) self.driver.pin_script(self._mutation_listener_js) script_key = await page.execute( self.devtools.page.add_script_to_evaluate_on_new_document(self._mutation_listener_js) ) self.driver.pin_script(self._mutation_listener_js, script_key) - self.driver.execute_script(f"return {self._mutation_listener_js}") + self.driver.execute_script(f"return {self._mutation_listener_js}") event: Dict[str, Any] = {} async with runtime.wait_for(self.devtools.runtime.BindingCalled) as evnt: yield event payload = json.loads(evnt.value.payload) - elements: list = self.driver.find_elements(By.CSS_SELECTOR, f"*[data-__webdriver_id={payload['target']}]") + elements: list = self.driver.find_elements(By.CSS_SELECTOR, f"*[data-__webdriver_id=\"{payload['target']}\"]") if not elements: elements.append(None) - event["element"] = elements[0] - event["attribute_name"] = payload["name"] - event["current_value"] = payload["value"] - event["old_value"] = payload["oldValue"]
+ event["element"] = elements[0] + event["attribute_name"] = payload["name"] + event["current_value"] = payload["value"] + event["old_value"] = payload["oldValue"]
+ -
[docs] @asynccontextmanager +
+[docs] + @asynccontextmanager async def add_js_error_listener(self) -> AsyncGenerator[Dict[str, Any], None]: - """Listen for JS errors and when the contextmanager exits check if + """Listen for JS errors and when the contextmanager exits check if there were JS Errors. :Usage: :: async with driver.log.add_js_error_listener() as error: - driver.find_element(By.ID, "throwing-mouseover").click() + driver.find_element(By.ID, "throwing-mouseover").click() assert bool(error) - assert error.exception_details.stack_trace.call_frames[0].function_name == "onmouseover" - """ + assert error.exception_details.stack_trace.call_frames[0].function_name == "onmouseover" + """ - session = self.cdp.get_session_context("page.enable") + session = self.cdp.get_session_context("page.enable") await session.execute(self.devtools.page.enable()) - session = self.cdp.get_session_context("runtime.enable") + session = self.cdp.get_session_context("runtime.enable") await session.execute(self.devtools.runtime.enable()) js_exception = self.devtools.runtime.ExceptionThrown(None, None) async with session.wait_for(self.devtools.runtime.ExceptionThrown) as exception: @@ -160,9 +326,12 @@

Source code for selenium.webdriver.common.log

js_exception.timestamp = exception.value.timestamp js_exception.exception_details = exception.value.exception_details
-
[docs] @asynccontextmanager + +
+[docs] + @asynccontextmanager async def add_listener(self, event_type) -> AsyncGenerator[Dict[str, Any], None]: - """Listen for certain events that are passed in. + """Listen for certain events that are passed in. :Args: - event_type: The type of event that we want to look at. @@ -171,61 +340,53 @@

Source code for selenium.webdriver.common.log

:: async with driver.log.add_listener(Console.log) as messages: - driver.execute_script("console.log('I like cheese')") - assert messages["message"] == "I love cheese" - """ + driver.execute_script("console.log('I like cheese')") + assert messages["message"] == "I love cheese" + """ from selenium.webdriver.common.bidi.console import Console - session = self.cdp.get_session_context("page.enable") + session = self.cdp.get_session_context("page.enable") await session.execute(self.devtools.page.enable()) - session = self.cdp.get_session_context("runtime.enable") + session = self.cdp.get_session_context("runtime.enable") await session.execute(self.devtools.runtime.enable()) - console: Dict[str, Any] = {"message": None, "level": None} + console: Dict[str, Any] = {"message": None, "level": None} async with session.wait_for(self.devtools.runtime.ConsoleAPICalled) as messages: yield console if event_type == Console.ALL or event_type.value == messages.value.type_: - console["message"] = messages.value.args[0].value - console["level"] = messages.value.args[0].type_
+ console["message"] = messages.value.args[0].value + console["level"] = messages.value.args[0].type_
+
+
-
-
+
-
+
+ + + \ No newline at end of file diff --git a/docs/api/py/_modules/selenium/webdriver/common/options.html b/docs/api/py/_modules/selenium/webdriver/common/options.html index 854d4340cb5d5..403554fbf43b5 100644 --- a/docs/api/py/_modules/selenium/webdriver/common/options.html +++ b/docs/api/py/_modules/selenium/webdriver/common/options.html @@ -1,54 +1,210 @@ - + - selenium.webdriver.common.options — Selenium 4.29.0.202501201850 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + selenium.webdriver.common.options — Selenium 4.30.0 documentation - + + + + + + + + + + + + + + + + + + + + + + + + Skip to content +
+ +
+ + +
- - - - - - - + +
+
+ +
+ +
+
+
+
+ + +
+
+
+ +
+
-

Source code for selenium.webdriver.common.options

+  

Source code for selenium.webdriver.common.options

 # Licensed to the Software Freedom Conservancy (SFC) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
 # regarding copyright ownership.  The SFC licenses this file
 # to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
+# "License"); you may not use this file except in compliance
 # with the License.  You may obtain a copy of the License at
 #
 #   http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing,
 # software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
@@ -63,8 +219,10 @@ 

Source code for selenium.webdriver.common.options

from selenium.webdriver.common.proxy import Proxy -
[docs]class PageLoadStrategy(str, Enum): - """Enum of possible page load strategies. +
+[docs] +class PageLoadStrategy(str, Enum): + """Enum of possible page load strategies. Selenium support following strategies: * normal (default) - waits for all resources to download @@ -72,11 +230,12 @@

Source code for selenium.webdriver.common.options

* none - does not block `WebDriver` at all Docs: https://www.selenium.dev/documentation/webdriver/drivers/options/#pageloadstrategy. - """ + """ + + normal = "normal" + eager = "eager" + none = "none"
- normal = "normal" - eager = "eager" - none = "none"
class _BaseOptionsDescriptor: @@ -84,31 +243,31 @@

Source code for selenium.webdriver.common.options

self.name = name def __get__(self, obj, cls): - if self.name == "enableBidi": + if self.name == "enableBidi": # whether BiDi is or will be enabled - value = obj._caps.get("webSocketUrl") + value = obj._caps.get("webSocketUrl") return value is True or isinstance(value, str) - if self.name == "webSocketUrl": + if self.name == "webSocketUrl": # Return socket url or None if not created yet value = obj._caps.get(self.name) return None if not isinstance(value, str) else value - if self.name in ("acceptInsecureCerts", "strictFileInteractability", "setWindowRect", "se:downloadsEnabled"): + if self.name in ("acceptInsecureCerts", "strictFileInteractability", "setWindowRect", "se:downloadsEnabled"): return obj._caps.get(self.name, False) return obj._caps.get(self.name) def __set__(self, obj, value): - if self.name == "enableBidi": - obj.set_capability("webSocketUrl", value) + if self.name == "enableBidi": + obj.set_capability("webSocketUrl", value) else: obj.set_capability(self.name, value) class _PageLoadStrategyDescriptor: - """Determines the point at which a navigation command is returned: + """Determines the point at which a navigation command is returned: https://w3c.github.io/webdriver/#dfn-table-of-page-load-strategies. :param strategy: the strategy corresponding to a document readiness state - """ + """ def __init__(self, name): self.name = name @@ -117,21 +276,21 @@

Source code for selenium.webdriver.common.options

return obj._caps.get(self.name) def __set__(self, obj, value): - if value in ("normal", "eager", "none"): + if value in ("normal", "eager", "none"): obj.set_capability(self.name, value) else: - raise ValueError("Strategy can only be one of the following: normal, eager, none") + raise ValueError("Strategy can only be one of the following: normal, eager, none") class _UnHandledPromptBehaviorDescriptor: - """How the driver should respond when an alert is present and the: + """How the driver should respond when an alert is present and the: command sent is not handling the alert: https://w3c.github.io/webdriver/#dfn-table-of-page-load-strategies: :param behavior: behavior to use when an alert is encountered :returns: Values for implicit timeout, pageLoad timeout and script timeout if set (in milliseconds) - """ + """ def __init__(self, name): self.name = name @@ -140,23 +299,23 @@

Source code for selenium.webdriver.common.options

return obj._caps.get(self.name) def __set__(self, obj, value): - if value in ("dismiss", "accept", "dismiss and notify", "accept and notify", "ignore"): + if value in ("dismiss", "accept", "dismiss and notify", "accept and notify", "ignore"): obj.set_capability(self.name, value) else: raise ValueError( - "Behavior can only be one of the following: dismiss, accept, dismiss and notify, " - "accept and notify, ignore" + "Behavior can only be one of the following: dismiss, accept, dismiss and notify, " + "accept and notify, ignore" ) class _TimeoutsDescriptor: - """How long the driver should wait for actions to complete before: + """How long the driver should wait for actions to complete before: returning an error https://w3c.github.io/webdriver/#timeouts: :param timeouts: values in milliseconds for implicit wait, page load and script timeout :returns: Values for implicit timeout, pageLoad timeout and script timeout if set (in milliseconds) - """ + """ def __init__(self, name): self.name = name @@ -165,14 +324,14 @@

Source code for selenium.webdriver.common.options

return obj._caps.get(self.name) def __set__(self, obj, value): - if all(x in ("implicit", "pageLoad", "script") for x in value.keys()): + if all(x in ("implicit", "pageLoad", "script") for x in value.keys()): obj.set_capability(self.name, value) else: - raise ValueError("Timeout keys can only be one of the following: implicit, pageLoad, script") + raise ValueError("Timeout keys can only be one of the following: implicit, pageLoad, script") class _ProxyDescriptor: - """:Returns: Proxy if set, otherwise None.""" + """:Returns: Proxy if set, otherwise None.""" def __init__(self, name): self.name = name @@ -182,307 +341,287 @@

Source code for selenium.webdriver.common.options

def __set__(self, obj, value): if not isinstance(value, Proxy): - raise InvalidArgumentException("Only Proxy objects can be passed in.") + raise InvalidArgumentException("Only Proxy objects can be passed in.") obj._proxy = value obj._caps[self.name] = value.to_capabilities() -
[docs]class BaseOptions(metaclass=ABCMeta): - """Base class for individual browser options.""" +
+[docs] +class BaseOptions(metaclass=ABCMeta): + """Base class for individual browser options.""" - browser_version = _BaseOptionsDescriptor("browserVersion") - """Gets and Sets the version of the browser. + browser_version = _BaseOptionsDescriptor("browserVersion") + """Gets and Sets the version of the browser. - Usage - ----- + Usage: + ------ - Get - `self.browser_version` - Set - `self.browser_version` = `value` - Parameters - ---------- + Parameters: + ----------- `value`: `str` - Returns - ------- + Returns: + -------- - Get - `str` - Set - `None` - """ + """ - platform_name = _BaseOptionsDescriptor("platformName") - """Gets and Sets name of the platform. + platform_name = _BaseOptionsDescriptor("platformName") + """Gets and Sets name of the platform. - Usage - ----- + Usage: + ------ - Get - `self.platform_name` - Set - `self.platform_name` = `value` - Parameters - ---------- + Parameters: + ----------- `value`: `str` - Returns - ------- + Returns: + -------- - Get - `str` - Set - `None` - """ + """ - accept_insecure_certs = _BaseOptionsDescriptor("acceptInsecureCerts") - """Gets and Set whether the session accepts insecure certificates. + accept_insecure_certs = _BaseOptionsDescriptor("acceptInsecureCerts") + """Gets and Set whether the session accepts insecure certificates. - Usage - ----- + Usage: + ------ - Get - `self.accept_insecure_certs` - Set - `self.accept_insecure_certs` = `value` - Parameters - ---------- + Parameters: + ----------- `value`: `bool` - Returns - ------- + Returns: + -------- - Get - `bool` - Set - `None` - """ + """ - strict_file_interactability = _BaseOptionsDescriptor("strictFileInteractability") - """Gets and Sets whether session is about file interactability. + strict_file_interactability = _BaseOptionsDescriptor("strictFileInteractability") + """Gets and Sets whether session is about file interactability. - Usage - ----- + Usage: + ------ - Get - `self.strict_file_interactability` - Set - `self.strict_file_interactability` = `value` - Parameters - ---------- + Parameters: + ----------- `value`: `bool` - Returns - ------- + Returns: + -------- - Get - `bool` - Set - `None` - """ + """ - set_window_rect = _BaseOptionsDescriptor("setWindowRect") - """Gets and Sets window size and position. + set_window_rect = _BaseOptionsDescriptor("setWindowRect") + """Gets and Sets window size and position. - Usage - ----- + Usage: + ------ - Get - `self.set_window_rect` - Set - `self.set_window_rect` = `value` - Parameters - ---------- + Parameters: + ----------- `value`: `bool` - Returns - ------- + Returns: + -------- - Get - `bool` - Set - `None` - """ + """ - enable_bidi = _BaseOptionsDescriptor("enableBidi") - """Gets and Set whether the session has WebDriverBiDi enabled. + enable_bidi = _BaseOptionsDescriptor("enableBidi") + """Gets and Set whether the session has WebDriverBiDi enabled. - Usage - ----- + Usage: + ------ - Get - `self.enable_bidi` - Set - `self.enable_bidi` = `value` - Parameters - ---------- + Parameters: + ----------- `value`: `bool` - Returns - ------- + Returns: + -------- - Get - `bool` - Set - `None` - """ + """ - web_socket_url = _BaseOptionsDescriptor("webSocketUrl") - """Gets and Set whether the session accepts insecure certificates. + page_load_strategy = _PageLoadStrategyDescriptor("pageLoadStrategy") + """:Gets and Sets page load strategy, the default is "normal". - Usage - ----- - - Get - - `self.web_socket_url` - - Set - - `self.web_socket_url` = `value` - - Parameters - ---------- - `value`: `str` - - Returns - ------- - - Get - - `str` or `None` - - Set - - `None` - """ - - page_load_strategy = _PageLoadStrategyDescriptor("pageLoadStrategy") - """:Gets and Sets page load strategy, the default is "normal". - - Usage - ----- + Usage: + ------ - Get - `self.page_load_strategy` - Set - `self.page_load_strategy` = `value` - Parameters - ---------- + Parameters: + ----------- `value`: `str` - Returns - ------- + Returns: + -------- - Get - `str` - Set - `None` - """ + """ - unhandled_prompt_behavior = _UnHandledPromptBehaviorDescriptor("unhandledPromptBehavior") - """:Gets and Sets unhandled prompt behavior, the default is "dismiss and - notify". + unhandled_prompt_behavior = _UnHandledPromptBehaviorDescriptor("unhandledPromptBehavior") + """:Gets and Sets unhandled prompt behavior, the default is "dismiss and + notify". - Usage - ----- + Usage: + ------ - Get - `self.unhandled_prompt_behavior` - Set - `self.unhandled_prompt_behavior` = `value` - Parameters - ---------- + Parameters: + ----------- `value`: `str` - Returns - ------- + Returns: + -------- - Get - `str` - Set - `None` - """ + """ - timeouts = _TimeoutsDescriptor("timeouts") - """:Gets and Sets implicit timeout, pageLoad timeout and script timeout if + timeouts = _TimeoutsDescriptor("timeouts") + """:Gets and Sets implicit timeout, pageLoad timeout and script timeout if set (in milliseconds) - Usage - ----- + Usage: + ------ - Get - `self.timeouts` - Set - `self.timeouts` = `value` - Parameters - ---------- + Parameters: + ----------- `value`: `dict` - Returns - ------- + Returns: + -------- - Get - `dict` - Set - `None` - """ + """ - proxy = _ProxyDescriptor("proxy") - """Sets and Gets Proxy. + proxy = _ProxyDescriptor("proxy") + """Sets and Gets Proxy. - Usage - ----- + Usage: + ------ - Get - `self.proxy` - Set - `self.proxy` = `value` - Parameters - ---------- + Parameters: + ----------- `value`: `Proxy` - Returns - ------- + Returns: + -------- - Get - `Proxy` - Set - `None` - """ + """ - enable_downloads = _BaseOptionsDescriptor("se:downloadsEnabled") - """Gets and Sets whether session can download files. + enable_downloads = _BaseOptionsDescriptor("se:downloadsEnabled") + """Gets and Sets whether session can download files. - Usage - ----- + Usage: + ------ - Get - `self.enable_downloads` - Set - `self.enable_downloads` = `value` - Parameters - ---------- + Parameters: + ----------- `value`: `bool` - Returns - ------- + Returns: + -------- - Get - `bool` - Set - `None` - """ + """ - web_socket_url = _BaseOptionsDescriptor("webSocketUrl") - """Gets and Sets WebSocket URL. + web_socket_url = _BaseOptionsDescriptor("webSocketUrl") + """Gets and Sets WebSocket URL. - Usage - ----- + Usage: + ------ - Get - `self.web_socket_url` - Set - `self.web_socket_url` = `value` - Parameters - ---------- - `value`: `bool` + Parameters: + ----------- + `value`: `str` - Returns - ------- + Returns: + -------- - Get - `bool` - Set - `None` - """ + """ def __init__(self) -> None: super().__init__() self._caps = self.default_capabilities self._proxy = None - self.set_capability("pageLoadStrategy", PageLoadStrategy.normal) + self.set_capability("pageLoadStrategy", PageLoadStrategy.normal) self.mobile_options = None self._ignore_local_proxy = False @@ -490,48 +629,63 @@

Source code for selenium.webdriver.common.options

def capabilities(self): return self._caps -
[docs] def set_capability(self, name, value) -> None: - """Sets a capability.""" +
+[docs] + def set_capability(self, name, value) -> None: + """Sets a capability.""" self._caps[name] = value
-
[docs] def enable_mobile( + +
+[docs] + def enable_mobile( self, android_package: Optional[str] = None, android_activity: Optional[str] = None, device_serial: Optional[str] = None, ) -> None: - """Enables mobile browser use for browsers that support it. + """Enables mobile browser use for browsers that support it. :Args: android_activity: The name of the android package to start - """ + """ if not android_package: - raise AttributeError("android_package must be passed in") - self.mobile_options = {"androidPackage": android_package} + raise AttributeError("android_package must be passed in") + self.mobile_options = {"androidPackage": android_package} if android_activity: - self.mobile_options["androidActivity"] = android_activity + self.mobile_options["androidActivity"] = android_activity if device_serial: - self.mobile_options["androidDeviceSerial"] = device_serial
+ self.mobile_options["androidDeviceSerial"] = device_serial
-
[docs] @abstractmethod + +
+[docs] + @abstractmethod def to_capabilities(self): - """Convert options into capabilities dictionary."""
+ """Convert options into capabilities dictionary."""
+ @property @abstractmethod def default_capabilities(self): - """Return minimal capabilities necessary as a dictionary.""" + """Return minimal capabilities necessary as a dictionary.""" + +
+[docs] + def ignore_local_proxy_environment_variables(self) -> None: + """By calling this you will ignore HTTP_PROXY and HTTPS_PROXY from + being picked up and used.""" + self._ignore_local_proxy = True
+
-
[docs] def ignore_local_proxy_environment_variables(self) -> None: - """By calling this you will ignore HTTP_PROXY and HTTPS_PROXY from - being picked up and used.""" - self._ignore_local_proxy = True
-
[docs]class ArgOptions(BaseOptions): - BINARY_LOCATION_ERROR = "Binary Location Must be a String" +
+[docs] +class ArgOptions(BaseOptions): + BINARY_LOCATION_ERROR = "Binary Location Must be a String" # FedCM capability key - FEDCM_CAPABILITY = "fedcm:accounts" + FEDCM_CAPABILITY = "fedcm:accounts" def __init__(self) -> None: super().__init__() @@ -539,78 +693,78 @@

Source code for selenium.webdriver.common.options

@property def arguments(self): - """:Returns: A list of arguments needed for the browser.""" + """:Returns: A list of arguments needed for the browser.""" return self._arguments -
[docs] def add_argument(self, argument) -> None: - """Adds an argument to the list. +
+[docs] + def add_argument(self, argument) -> None: + """Adds an argument to the list. :Args: - Sets the arguments - """ + """ if argument: self._arguments.append(argument) else: - raise ValueError("argument can not be null")
+ raise ValueError("argument can not be null")
+ -
[docs] def ignore_local_proxy_environment_variables(self) -> None: - """By calling this you will ignore HTTP_PROXY and HTTPS_PROXY from - being picked up and used.""" +
+[docs] + def ignore_local_proxy_environment_variables(self) -> None: + """By calling this you will ignore HTTP_PROXY and HTTPS_PROXY from + being picked up and used.""" warnings.warn( - "using ignore_local_proxy_environment_variables in Options has been deprecated, " - "instead, create a Proxy instance with ProxyType.DIRECT to ignore proxy settings, " - "pass the proxy instance into a ClientConfig constructor, " - "pass the client config instance into the Webdriver constructor", + "using ignore_local_proxy_environment_variables in Options has been deprecated, " + "instead, create a Proxy instance with ProxyType.DIRECT to ignore proxy settings, " + "pass the proxy instance into a ClientConfig constructor, " + "pass the client config instance into the Webdriver constructor", DeprecationWarning, stacklevel=2, ) super().ignore_local_proxy_environment_variables()
-
[docs] def to_capabilities(self): + +
+[docs] + def to_capabilities(self): return self._caps
+ @property def default_capabilities(self): return {}
+
-
-
+
-
+
+ + + \ No newline at end of file diff --git a/docs/api/py/_modules/selenium/webdriver/common/print_page_options.html b/docs/api/py/_modules/selenium/webdriver/common/print_page_options.html index 272f5f4e3fa0d..6f7f2bf9fb54b 100644 --- a/docs/api/py/_modules/selenium/webdriver/common/print_page_options.html +++ b/docs/api/py/_modules/selenium/webdriver/common/print_page_options.html @@ -1,54 +1,210 @@ - + - selenium.webdriver.common.print_page_options — Selenium 4.29.0.202501201850 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + selenium.webdriver.common.print_page_options — Selenium 4.30.0 documentation - + + + + + + + + + + + + + + + + + + + + + + + + Skip to content +
+ +
+ + +
- - - - - - - + +
+
+ +
+ +
+
+
+
+ + +
+
+
+ +
+
-

Source code for selenium.webdriver.common.print_page_options

+  

Source code for selenium.webdriver.common.print_page_options

 # Licensed to the Software Freedom Conservancy (SFC) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
 # regarding copyright ownership.  The SFC licenses this file
 # to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
+# "License"); you may not use this file except in compliance
 # with the License.  You may obtain a copy of the License at
 #
 #   http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing,
 # software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
@@ -63,7 +219,7 @@ 

Source code for selenium.webdriver.common.print_page_options

from typing import Literal from typing import TypedDict - Orientation = Literal["portrait", "landscape"] + Orientation = Literal["portrait", "landscape"] class _MarginOpts(TypedDict, total=False): left: float @@ -93,7 +249,7 @@

Source code for selenium.webdriver.common.print_page_options

class _PageSettingsDescriptor: - """Descriptor which validates `height` and 'width' of page.""" + """Descriptor which validates `height` and 'width' of page.""" def __init__(self, name): self.name = name @@ -102,19 +258,19 @@

Source code for selenium.webdriver.common.print_page_options

return obj._page.get(self.name, None) def __set__(self, obj, value) -> None: - getattr(obj, "_validate_num_property")(self.name, value) + getattr(obj, "_validate_num_property")(self.name, value) obj._page[self.name] = value - obj._print_options["page"] = obj._page + obj._print_options["page"] = obj._page class _MarginSettingsDescriptor: - """Descriptor which validates below attributes. + """Descriptor which validates below attributes. - top - bottom - left - right - """ + """ def __init__(self, name): self.name = name @@ -123,13 +279,13 @@

Source code for selenium.webdriver.common.print_page_options

return obj._margin.get(self.name, None) def __set__(self, obj, value) -> None: - getattr(obj, "_validate_num_property")(f"Margin {self.name}", value) + getattr(obj, "_validate_num_property")(f"Margin {self.name}", value) obj._margin[self.name] = value - obj._print_options["margin"] = obj._margin + obj._print_options["margin"] = obj._margin class _ScaleDescriptor: - """Scale descriptor which validates scale.""" + """Scale descriptor which validates scale.""" def __init__(self, name): self.name = name @@ -138,16 +294,16 @@

Source code for selenium.webdriver.common.print_page_options

return obj._print_options.get(self.name) def __set__(self, obj, value) -> None: - getattr(obj, "_validate_num_property")(self.name, value) + getattr(obj, "_validate_num_property")(self.name, value) if value < 0.1 or value > 2: - raise ValueError("Value of scale should be between 0.1 and 2") + raise ValueError("Value of scale should be between 0.1 and 2") obj._print_options[self.name] = value class _PageOrientationDescriptor: - """PageOrientation descriptor which validates orientation of page.""" + """PageOrientation descriptor which validates orientation of page.""" - ORIENTATION_VALUES = ["portrait", "landscape"] + ORIENTATION_VALUES = ["portrait", "landscape"] def __init__(self, name): self.name = name @@ -157,12 +313,12 @@

Source code for selenium.webdriver.common.print_page_options

def __set__(self, obj, value) -> None: if value not in self.ORIENTATION_VALUES: - raise ValueError(f"Orientation value must be one of {self.ORIENTATION_VALUES}") + raise ValueError(f"Orientation value must be one of {self.ORIENTATION_VALUES}") obj._print_options[self.name] = value class _ValidateTypeDescriptor: - """Base Class Descriptor which validates type of any subclass attribute.""" + """Base Class Descriptor which validates type of any subclass attribute.""" def __init__(self, name, expected_type: Type): self.name = name @@ -173,34 +329,36 @@

Source code for selenium.webdriver.common.print_page_options

def __set__(self, obj, value) -> None: if not isinstance(value, self.expected_type): - raise ValueError(f"{self.name} should be of type {self.expected_type.__name__}") + raise ValueError(f"{self.name} should be of type {self.expected_type.__name__}") obj._print_options[self.name] = value class _ValidateBackGround(_ValidateTypeDescriptor): - """Expected type of background attribute.""" + """Expected type of background attribute.""" def __init__(self, name): super().__init__(name, bool) class _ValidateShrinkToFit(_ValidateTypeDescriptor): - """Expected type of shrink to fit attribute.""" + """Expected type of shrink to fit attribute.""" def __init__(self, name): super().__init__(name, bool) class _ValidatePageRanges(_ValidateTypeDescriptor): - """Expected type of page ranges attribute.""" + """Expected type of page ranges attribute.""" def __init__(self, name): super().__init__(name, list) -
[docs]class PrintOptions: - page_height = _PageSettingsDescriptor("height") - """Gets and Sets page_height: +
+[docs] +class PrintOptions: + page_height = _PageSettingsDescriptor("height") + """Gets and Sets page_height: Usage ----- @@ -209,292 +367,316 @@

Source code for selenium.webdriver.common.print_page_options

- Set - `self.page_height` = `value` - Parameters - ---------- + Parameters: + ----------- `value`: `float` - Returns - ------- + Returns: + -------- - Get - `Optional[float]` - Set - `None` - """ + """ - page_width = _PageSettingsDescriptor("width") - """Gets and Sets page_width: + page_width = _PageSettingsDescriptor("width") + """Gets and Sets page_width: - Usage - ----- + Usage: + ------ - Get - `self.page_width` - Set - `self.page_width` = `value` - Parameters - ---------- + Parameters: + ----------- `value`: `float` - Returns - ------- + Returns: + -------- - Get - `Optional[float]` - Set - `None` - """ + """ - margin_top = _MarginSettingsDescriptor("top") - """Gets and Sets margin_top: + margin_top = _MarginSettingsDescriptor("top") + """Gets and Sets margin_top: - Usage - ----- + Usage: + ------ - Get - `self.margin_top` - Set - `self.margin_top` = `value` - Parameters - ---------- + Parameters: + ----------- `value`: `float` - Returns - ------- + Returns: + -------- - Get - `Optional[float]` - Set - `None` - """ + """ - margin_bottom = _MarginSettingsDescriptor("bottom") - """Gets and Sets margin_bottom: + margin_bottom = _MarginSettingsDescriptor("bottom") + """Gets and Sets margin_bottom: - Usage - ----- + Usage: + ------ - Get - `self.margin_bottom` - Set - `self.margin_bottom` = `value` - Parameters - ---------- + Parameters: + ----------- `value`: `float` - Returns - ------- + Returns: + -------- - Get - `Optional[float]` - Set - `None` - """ + """ - margin_left = _MarginSettingsDescriptor("left") - """Gets and Sets margin_left: + margin_left = _MarginSettingsDescriptor("left") + """Gets and Sets margin_left: - Usage - ----- + Usage: + ------ - Get - `self.margin_left` - Set - `self.margin_left` = `value` - Parameters - ---------- + Parameters: + ----------- `value`: `float` - Returns - ------- + Returns: + -------- - Get - `Optional[float]` - Set - `None` - """ + """ - margin_right = _MarginSettingsDescriptor("right") - """Gets and Sets margin_right: + margin_right = _MarginSettingsDescriptor("right") + """Gets and Sets margin_right: - Usage - ----- + Usage: + ------ - Get - `self.margin_right` - Set - `self.margin_right` = `value` - Parameters - ---------- + Parameters: + ----------- `value`: `float` - Returns - ------- + Returns: + -------- - Get - `Optional[float]` - Set - `None` - """ + """ - scale = _ScaleDescriptor("scale") - """Gets and Sets scale: + scale = _ScaleDescriptor("scale") + """Gets and Sets scale: - Usage - ----- + Usage: + ------ - Get - `self.scale` - Set - `self.scale` = `value` - Parameters - ---------- + Parameters: + ----------- `value`: `float` - Returns - ------- + Returns: + -------- - Get - `Optional[float]` - Set - `None` - """ + """ - orientation = _PageOrientationDescriptor("orientation") - """Gets and Sets orientation: + orientation = _PageOrientationDescriptor("orientation") + """Gets and Sets orientation: - Usage - ----- + Usage: + ------ - Get - `self.orientation` - Set - `self.orientation` = `value` - Parameters - ---------- + Parameters: + ----------- `value`: `Orientation` - Returns - ------- + Returns: + -------- - Get - `Optional[Orientation]` - Set - `None` - """ + """ - background = _ValidateBackGround("background") - """Gets and Sets background: + background = _ValidateBackGround("background") + """Gets and Sets background: - Usage - ----- + Usage: + ------ - Get - `self.background` - Set - `self.background` = `value` - Parameters - ---------- + Parameters: + ----------- `value`: `bool` - Returns - ------- + Returns: + -------- - Get - `Optional[bool]` - Set - `None` - """ + """ - shrink_to_fit = _ValidateShrinkToFit("shrinkToFit") - """Gets and Sets shrink_to_fit: + shrink_to_fit = _ValidateShrinkToFit("shrinkToFit") + """Gets and Sets shrink_to_fit: - Usage - ----- + Usage: + ------ - Get - `self.shrink_to_fit` - Set - `self.shrink_to_fit` = `value` - Parameters - ---------- + Parameters: + ----------- `value`: `bool` - Returns - ------- + Returns: + -------- - Get - `Optional[bool]` - Set - `None` - """ + """ - page_ranges = _ValidatePageRanges("pageRanges") - """Gets and Sets page_ranges: + page_ranges = _ValidatePageRanges("pageRanges") + """Gets and Sets page_ranges: - Usage - ----- + Usage: + ------ - Get - `self.page_ranges` - Set - `self.page_ranges` = `value` - Parameters - ---------- + Parameters: + ----------- `value`: ` List[str]` - Returns - ------- + Returns: + -------- - Get - `Optional[List[str]]` - Set - `None` - """ + """ + # Reference for predefined page size constants: https://www.agooddaytoprint.com/page/paper-size-chart-faq + A4 = {"height": 29.7, "width": 21.0} # size in cm + LEGAL = {"height": 35.56, "width": 21.59} # size in cm + LETTER = {"height": 27.94, "width": 21.59} # size in cm + TABLOID = {"height": 43.18, "width": 27.94} # size in cm def __init__(self) -> None: self._print_options: _PrintOpts = {} - self._page: _PageOpts = {} + self._page: _PageOpts = { + "height": PrintOptions.A4["height"], + "width": PrintOptions.A4["width"], + } # Default page size set to A4 self._margin: _MarginOpts = {} -
[docs] def to_dict(self) -> _PrintOpts: - """:Returns: A hash of print options configured.""" +
+[docs] + def to_dict(self) -> _PrintOpts: + """:Returns: A hash of print options configured.""" return self._print_options
+ +
+[docs] + def set_page_size(self, page_size: dict) -> None: + """Sets the page size to predefined or custom dimensions. + + Parameters: + ----------- + page_size: dict + A dictionary containing `height` and `width` as keys with respective values. + + Example: + -------- + self.set_page_size(PageSize.A4) # A4 predefined size + self.set_page_size({"height": 15.0, "width": 20.0}) # Custom size in cm + """ + self._validate_num_property("height", page_size["height"]) + self._validate_num_property("width", page_size["width"]) + self._page["height"] = page_size["height"] + self._page["width"] = page_size["width"] + self._print_options["page"] = self._page
+ + def _validate_num_property(self, property_name: str, value: float) -> None: - """Helper function to validate some of the properties.""" + """Helper function to validate some of the properties.""" if not isinstance(value, (int, float)): - raise ValueError(f"{property_name} should be an integer or a float") + raise ValueError(f"{property_name} should be an integer or a float") if value < 0: - raise ValueError(f"{property_name} cannot be less than 0")
+ raise ValueError(f"{property_name} cannot be less than 0")
+
-
-
+
-
+
+ + + \ No newline at end of file diff --git a/docs/api/py/_modules/selenium/webdriver/common/proxy.html b/docs/api/py/_modules/selenium/webdriver/common/proxy.html index cda9cf38e230b..2734b5943a9cd 100644 --- a/docs/api/py/_modules/selenium/webdriver/common/proxy.html +++ b/docs/api/py/_modules/selenium/webdriver/common/proxy.html @@ -1,93 +1,261 @@ - + - selenium.webdriver.common.proxy — Selenium 4.29.0.202501201850 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + selenium.webdriver.common.proxy — Selenium 4.30.0 documentation - + + + + + + + + + + + + + + + + + + + + + + + + Skip to content +
+ +
+ + +
- - - - - - - + +
+
+ +
+ +
+
+
+
+ + +
+
+
+ +
+
-

Source code for selenium.webdriver.common.proxy

+  

Source code for selenium.webdriver.common.proxy

 # Licensed to the Software Freedom Conservancy (SFC) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
 # regarding copyright ownership.  The SFC licenses this file
 # to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
+# "License"); you may not use this file except in compliance
 # with the License.  You may obtain a copy of the License at
 #
 #   http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing,
 # software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-"""The Proxy implementation."""
+"""The Proxy implementation."""
 
 
-
[docs]class ProxyTypeFactory: - """Factory for proxy types.""" +
+[docs] +class ProxyTypeFactory: + """Factory for proxy types.""" -
[docs] @staticmethod +
+[docs] + @staticmethod def make(ff_value, string): - return {"ff_value": ff_value, "string": string}
+ return {"ff_value": ff_value, "string": string}
+
+ -
[docs]class ProxyType: - """Set of possible types of proxy. +
+[docs] +class ProxyType: + """Set of possible types of proxy. - Each proxy type has 2 properties: 'ff_value' is value of Firefox - profile preference, 'string' is id of proxy type. - """ + Each proxy type has 2 properties: 'ff_value' is value of Firefox + profile preference, 'string' is id of proxy type. + """ - DIRECT = ProxyTypeFactory.make(0, "DIRECT") # Direct connection, no proxy (default on Windows). - MANUAL = ProxyTypeFactory.make(1, "MANUAL") # Manual proxy settings (e.g., for httpProxy). - PAC = ProxyTypeFactory.make(2, "PAC") # Proxy autoconfiguration from URL. - RESERVED_1 = ProxyTypeFactory.make(3, "RESERVED1") # Never used. - AUTODETECT = ProxyTypeFactory.make(4, "AUTODETECT") # Proxy autodetection (presumably with WPAD). - SYSTEM = ProxyTypeFactory.make(5, "SYSTEM") # Use system settings (default on Linux). - UNSPECIFIED = ProxyTypeFactory.make(6, "UNSPECIFIED") # Not initialized (for internal use). + DIRECT = ProxyTypeFactory.make(0, "DIRECT") # Direct connection, no proxy (default on Windows). + MANUAL = ProxyTypeFactory.make(1, "MANUAL") # Manual proxy settings (e.g., for httpProxy). + PAC = ProxyTypeFactory.make(2, "PAC") # Proxy autoconfiguration from URL. + RESERVED_1 = ProxyTypeFactory.make(3, "RESERVED1") # Never used. + AUTODETECT = ProxyTypeFactory.make(4, "AUTODETECT") # Proxy autodetection (presumably with WPAD). + SYSTEM = ProxyTypeFactory.make(5, "SYSTEM") # Use system settings (default on Linux). + UNSPECIFIED = ProxyTypeFactory.make(6, "UNSPECIFIED") # Not initialized (for internal use). -
[docs] @classmethod +
+[docs] + @classmethod def load(cls, value): - if isinstance(value, dict) and "string" in value: - value = value["string"] + if isinstance(value, dict) and "string" in value: + value = value["string"] value = str(value).upper() for attr in dir(cls): attr_value = getattr(cls, attr) - if isinstance(attr_value, dict) and "string" in attr_value and attr_value["string"] == value: + if isinstance(attr_value, dict) and "string" in attr_value and attr_value["string"] == value: return attr_value - raise Exception(f"No proxy type is found for {value}")
+ raise Exception(f"No proxy type is found for {value}")
+
+ class _ProxyTypeDescriptor: @@ -99,288 +267,284 @@

Source code for selenium.webdriver.common.proxy

< return getattr(obj, self.name) def __set__(self, obj, value): - if self.name == "autodetect" and not isinstance(value, bool): - raise ValueError("Autodetect proxy value needs to be a boolean") - getattr(obj, "_verify_proxy_type_compatibility")(self.p_type) - setattr(obj, "proxyType", self.p_type) + if self.name == "autodetect" and not isinstance(value, bool): + raise ValueError("Autodetect proxy value needs to be a boolean") + getattr(obj, "_verify_proxy_type_compatibility")(self.p_type) + setattr(obj, "proxyType", self.p_type) setattr(obj, self.name, value) -
[docs]class Proxy: - """Proxy contains information about proxy type and necessary proxy - settings.""" +
+[docs] +class Proxy: + """Proxy contains information about proxy type and necessary proxy + settings.""" proxyType = ProxyType.UNSPECIFIED autodetect = False - ftpProxy = "" - httpProxy = "" - noProxy = "" - proxyAutoconfigUrl = "" - sslProxy = "" - socksProxy = "" - socksUsername = "" - socksPassword = "" + ftpProxy = "" + httpProxy = "" + noProxy = "" + proxyAutoconfigUrl = "" + sslProxy = "" + socksProxy = "" + socksUsername = "" + socksPassword = "" socksVersion = None # create descriptor type objects - auto_detect = _ProxyTypeDescriptor("autodetect", ProxyType.AUTODETECT) - """Gets and Sets `auto_detect` + auto_detect = _ProxyTypeDescriptor("autodetect", ProxyType.AUTODETECT) + """Gets and Sets `auto_detect` - Usage - ----- + Usage: + ------ - Get - `self.auto_detect` - Set - `self.auto_detect` = `value` - Parameters - ---------- + Parameters: + ----------- `value`: `str` - """ + """ - ftp_proxy = _ProxyTypeDescriptor("ftpProxy", ProxyType.MANUAL) - """Gets and Sets `ftp_proxy` + ftp_proxy = _ProxyTypeDescriptor("ftpProxy", ProxyType.MANUAL) + """Gets and Sets `ftp_proxy` - Usage - ----- + Usage: + ------ - Get - `self.ftp_proxy` - Set - `self.ftp_proxy` = `value` - Parameters - ---------- + Parameters: + ----------- `value`: `str` - """ + """ - http_proxy = _ProxyTypeDescriptor("httpProxy", ProxyType.MANUAL) - """Gets and Sets `http_proxy` + http_proxy = _ProxyTypeDescriptor("httpProxy", ProxyType.MANUAL) + """Gets and Sets `http_proxy` - Usage - ----- + Usage: + ------ - Get - `self.http_proxy` - Set - `self.http_proxy` = `value` - Parameters - ---------- + Parameters: + ----------- `value`: `str` - """ + """ - no_proxy = _ProxyTypeDescriptor("noProxy", ProxyType.MANUAL) - """Gets and Sets `no_proxy` + no_proxy = _ProxyTypeDescriptor("noProxy", ProxyType.MANUAL) + """Gets and Sets `no_proxy` - Usage - ----- + Usage: + ------ - Get - `self.no_proxy` - Set - `self.no_proxy` = `value` - Parameters - ---------- + Parameters: + ----------- `value`: `str` - """ + """ - proxy_autoconfig_url = _ProxyTypeDescriptor("proxyAutoconfigUrl", ProxyType.PAC) - """Gets and Sets `proxy_autoconfig_url` + proxy_autoconfig_url = _ProxyTypeDescriptor("proxyAutoconfigUrl", ProxyType.PAC) + """Gets and Sets `proxy_autoconfig_url` - Usage - ----- + Usage: + ------ - Get - `self.proxy_autoconfig_url` - Set - `self.proxy_autoconfig_url` = `value` - Parameter - --------- + Parameters: + ----------- `value`: `str` - """ + """ - ssl_proxy = _ProxyTypeDescriptor("sslProxy", ProxyType.MANUAL) - """Gets and Sets `ssl_proxy` + ssl_proxy = _ProxyTypeDescriptor("sslProxy", ProxyType.MANUAL) + """Gets and Sets `ssl_proxy` - Usage - ----- + Usage: + ------ - Get - `self.ssl_proxy` - Set - `self.ssl_proxy` = `value` - Parameter - --------- + Parameters: + ----------- `value`: `str` - """ + """ - socks_proxy = _ProxyTypeDescriptor("socksProxy", ProxyType.MANUAL) - """Gets and Sets `socks_proxy` + socks_proxy = _ProxyTypeDescriptor("socksProxy", ProxyType.MANUAL) + """Gets and Sets `socks_proxy` - Usage - ----- + Usage: + ------ - Get - `self.sock_proxy` - Set - `self.socks_proxy` = `value` - Parameter - --------- + Parameters: + ----------- `value`: `str` - """ + """ - socks_username = _ProxyTypeDescriptor("socksUsername", ProxyType.MANUAL) - """Gets and Sets `socks_password` + socks_username = _ProxyTypeDescriptor("socksUsername", ProxyType.MANUAL) + """Gets and Sets `socks_password` - Usage - ----- + Usage: + ------ - Get - `self.socks_password` - Set - `self.socks_password` = `value` - Parameter - --------- + Parameters: + ----------- `value`: `str` - """ + """ - socks_password = _ProxyTypeDescriptor("socksPassword", ProxyType.MANUAL) - """Gets and Sets `socks_password` + socks_password = _ProxyTypeDescriptor("socksPassword", ProxyType.MANUAL) + """Gets and Sets `socks_password` - Usage - ----- + Usage: + ------ - Get - `self.socks_password` - Set - `self.socks_password` = `value` - Parameter - --------- + Parameters: + ----------- `value`: `str` - """ + """ - socks_version = _ProxyTypeDescriptor("socksVersion", ProxyType.MANUAL) - """Gets and Sets `socks_version` + socks_version = _ProxyTypeDescriptor("socksVersion", ProxyType.MANUAL) + """Gets and Sets `socks_version` - Usage - ----- + Usage: + ------ - Get - `self.socks_version` - Set - `self.socks_version` = `value` - Parameter - --------- + Parameters: + ----------- `value`: `str` - """ + """ def __init__(self, raw=None): - """Creates a new Proxy. + """Creates a new Proxy. :Args: - raw: raw proxy data. If None, default class values are used. - """ + """ if raw: - if "proxyType" in raw and raw["proxyType"]: - self.proxy_type = ProxyType.load(raw["proxyType"]) - if "ftpProxy" in raw and raw["ftpProxy"]: - self.ftp_proxy = raw["ftpProxy"] - if "httpProxy" in raw and raw["httpProxy"]: - self.http_proxy = raw["httpProxy"] - if "noProxy" in raw and raw["noProxy"]: - self.no_proxy = raw["noProxy"] - if "proxyAutoconfigUrl" in raw and raw["proxyAutoconfigUrl"]: - self.proxy_autoconfig_url = raw["proxyAutoconfigUrl"] - if "sslProxy" in raw and raw["sslProxy"]: - self.sslProxy = raw["sslProxy"] - if "autodetect" in raw and raw["autodetect"]: - self.auto_detect = raw["autodetect"] - if "socksProxy" in raw and raw["socksProxy"]: - self.socks_proxy = raw["socksProxy"] - if "socksUsername" in raw and raw["socksUsername"]: - self.socks_username = raw["socksUsername"] - if "socksPassword" in raw and raw["socksPassword"]: - self.socks_password = raw["socksPassword"] - if "socksVersion" in raw and raw["socksVersion"]: - self.socks_version = raw["socksVersion"] + if "proxyType" in raw and raw["proxyType"]: + self.proxy_type = ProxyType.load(raw["proxyType"]) + if "ftpProxy" in raw and raw["ftpProxy"]: + self.ftp_proxy = raw["ftpProxy"] + if "httpProxy" in raw and raw["httpProxy"]: + self.http_proxy = raw["httpProxy"] + if "noProxy" in raw and raw["noProxy"]: + self.no_proxy = raw["noProxy"] + if "proxyAutoconfigUrl" in raw and raw["proxyAutoconfigUrl"]: + self.proxy_autoconfig_url = raw["proxyAutoconfigUrl"] + if "sslProxy" in raw and raw["sslProxy"]: + self.sslProxy = raw["sslProxy"] + if "autodetect" in raw and raw["autodetect"]: + self.auto_detect = raw["autodetect"] + if "socksProxy" in raw and raw["socksProxy"]: + self.socks_proxy = raw["socksProxy"] + if "socksUsername" in raw and raw["socksUsername"]: + self.socks_username = raw["socksUsername"] + if "socksPassword" in raw and raw["socksPassword"]: + self.socks_password = raw["socksPassword"] + if "socksVersion" in raw and raw["socksVersion"]: + self.socks_version = raw["socksVersion"] @property def proxy_type(self): - """Returns proxy type as `ProxyType`.""" + """Returns proxy type as `ProxyType`.""" return self.proxyType @proxy_type.setter def proxy_type(self, value) -> None: - """Sets proxy type. + """Sets proxy type. :Args: - value: The proxy type. - """ + """ self._verify_proxy_type_compatibility(value) self.proxyType = value def _verify_proxy_type_compatibility(self, compatible_proxy): if self.proxyType not in (ProxyType.UNSPECIFIED, compatible_proxy): raise ValueError( - f"Specified proxy type ({compatible_proxy}) not compatible with current setting ({self.proxyType})" + f"Specified proxy type ({compatible_proxy}) not compatible with current setting ({self.proxyType})" ) -
[docs] def to_capabilities(self): - proxy_caps = {"proxyType": self.proxyType["string"].lower()} +
+[docs] + def to_capabilities(self): + proxy_caps = {"proxyType": self.proxyType["string"].lower()} proxies = [ - "autodetect", - "ftpProxy", - "httpProxy", - "proxyAutoconfigUrl", - "sslProxy", - "noProxy", - "socksProxy", - "socksUsername", - "socksPassword", - "socksVersion", + "autodetect", + "ftpProxy", + "httpProxy", + "proxyAutoconfigUrl", + "sslProxy", + "noProxy", + "socksProxy", + "socksUsername", + "socksPassword", + "socksVersion", ] for proxy in proxies: attr_value = getattr(self, proxy) if attr_value: proxy_caps[proxy] = attr_value - return proxy_caps
+ return proxy_caps
+
+
-
-
+
-
+
+ + + \ No newline at end of file diff --git a/docs/api/py/_modules/selenium/webdriver/common/selenium_manager.html b/docs/api/py/_modules/selenium/webdriver/common/selenium_manager.html index ffa57916d4670..baa26d8123928 100644 --- a/docs/api/py/_modules/selenium/webdriver/common/selenium_manager.html +++ b/docs/api/py/_modules/selenium/webdriver/common/selenium_manager.html @@ -1,54 +1,210 @@ - + - selenium.webdriver.common.selenium_manager — Selenium 4.29.0.202501201850 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + selenium.webdriver.common.selenium_manager — Selenium 4.30.0 documentation - + + + + + + + + + + + + + + + + + + + + + + + + Skip to content +
+ +
+ + +
- - - - - - - + +
+
+ +
+
+ +
+
+
+
+
+ + +
+
+
+ +
+
-

Source code for selenium.webdriver.common.selenium_manager

+  

Source code for selenium.webdriver.common.selenium_manager

 # Licensed to the Software Freedom Conservancy (SFC) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
 # regarding copyright ownership.  The SFC licenses this file
 # to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
+# "License"); you may not use this file except in compliance
 # with the License.  You may obtain a copy of the License at
 #
 #   http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing,
 # software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
@@ -68,152 +224,148 @@ 

Source code for selenium.webdriver.common.selenium_manager

logger = logging.getLogger(__name__) -
[docs]class SeleniumManager: - """Wrapper for getting information from the Selenium Manager binaries. +
+[docs] +class SeleniumManager: + """Wrapper for getting information from the Selenium Manager binaries. This implementation is still in beta, and may change. - """ + """ -
[docs] def binary_paths(self, args: List) -> dict: - """Determines the locations of the requested assets. +
+[docs] + def binary_paths(self, args: List) -> dict: + """Determines the locations of the requested assets. :Args: - args: the commands to send to the selenium manager binary. :Returns: dictionary of assets and their path - """ + """ args = [str(self._get_binary())] + args if logger.getEffectiveLevel() == logging.DEBUG: - args.append("--debug") - args.append("--language-binding") - args.append("python") - args.append("--output") - args.append("json") + args.append("--debug") + args.append("--language-binding") + args.append("python") + args.append("--output") + args.append("json") return self._run(args)
+ @staticmethod def _get_binary() -> Path: - """Determines the path of the correct Selenium Manager binary. + """Determines the path of the correct Selenium Manager binary. :Returns: The Selenium Manager executable location :Raises: WebDriverException if the platform is unsupported - """ + """ - compiled_path = Path(__file__).parent.joinpath("selenium-manager") - exe = sysconfig.get_config_var("EXE") + compiled_path = Path(__file__).parent.joinpath("selenium-manager") + exe = sysconfig.get_config_var("EXE") if exe is not None: compiled_path = compiled_path.with_suffix(exe) path: Optional[Path] = None - if (env_path := os.getenv("SE_MANAGER_PATH")) is not None: - logger.debug("Selenium Manager set by env SE_MANAGER_PATH to: %s", env_path) + if (env_path := os.getenv("SE_MANAGER_PATH")) is not None: + logger.debug("Selenium Manager set by env SE_MANAGER_PATH to: %s", env_path) path = Path(env_path) elif compiled_path.exists(): path = compiled_path else: allowed = { - ("darwin", "any"): "macos/selenium-manager", - ("win32", "any"): "windows/selenium-manager.exe", - ("cygwin", "any"): "windows/selenium-manager.exe", - ("linux", "x86_64"): "linux/selenium-manager", - ("freebsd", "x86_64"): "linux/selenium-manager", - ("openbsd", "x86_64"): "linux/selenium-manager", + ("darwin", "any"): "macos/selenium-manager", + ("win32", "any"): "windows/selenium-manager.exe", + ("cygwin", "any"): "windows/selenium-manager.exe", + ("linux", "x86_64"): "linux/selenium-manager", + ("freebsd", "x86_64"): "linux/selenium-manager", + ("openbsd", "x86_64"): "linux/selenium-manager", } - arch = platform.machine() if sys.platform in ("linux", "freebsd", "openbsd") else "any" - if sys.platform in ["freebsd", "openbsd"]: - logger.warning("Selenium Manager binary may not be compatible with %s; verify settings", sys.platform) + arch = platform.machine() if sys.platform in ("linux", "freebsd", "openbsd") else "any" + if sys.platform in ["freebsd", "openbsd"]: + logger.warning("Selenium Manager binary may not be compatible with %s; verify settings", sys.platform) location = allowed.get((sys.platform, arch)) if location is None: - raise WebDriverException(f"Unsupported platform/architecture combination: {sys.platform}/{arch}") + raise WebDriverException(f"Unsupported platform/architecture combination: {sys.platform}/{arch}") path = Path(__file__).parent.joinpath(location) if path is None or not path.is_file(): - raise WebDriverException(f"Unable to obtain working Selenium Manager binary; {path}") + raise WebDriverException(f"Unable to obtain working Selenium Manager binary; {path}") - logger.debug("Selenium Manager binary found at: %s", path) + logger.debug("Selenium Manager binary found at: %s", path) return path @staticmethod def _run(args: List[str]) -> dict: - """Executes the Selenium Manager Binary. + """Executes the Selenium Manager Binary. :Args: - args: the components of the command being executed. :Returns: The log string containing the driver location. - """ - command = " ".join(args) - logger.debug("Executing process: %s", command) + """ + command = " ".join(args) + logger.debug("Executing process: %s", command) try: - if sys.platform == "win32": + if sys.platform == "win32": completed_proc = subprocess.run(args, capture_output=True, creationflags=subprocess.CREATE_NO_WINDOW) else: completed_proc = subprocess.run(args, capture_output=True) - stdout = completed_proc.stdout.decode("utf-8").rstrip("\n") - stderr = completed_proc.stderr.decode("utf-8").rstrip("\n") - output = json.loads(stdout) if stdout != "" else {"logs": [], "result": {}} + stdout = completed_proc.stdout.decode("utf-8").rstrip("\n") + stderr = completed_proc.stderr.decode("utf-8").rstrip("\n") + output = json.loads(stdout) if stdout != "" else {"logs": [], "result": {}} except Exception as err: - raise WebDriverException(f"Unsuccessful command executed: {command}") from err + raise WebDriverException(f"Unsuccessful command executed: {command}") from err - SeleniumManager._process_logs(output["logs"]) - result = output["result"] + SeleniumManager._process_logs(output["logs"]) + result = output["result"] if completed_proc.returncode: raise WebDriverException( - f"Unsuccessful command executed: {command}; code: {completed_proc.returncode}\n{result}\n{stderr}" + f"Unsuccessful command executed: {command}; code: {completed_proc.returncode}\n{result}\n{stderr}" ) return result @staticmethod def _process_logs(log_items: List[dict]): for item in log_items: - if item["level"] == "WARN": - logger.warning(item["message"]) - elif item["level"] in ["DEBUG", "INFO"]: - logger.debug(item["message"])
+ if item["level"] == "WARN": + logger.warning(item["message"]) + elif item["level"] in ["DEBUG", "INFO"]: + logger.debug(item["message"])
+
-
-
+
-
+
+ + + \ No newline at end of file diff --git a/docs/api/py/_modules/selenium/webdriver/common/service.html b/docs/api/py/_modules/selenium/webdriver/common/service.html index 6a9495efd9b36..e579b31ba0b70 100644 --- a/docs/api/py/_modules/selenium/webdriver/common/service.html +++ b/docs/api/py/_modules/selenium/webdriver/common/service.html @@ -1,54 +1,210 @@ - + - selenium.webdriver.common.service — Selenium 4.29.0.202501201850 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + selenium.webdriver.common.service — Selenium 4.30.0 documentation - + + + + + + + + + + + + + + + + + + + + + + + + Skip to content +
+ +
+ + +
- - - - - - - + +
+
+ +
+ +
+
+
+
+ + +
+
+
+ +
+
-

Source code for selenium.webdriver.common.service

+  

Source code for selenium.webdriver.common.service

 # Licensed to the Software Freedom Conservancy (SFC) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
 # regarding copyright ownership.  The SFC licenses this file
 # to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
+# "License"); you may not use this file except in compliance
 # with the License.  You may obtain a copy of the License at
 #
 #   http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing,
 # software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
@@ -79,8 +235,10 @@ 

Source code for selenium.webdriver.common.service

logger = logging.getLogger(__name__) -
[docs]class Service(ABC): - """The abstract base class for all service objects. Services typically +
+[docs] +class Service(ABC): + """The abstract base class for all service objects. Services typically launch a child program in a new process as an interim process to communicate with a browser. @@ -89,7 +247,7 @@

Source code for selenium.webdriver.common.service

:param log_output: (Optional) int representation of STDOUT/DEVNULL, any IO instance or String path to file. :param env: (Optional) Mapping of environment variables for the new process, defaults to `os.environ`. :param driver_path_env_key: (Optional) Environment variable to use to get the path to the driver executable. - """ + """ def __init__( self, @@ -101,7 +259,7 @@

Source code for selenium.webdriver.common.service

**kwargs, ) -> None: if isinstance(log_output, str): - self.log_output = cast(IOBase, open(log_output, "a+", encoding="utf-8")) + self.log_output = cast(IOBase, open(log_output, "a+", encoding="utf-8")) elif log_output == subprocess.STDOUT: self.log_output = cast(Optional[Union[int, IOBase]], None) elif log_output is None or log_output == subprocess.DEVNULL: @@ -111,39 +269,44 @@

Source code for selenium.webdriver.common.service

self.port = port or utils.free_port() # Default value for every python subprocess: subprocess.Popen(..., creationflags=0) - self.popen_kw = kwargs.pop("popen_kw", {}) - self.creation_flags = self.popen_kw.pop("creation_flags", 0) + self.popen_kw = kwargs.pop("popen_kw", {}) + self.creation_flags = self.popen_kw.pop("creation_flags", 0) self.env = env or os.environ self.DRIVER_PATH_ENV_KEY = driver_path_env_key self._path = self.env_path() or executable_path @property def service_url(self) -> str: - """Gets the url of the Service.""" - return f"http://{utils.join_host_port('localhost', self.port)}" + """Gets the url of the Service.""" + return f"http://{utils.join_host_port('localhost', self.port)}" -
[docs] @abstractmethod +
+[docs] + @abstractmethod def command_line_args(self) -> List[str]: - """A List of program arguments (excluding the executable).""" - raise NotImplementedError("This method needs to be implemented in a sub class")
+ """A List of program arguments (excluding the executable).""" + raise NotImplementedError("This method needs to be implemented in a sub class")
+ @property def path(self) -> str: - return self._path or "" + return self._path or "" @path.setter def path(self, value: str) -> None: self._path = str(value) -
[docs] def start(self) -> None: - """Starts the Service. +
+[docs] + def start(self) -> None: + """Starts the Service. :Exceptions: - - WebDriverException : Raised either when it can't start the service - or when it can't connect to the service - """ + - WebDriverException : Raised either when it can't start the service + or when it can't connect to the service + """ if self._path is None: - raise WebDriverException("Service path cannot be None.") + raise WebDriverException("Service path cannot be None.") self._start_process(self._path) count = 0 @@ -155,24 +318,33 @@

Source code for selenium.webdriver.common.service

sleep(min(0.01 + 0.05 * count, 0.5)) count += 1 if count == 70: - raise WebDriverException(f"Can not connect to the Service {self._path}")
+ raise WebDriverException(f"Can not connect to the Service {self._path}")
+ -
[docs] def assert_process_still_running(self) -> None: - """Check if the underlying process is still running.""" +
+[docs] + def assert_process_still_running(self) -> None: + """Check if the underlying process is still running.""" return_code = self.process.poll() if return_code: - raise WebDriverException(f"Service {self._path} unexpectedly exited. Status code was: {return_code}")
+ raise WebDriverException(f"Service {self._path} unexpectedly exited. Status code was: {return_code}")
-
[docs] def is_connectable(self) -> bool: - """Establishes a socket connection to determine if the service running - on the port is accessible.""" + +
+[docs] + def is_connectable(self) -> bool: + """Establishes a socket connection to determine if the service running + on the port is accessible.""" return utils.is_connectable(self.port)
-
[docs] def send_remote_shutdown_command(self) -> None: - """Dispatch an HTTP request to the shutdown endpoint for the service in - an attempt to stop it.""" + +
+[docs] + def send_remote_shutdown_command(self) -> None: + """Dispatch an HTTP request to the shutdown endpoint for the service in + an attempt to stop it.""" try: - request.urlopen(f"{self.service_url}/shutdown") + request.urlopen(f"{self.service_url}/shutdown") except URLError: return @@ -181,8 +353,11 @@

Source code for selenium.webdriver.common.service

break sleep(1)
-
[docs] def stop(self) -> None: - """Stops the service.""" + +
+[docs] + def stop(self) -> None: + """Stops the service.""" if self.log_output not in {PIPE, subprocess.DEVNULL}: if isinstance(self.log_output, IOBase): @@ -197,14 +372,15 @@

Source code for selenium.webdriver.common.service

pass self._terminate_process()
+ def _terminate_process(self) -> None: - """Terminate the child process. + """Terminate the child process. On POSIX this attempts a graceful SIGTERM followed by a SIGKILL, on a Windows OS kill is an alias to terminate. Terminating does not raise itself if something has gone wrong but (currently) silently ignores errors here. - """ + """ try: stdin, stdout, stderr = ( self.process.stdin, @@ -221,15 +397,15 @@

Source code for selenium.webdriver.common.service

self.process.wait(60) except subprocess.TimeoutExpired: logger.error( - "Service process refused to terminate gracefully with SIGTERM, escalating to SIGKILL.", + "Service process refused to terminate gracefully with SIGTERM, escalating to SIGKILL.", exc_info=True, ) self.process.kill() except OSError: - logger.error("Error terminating service process.", exc_info=True) + logger.error("Error terminating service process.", exc_info=True) def __del__(self) -> None: - # `subprocess.Popen` doesn't send signal on `__del__`; + # `subprocess.Popen` doesn't send signal on `__del__`; # so we attempt to close the launched process when `__del__` # is triggered. # do not use globals here; interpreter shutdown may have already cleaned them up @@ -240,16 +416,16 @@

Source code for selenium.webdriver.common.service

pass def _start_process(self, path: str) -> None: - """Creates a subprocess by executing the command provided. + """Creates a subprocess by executing the command provided. :param cmd: full command to execute - """ + """ cmd = [path] cmd.extend(self.command_line_args()) - close_file_descriptors = self.popen_kw.pop("close_fds", system() != "Windows") + close_file_descriptors = self.popen_kw.pop("close_fds", system() != "Windows") try: start_info = None - if system() == "Windows": + if system() == "Windows": start_info = subprocess.STARTUPINFO() # type: ignore[attr-defined] start_info.dwFlags = subprocess.CREATE_NEW_CONSOLE | subprocess.STARTF_USESHOWWINDOW # type: ignore[attr-defined] start_info.wShowWindow = subprocess.SW_HIDE # type: ignore[attr-defined] @@ -266,7 +442,7 @@

Source code for selenium.webdriver.common.service

**self.popen_kw, ) logger.debug( - "Started executable: `%s` in a child process with pid: %s using %s to output %s", + "Started executable: `%s` in a child process with pid: %s using %s to output %s", self._path, self.process.pid, self.creation_flags, @@ -277,54 +453,48 @@

Source code for selenium.webdriver.common.service

except OSError as err: if err.errno == errno.EACCES: if self._path is None: - raise WebDriverException("Service path cannot be None.") + raise WebDriverException("Service path cannot be None.") raise WebDriverException( - f"'{os.path.basename(self._path)}' executable may have wrong permissions." + f"'{os.path.basename(self._path)}' executable may have wrong permissions." ) from err raise -
[docs] def env_path(self) -> Optional[str]: +
+[docs] + def env_path(self) -> Optional[str]: if self.DRIVER_PATH_ENV_KEY: return os.getenv(self.DRIVER_PATH_ENV_KEY, None) - return None
+ return None
+
+
-
-
+
-
+
+ + + \ No newline at end of file diff --git a/docs/api/py/_modules/selenium/webdriver/common/timeouts.html b/docs/api/py/_modules/selenium/webdriver/common/timeouts.html index d6f49493b930b..0c32f2db1bfe1 100644 --- a/docs/api/py/_modules/selenium/webdriver/common/timeouts.html +++ b/docs/api/py/_modules/selenium/webdriver/common/timeouts.html @@ -1,54 +1,210 @@ - + - selenium.webdriver.common.timeouts — Selenium 4.29.0.202501201850 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + selenium.webdriver.common.timeouts — Selenium 4.30.0 documentation - + + + + + + + + + + + + + + + + + + + + + + + + Skip to content +
+ +
+ + +
- - - - - - - + +
+
+ +
+ +
+
+
+
+ + +
+
+
+ +
+
-

Source code for selenium.webdriver.common.timeouts

+  

Source code for selenium.webdriver.common.timeouts

 # Licensed to the Software Freedom Conservancy (SFC) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
 # regarding copyright ownership.  The SFC licenses this file
 # to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
+# "License"); you may not use this file except in compliance
 # with the License.  You may obtain a copy of the License at
 #
 #   http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing,
 # software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
@@ -70,12 +226,12 @@ 

Source code for selenium.webdriver.common.timeouts

class _TimeoutsDescriptor: - """Get or set the value of the attributes listed below. + """Get or set the value of the attributes listed below. _implicit_wait _page_load _script This does not set the value on the remote end. - """ + """ def __init__(self, name): self.name = name @@ -84,13 +240,15 @@

Source code for selenium.webdriver.common.timeouts

return getattr(obj, self.name) / 1000 def __set__(self, obj, value) -> None: - converted_value = getattr(obj, "_convert")(value) + converted_value = getattr(obj, "_convert")(value) setattr(obj, self.name, converted_value) -
[docs]class Timeouts: +
+[docs] +class Timeouts: def __init__(self, implicit_wait: float = 0, page_load: float = 0, script: float = 0) -> None: - """Create a new Timeouts object. + """Create a new Timeouts object. This implements https://w3c.github.io/webdriver/#timeouts. @@ -104,118 +262,109 @@

Source code for selenium.webdriver.common.timeouts

- script - Either an int or a float. Set how many seconds to wait for an asynchronous script to finish execution before throwing an error. - """ + """ self._implicit_wait = self._convert(implicit_wait) self._page_load = self._convert(page_load) self._script = self._convert(script) # Creating descriptor objects - implicit_wait = _TimeoutsDescriptor("_implicit_wait") - """Get or set how many seconds to wait when searching for elements. + implicit_wait = _TimeoutsDescriptor("_implicit_wait") + """Get or set how many seconds to wait when searching for elements. This does not set the value on the remote end. - Usage - ----- + Usage: + ------ - Get - `self.implicit_wait` - Set - `self.implicit_wait` = `value` - Parameters - ---------- + Parameters: + ----------- `value`: `float` - """ + """ - page_load = _TimeoutsDescriptor("_page_load") - """Get or set how many seconds to wait for the page to load. + page_load = _TimeoutsDescriptor("_page_load") + """Get or set how many seconds to wait for the page to load. This does not set the value on the remote end. - Usage - ----- + Usage: + ------ - Get - `self.page_load` - Set - `self.page_load` = `value` - Parameters - ---------- + Parameters: + ----------- `value`: `float` - """ + """ - script = _TimeoutsDescriptor("_script") - """Get or set how many seconds to wait for an asynchronous script to finish + script = _TimeoutsDescriptor("_script") + """Get or set how many seconds to wait for an asynchronous script to finish execution. This does not set the value on the remote end. - Usage + Usage: ------ - Get - `self.script` - Set - `self.script` = `value` - Parameters + Parameters: ----------- `value`: `float` - """ + """ def _convert(self, timeout: float) -> int: if isinstance(timeout, (int, float)): return int(float(timeout) * 1000) - raise TypeError("Timeouts can only be an int or a float") + raise TypeError("Timeouts can only be an int or a float") def _to_json(self) -> JSONTimeouts: timeouts: JSONTimeouts = {} if self._implicit_wait: - timeouts["implicit"] = self._implicit_wait + timeouts["implicit"] = self._implicit_wait if self._page_load: - timeouts["pageLoad"] = self._page_load + timeouts["pageLoad"] = self._page_load if self._script: - timeouts["script"] = self._script + timeouts["script"] = self._script return timeouts
+
-
-
+
-
+
+ + + \ No newline at end of file diff --git a/docs/api/py/_modules/selenium/webdriver/common/utils.html b/docs/api/py/_modules/selenium/webdriver/common/utils.html index 727a45e4566e3..ff220f10e7b06 100644 --- a/docs/api/py/_modules/selenium/webdriver/common/utils.html +++ b/docs/api/py/_modules/selenium/webdriver/common/utils.html @@ -1,58 +1,214 @@ - + - selenium.webdriver.common.utils — Selenium 4.29.0.202501201850 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + selenium.webdriver.common.utils — Selenium 4.30.0 documentation - + + + + + + + + + + + + + + + + + + + + + + + + Skip to content +
+ +
+ + +
- - - - - - - + +
+
+ +
+ +
+
+
+
+ + +
+
+
+ +
+
-

Source code for selenium.webdriver.common.utils

+  

Source code for selenium.webdriver.common.utils

 # Licensed to the Software Freedom Conservancy (SFC) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
 # regarding copyright ownership.  The SFC licenses this file
 # to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
+# "License"); you may not use this file except in compliance
 # with the License.  You may obtain a copy of the License at
 #
 #   http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing,
 # software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-"""The Utils methods."""
+"""The Utils methods."""
 
 import socket
 from typing import Iterable
@@ -66,20 +222,25 @@ 

Source code for selenium.webdriver.common.utils

< _is_connectable_exceptions = (socket.error, ConnectionResetError) -
[docs]def free_port() -> int: - """Determines a free port using sockets.""" +
+[docs] +def free_port() -> int: + """Determines a free port using sockets.""" free_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) - free_socket.bind(("127.0.0.1", 0)) + free_socket.bind(("127.0.0.1", 0)) free_socket.listen(5) port: int = free_socket.getsockname()[1] free_socket.close() return port
-
[docs]def find_connectable_ip(host: Union[str, bytes, bytearray, None], port: Optional[int] = None) -> Optional[str]: - """Resolve a hostname to an IP, preferring IPv4 addresses. - We prefer IPv4 so that we don't change behavior from previous IPv4-only +
+[docs] +def find_connectable_ip(host: Union[str, bytes, bytearray, None], port: Optional[int] = None) -> Optional[str]: + """Resolve a hostname to an IP, preferring IPv4 addresses. + + We prefer IPv4 so that we don't change behavior from previous IPv4-only implementations, and because some drivers (e.g., FirefoxDriver) do not support IPv6 connections. @@ -94,7 +255,7 @@

Source code for selenium.webdriver.common.utils

< A single IP address, as a string. If any IPv4 address is found, one is returned. Otherwise, if any IPv6 address is found, one is returned. If neither, then None is returned. - """ + """ try: addrinfos = socket.getaddrinfo(host, None) except socket.gaierror: @@ -113,27 +274,33 @@

Source code for selenium.webdriver.common.utils

< return ip
-
[docs]def join_host_port(host: str, port: int) -> str: - """Joins a hostname and port together. + +
+[docs] +def join_host_port(host: str, port: int) -> str: + """Joins a hostname and port together. This is a minimal implementation intended to cope with IPv6 literals. For - example, _join_host_port('::1', 80) == '[::1]:80'. + example, _join_host_port('::1', 80) == '[::1]:80'. :Args: - host - A hostname. - port - An integer port. - """ - if ":" in host and not host.startswith("["): - return f"[{host}]:{port}" - return f"{host}:{port}"
+ """ + if ":" in host and not host.startswith("["): + return f"[{host}]:{port}" + return f"{host}:{port}"
+ -
[docs]def is_connectable(port: int, host: Optional[str] = "localhost") -> bool: - """Tries to connect to the server at port to see if it is running. +
+[docs] +def is_connectable(port: int, host: Optional[str] = "localhost") -> bool: + """Tries to connect to the server at port to see if it is running. :Args: - port - The port to connect. - """ + """ socket_ = None try: socket_ = socket.create_connection((host, port), 1) @@ -142,28 +309,38 @@

Source code for selenium.webdriver.common.utils

< result = False finally: if socket_: + try: + socket_.shutdown(socket.SHUT_RDWR) + except Exception: + pass socket_.close() return result
-
[docs]def is_url_connectable(port: Union[int, str]) -> bool: - """Tries to connect to the HTTP server at /status path and specified port + +
+[docs] +def is_url_connectable(port: Union[int, str]) -> bool: + """Tries to connect to the HTTP server at /status path and specified port to see if it responds successfully. :Args: - port - The port to connect. - """ + """ from urllib import request as url_request try: - res = url_request.urlopen(f"http://127.0.0.1:{port}/status") + res = url_request.urlopen(f"http://127.0.0.1:{port}/status") return res.getcode() == 200 except Exception: return False
-
[docs]def keys_to_typing(value: Iterable[AnyKey]) -> List[str]: - """Processes the values that will be typed in the element.""" + +
+[docs] +def keys_to_typing(value: Iterable[AnyKey]) -> List[str]: + """Processes the values that will be typed in the element.""" characters: List[str] = [] for val in value: if isinstance(val, Keys): @@ -174,44 +351,35 @@

Source code for selenium.webdriver.common.utils

< else: characters.extend(val) return characters
+
-
-
+
-
+
+ + + \ No newline at end of file diff --git a/docs/api/py/_modules/selenium/webdriver/common/virtual_authenticator.html b/docs/api/py/_modules/selenium/webdriver/common/virtual_authenticator.html index 05ff96d9828b5..1933897fe982a 100644 --- a/docs/api/py/_modules/selenium/webdriver/common/virtual_authenticator.html +++ b/docs/api/py/_modules/selenium/webdriver/common/virtual_authenticator.html @@ -1,54 +1,210 @@ - + - selenium.webdriver.common.virtual_authenticator — Selenium 4.29.0.202501201850 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + selenium.webdriver.common.virtual_authenticator — Selenium 4.30.0 documentation - + + + + + + + + + + + + + + + + + + + + + + + + Skip to content +
+ +
+ + +
- - - - - - - + +
+
+ +
+ +
+
+
+
+ + +
+
+
+ +
+
-

Source code for selenium.webdriver.common.virtual_authenticator

+  

Source code for selenium.webdriver.common.virtual_authenticator

 # Licensed to the Software Freedom Conservancy (SFC) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
 # regarding copyright ownership.  The SFC licenses this file
 # to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
+# "License"); you may not use this file except in compliance
 # with the License.  You may obtain a copy of the License at
 #
 #   http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing,
 # software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
@@ -63,24 +219,32 @@ 

Source code for selenium.webdriver.common.virtual_authenticator

from typing import Union -
[docs]class Protocol(str, Enum): - """Protocol to communicate with the authenticator.""" +
+[docs] +class Protocol(str, Enum): + """Protocol to communicate with the authenticator.""" + + CTAP2: str = "ctap2" + U2F: str = "ctap1/u2f"
- CTAP2: str = "ctap2" - U2F: str = "ctap1/u2f"
-
[docs]class Transport(str, Enum): - """Transport method to communicate with the authenticator.""" +
+[docs] +class Transport(str, Enum): + """Transport method to communicate with the authenticator.""" - BLE: str = "ble" - USB: str = "usb" - NFC: str = "nfc" - INTERNAL: str = "internal"
+ BLE: str = "ble" + USB: str = "usb" + NFC: str = "nfc" + INTERNAL: str = "internal"
-
[docs]class VirtualAuthenticatorOptions: - # These are so unnecessary but are now public API so we can't remove them without deprecating first. + +
+[docs] +class VirtualAuthenticatorOptions: + # These are so unnecessary but are now public API so we can't remove them without deprecating first. # These should not be class level state in here. Protocol = Protocol Transport = Transport @@ -94,10 +258,10 @@

Source code for selenium.webdriver.common.virtual_authenticator

is_user_consenting: bool = True, is_user_verified: bool = False, ) -> None: - """Constructor. + """Constructor. Initialize VirtualAuthenticatorOptions object. - """ + """ self.protocol: str = protocol self.transport: str = transport @@ -106,18 +270,24 @@

Source code for selenium.webdriver.common.virtual_authenticator

self.is_user_consenting: bool = is_user_consenting self.is_user_verified: bool = is_user_verified -
[docs] def to_dict(self) -> Dict[str, Union[str, bool]]: +
+[docs] + def to_dict(self) -> Dict[str, Union[str, bool]]: return { - "protocol": self.protocol, - "transport": self.transport, - "hasResidentKey": self.has_resident_key, - "hasUserVerification": self.has_user_verification, - "isUserConsenting": self.is_user_consenting, - "isUserVerified": self.is_user_verified, - }
+ "protocol": self.protocol, + "transport": self.transport, + "hasResidentKey": self.has_resident_key, + "hasUserVerification": self.has_user_verification, + "isUserConsenting": self.is_user_consenting, + "isUserVerified": self.is_user_verified, + }
+
-
[docs]class Credential: + +
+[docs] +class Credential: def __init__( self, credential_id: bytes, @@ -127,7 +297,7 @@

Source code for selenium.webdriver.common.virtual_authenticator

private_key: bytes, sign_count: int, ): - """Constructor. A credential stored in a virtual authenticator. + """Constructor. A credential stored in a virtual authenticator. https://w3c.github.io/webauthn/#credential-parameters. :Args: @@ -137,7 +307,7 @@

Source code for selenium.webdriver.common.virtual_authenticator

- user_handle (bytes): userHandle associated to the credential. Must be Base64 encoded string. Can be None. - private_key (bytes): Base64 encoded PKCS#8 private key. - sign_count (int): intital value for a signature counter. - """ + """ self._id = credential_id self._is_resident_credential = is_resident_credential self._rp_id = rp_id @@ -171,9 +341,11 @@

Source code for selenium.webdriver.common.virtual_authenticator

def sign_count(self) -> int: return self._sign_count -
[docs] @classmethod - def create_non_resident_credential(cls, id: bytes, rp_id: str, private_key: bytes, sign_count: int) -> "Credential": - """Creates a non-resident (i.e. stateless) credential. +
+[docs] + @classmethod + def create_non_resident_credential(cls, id: bytes, rp_id: str, private_key: bytes, sign_count: int) -> "Credential": + """Creates a non-resident (i.e. stateless) credential. :Args: - id (bytes): Unique base64 encoded string. @@ -183,14 +355,17 @@

Source code for selenium.webdriver.common.virtual_authenticator

:Returns: - Credential: A non-resident credential. - """ + """ return cls(id, False, rp_id, None, private_key, sign_count)
-
[docs] @classmethod + +
+[docs] + @classmethod def create_resident_credential( cls, id: bytes, rp_id: str, user_handle: Optional[bytes], private_key: bytes, sign_count: int - ) -> "Credential": - """Creates a resident (i.e. stateful) credential. + ) -> "Credential": + """Creates a resident (i.e. stateful) credential. :Args: - id (bytes): Unique base64 encoded string. @@ -201,104 +376,108 @@

Source code for selenium.webdriver.common.virtual_authenticator

:returns: - Credential: A resident credential. - """ + """ return cls(id, True, rp_id, user_handle, private_key, sign_count)
-
[docs] def to_dict(self) -> Dict[str, Any]: + +
+[docs] + def to_dict(self) -> Dict[str, Any]: credential_data = { - "credentialId": self.id, - "isResidentCredential": self._is_resident_credential, - "rpId": self.rp_id, - "privateKey": self.private_key, - "signCount": self.sign_count, + "credentialId": self.id, + "isResidentCredential": self._is_resident_credential, + "rpId": self.rp_id, + "privateKey": self.private_key, + "signCount": self.sign_count, } if self.user_handle: - credential_data["userHandle"] = self.user_handle + credential_data["userHandle"] = self.user_handle return credential_data
-
[docs] @classmethod - def from_dict(cls, data: Dict[str, Any]) -> "Credential": - _id = urlsafe_b64decode(f"{data['credentialId']}==") - is_resident_credential = bool(data["isResidentCredential"]) - rp_id = data.get("rpId", None) - private_key = urlsafe_b64decode(f"{data['privateKey']}==") - sign_count = int(data["signCount"]) - user_handle = urlsafe_b64decode(f"{data['userHandle']}==") if data.get("userHandle", None) else None + +
+[docs] + @classmethod + def from_dict(cls, data: Dict[str, Any]) -> "Credential": + _id = urlsafe_b64decode(f"{data['credentialId']}==") + is_resident_credential = bool(data["isResidentCredential"]) + rp_id = data.get("rpId", None) + private_key = urlsafe_b64decode(f"{data['privateKey']}==") + sign_count = int(data["signCount"]) + user_handle = urlsafe_b64decode(f"{data['userHandle']}==") if data.get("userHandle", None) else None return cls(_id, is_resident_credential, rp_id, user_handle, private_key, sign_count)
+ def __str__(self) -> str: - return f"Credential(id={self.id}, is_resident_credential={self.is_resident_credential}, rp_id={self.rp_id},\ - user_handle={self.user_handle}, private_key={self.private_key}, sign_count={self.sign_count})"
+ return f"Credential(id={self.id}, is_resident_credential={self.is_resident_credential}, rp_id={self.rp_id},\ + user_handle={self.user_handle}, private_key={self.private_key}, sign_count={self.sign_count})"
-
[docs]def required_chromium_based_browser(func): - """A decorator to ensure that the client used is a chromium based - browser.""" + +
+[docs] +def required_chromium_based_browser(func): + """A decorator to ensure that the client used is a chromium based + browser.""" @functools.wraps(func) def wrapper(self, *args, **kwargs): - assert self.caps["browserName"].lower() not in [ - "firefox", - "safari", - ], "This only currently works in Chromium based browsers" + assert self.caps["browserName"].lower() not in [ + "firefox", + "safari", + ], "This only currently works in Chromium based browsers" return func(self, *args, **kwargs) return wrapper
-
[docs]def required_virtual_authenticator(func): - """A decorator to ensure that the function is called with a virtual - authenticator.""" + +
+[docs] +def required_virtual_authenticator(func): + """A decorator to ensure that the function is called with a virtual + authenticator.""" @functools.wraps(func) @required_chromium_based_browser def wrapper(self, *args, **kwargs): if not self.virtual_authenticator_id: - raise ValueError("This function requires a virtual authenticator to be set.") + raise ValueError("This function requires a virtual authenticator to be set.") return func(self, *args, **kwargs) return wrapper
+
-
-
+
-
+
+ + + \ No newline at end of file diff --git a/docs/api/py/_modules/selenium/webdriver/common/window.html b/docs/api/py/_modules/selenium/webdriver/common/window.html index 5f0df9333abbe..cb8b4bc2ffcb6 100644 --- a/docs/api/py/_modules/selenium/webdriver/common/window.html +++ b/docs/api/py/_modules/selenium/webdriver/common/window.html @@ -1,103 +1,252 @@ - + - selenium.webdriver.common.window — Selenium 4.29.0.202501201850 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + selenium.webdriver.common.window — Selenium 4.30.0 documentation - + + + + + + + + + + + + + + + + + + + + + + + + Skip to content +
+ +
+ + +
- - - - - - - + +
+
+ +
+ +
+
+
+
+ + +
+
+
+ +
+
-

Source code for selenium.webdriver.common.window

+  

Source code for selenium.webdriver.common.window

 # Licensed to the Software Freedom Conservancy (SFC) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
 # regarding copyright ownership.  The SFC licenses this file
 # to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
+# "License"); you may not use this file except in compliance
 # with the License.  You may obtain a copy of the License at
 #
 #   http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing,
 # software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-"""The WindowTypes implementation."""
+"""The WindowTypes implementation."""
+
 
+
+[docs] +class WindowTypes: + """Set of supported window types.""" -
[docs]class WindowTypes: - """Set of supported window types.""" + TAB = "tab" + WINDOW = "window"
- TAB = "tab" - WINDOW = "window"
-
-
+
-
+
+ + + \ No newline at end of file diff --git a/docs/api/py/_modules/selenium/webdriver/edge/options.html b/docs/api/py/_modules/selenium/webdriver/edge/options.html index 7ea0103b707ca..a08ea681de440 100644 --- a/docs/api/py/_modules/selenium/webdriver/edge/options.html +++ b/docs/api/py/_modules/selenium/webdriver/edge/options.html @@ -1,54 +1,210 @@ - + - selenium.webdriver.edge.options — Selenium 4.29.0.202501201850 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + selenium.webdriver.edge.options — Selenium 4.30.0 documentation - + + + + + + + + + + + + + + + + + + + + + + + + Skip to content +
+ +
+ + +
- - - - - - - + +
+
+ +
+
+ +
+
+
+
+
+ + +
+
+
+ +
+
-

Source code for selenium.webdriver.edge.options

+  

Source code for selenium.webdriver.edge.options

 # Licensed to the Software Freedom Conservancy (SFC) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
 # regarding copyright ownership.  The SFC licenses this file
 # to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
+# "License"); you may not use this file except in compliance
 # with the License.  You may obtain a copy of the License at
 #
 #   http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing,
 # software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
@@ -57,8 +213,10 @@ 

Source code for selenium.webdriver.edge.options

< from selenium.webdriver.common.desired_capabilities import DesiredCapabilities -
[docs]class Options(ChromiumOptions): - KEY = "ms:edgeOptions" +
+[docs] +class Options(ChromiumOptions): + KEY = "ms:edgeOptions" def __init__(self) -> None: super().__init__() @@ -72,56 +230,50 @@

Source code for selenium.webdriver.edge.options

< def use_webview(self, value: bool) -> None: self._use_webview = bool(value) -
[docs] def to_capabilities(self) -> dict: - """Creates a capabilities with all the options that have been set and - :Returns: A dictionary with everything.""" +
+[docs] + def to_capabilities(self) -> dict: + """Creates a capabilities with all the options that have been set and + :Returns: A dictionary with everything.""" caps = super().to_capabilities() if self._use_webview: - caps["browserName"] = "webview2" + caps["browserName"] = "webview2" return caps
+ @property def default_capabilities(self) -> dict: return DesiredCapabilities.EDGE.copy()
+
-
-
+
-
+
+ + + \ No newline at end of file diff --git a/docs/api/py/_modules/selenium/webdriver/edge/remote_connection.html b/docs/api/py/_modules/selenium/webdriver/edge/remote_connection.html index fc70bd985012d..65532a769169d 100644 --- a/docs/api/py/_modules/selenium/webdriver/edge/remote_connection.html +++ b/docs/api/py/_modules/selenium/webdriver/edge/remote_connection.html @@ -1,54 +1,210 @@ - + - selenium.webdriver.edge.remote_connection — Selenium 4.29.0.202501201850 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + selenium.webdriver.edge.remote_connection — Selenium 4.30.0 documentation - + + + + + + + + + + + + + + + + + + + + + + + + Skip to content +
+ +
+ + +
- - - - - - - + +
+
+ +
+ +
+
+
+
+ + +
+
+
+ +
+
-

Source code for selenium.webdriver.edge.remote_connection

+  

Source code for selenium.webdriver.edge.remote_connection

 # Licensed to the Software Freedom Conservancy (SFC) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
 # regarding copyright ownership.  The SFC licenses this file
 # to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
+# "License"); you may not use this file except in compliance
 # with the License.  You may obtain a copy of the License at
 #
 #   http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing,
 # software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
@@ -60,8 +216,10 @@ 

Source code for selenium.webdriver.edge.remote_connection

from selenium.webdriver.remote.client_config import ClientConfig -
[docs]class EdgeRemoteConnection(ChromiumRemoteConnection): - browser_name = DesiredCapabilities.EDGE["browserName"] +
+[docs] +class EdgeRemoteConnection(ChromiumRemoteConnection): + browser_name = DesiredCapabilities.EDGE["browserName"] def __init__( self, @@ -72,50 +230,41 @@

Source code for selenium.webdriver.edge.remote_connection

) -> None: super().__init__( remote_server_addr=remote_server_addr, - vendor_prefix="goog", + vendor_prefix="goog", browser_name=EdgeRemoteConnection.browser_name, keep_alive=keep_alive, ignore_proxy=ignore_proxy, client_config=client_config, )
+
-
-
+
-
+
+ + + \ No newline at end of file diff --git a/docs/api/py/_modules/selenium/webdriver/edge/service.html b/docs/api/py/_modules/selenium/webdriver/edge/service.html index e288ebf2e6823..0a2881485d82b 100644 --- a/docs/api/py/_modules/selenium/webdriver/edge/service.html +++ b/docs/api/py/_modules/selenium/webdriver/edge/service.html @@ -1,54 +1,210 @@ - + - selenium.webdriver.edge.service — Selenium 4.29.0.202501201850 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + selenium.webdriver.edge.service — Selenium 4.30.0 documentation - + + + + + + + + + + + + + + + + + + + + + + + + Skip to content +
+ +
+ + +
- - - - - - - + +
+
+ +
+ +
+
+
+
+ + +
+
+
+ +
+
-

Source code for selenium.webdriver.edge.service

+  

Source code for selenium.webdriver.edge.service

 # Licensed to the Software Freedom Conservancy (SFC) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
 # regarding copyright ownership.  The SFC licenses this file
 # to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
+# "License"); you may not use this file except in compliance
 # with the License.  You may obtain a copy of the License at
 #
 #   http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing,
 # software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
@@ -61,8 +217,10 @@ 

Source code for selenium.webdriver.edge.service

< from selenium.webdriver.chromium import service -
[docs]class Service(service.ChromiumService): - """A Service class that is responsible for the starting and stopping of +
+[docs] +class Service(service.ChromiumService): + """A Service class that is responsible for the starting and stopping of `msedgedriver`. :param executable_path: install path of the msedgedriver executable, defaults to `msedgedriver`. @@ -71,7 +229,7 @@

Source code for selenium.webdriver.edge.service

< :param service_args: (Optional) List of args to be passed to the subprocess when launching the executable. :param env: (Optional) Mapping of environment variables for the new process, defaults to `os.environ`. :param driver_path_env_key: (Optional) Environment variable to use to get the path to the driver executable. - """ + """ def __init__( self, @@ -84,7 +242,7 @@

Source code for selenium.webdriver.edge.service

< **kwargs, ) -> None: self.service_args = service_args or [] - driver_path_env_key = driver_path_env_key or "SE_EDGEDRIVER" + driver_path_env_key = driver_path_env_key or "SE_EDGEDRIVER" super().__init__( executable_path=executable_path, @@ -95,44 +253,35 @@

Source code for selenium.webdriver.edge.service

< driver_path_env_key=driver_path_env_key, **kwargs, )
+
-
-
+
-
+
+ + + \ No newline at end of file diff --git a/docs/api/py/_modules/selenium/webdriver/edge/webdriver.html b/docs/api/py/_modules/selenium/webdriver/edge/webdriver.html index eb6b45c590343..259ce1f1165ba 100644 --- a/docs/api/py/_modules/selenium/webdriver/edge/webdriver.html +++ b/docs/api/py/_modules/selenium/webdriver/edge/webdriver.html @@ -1,54 +1,210 @@ - + - selenium.webdriver.edge.webdriver — Selenium 4.29.0.202501201850 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + selenium.webdriver.edge.webdriver — Selenium 4.30.0 documentation - + + + + + + + + + + + + + + + + + + + + + + + + Skip to content +
+ +
+ + +
- - - - - - - + +
+
+ +
+ +
+
+
+
+ + +
+
+
+ +
+
-

Source code for selenium.webdriver.edge.webdriver

+  

Source code for selenium.webdriver.edge.webdriver

 # Licensed to the Software Freedom Conservancy (SFC) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
 # regarding copyright ownership.  The SFC licenses this file
 # to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
+# "License"); you may not use this file except in compliance
 # with the License.  You may obtain a copy of the License at
 #
 #   http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing,
 # software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
@@ -60,8 +216,10 @@ 

Source code for selenium.webdriver.edge.webdriver

from .service import Service -
[docs]class WebDriver(ChromiumDriver): - """Controls the MSEdgeDriver and allows you to drive the browser.""" +
+[docs] +class WebDriver(ChromiumDriver): + """Controls the MSEdgeDriver and allows you to drive the browser.""" def __init__( self, @@ -69,62 +227,53 @@

Source code for selenium.webdriver.edge.webdriver

service: Service = None, keep_alive: bool = True, ) -> None: - """Creates a new instance of the edge driver. Starts the service and + """Creates a new instance of the edge driver. Starts the service and then creates new instance of edge driver. :Args: - options - this takes an instance of EdgeOptions - service - Service object for handling the browser driver if you need to pass extra details - keep_alive - Whether to configure EdgeRemoteConnection to use HTTP keep-alive. - """ + """ service = service if service else Service() options = options if options else Options() super().__init__( - browser_name=DesiredCapabilities.EDGE["browserName"], - vendor_prefix="ms", + browser_name=DesiredCapabilities.EDGE["browserName"], + vendor_prefix="ms", options=options, service=service, keep_alive=keep_alive, )
+
-
-
+
-
+
+ + + \ No newline at end of file diff --git a/docs/api/py/_modules/selenium/webdriver/firefox/firefox_binary.html b/docs/api/py/_modules/selenium/webdriver/firefox/firefox_binary.html index f9dec44b3d435..68900acd7e6b4 100644 --- a/docs/api/py/_modules/selenium/webdriver/firefox/firefox_binary.html +++ b/docs/api/py/_modules/selenium/webdriver/firefox/firefox_binary.html @@ -1,54 +1,210 @@ - + - selenium.webdriver.firefox.firefox_binary — Selenium 4.29.0.202501201850 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + selenium.webdriver.firefox.firefox_binary — Selenium 4.30.0 documentation - + + + + + + + + + + + + + + + + + + + + + + + + Skip to content +
+ +
+ + +
- - - - - - - + +
+
+ +
+ +
+
+
+
+ + +
+
+
+ +
+
-

Source code for selenium.webdriver.firefox.firefox_binary

+  

Source code for selenium.webdriver.firefox.firefox_binary

 # Licensed to the Software Freedom Conservancy (SFC) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
 # regarding copyright ownership.  The SFC licenses this file
 # to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
+# "License"); you may not use this file except in compliance
 # with the License.  You may obtain a copy of the License at
 #
 #   http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing,
 # software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
@@ -67,19 +223,21 @@ 

Source code for selenium.webdriver.firefox.firefox_binary

from selenium.webdriver.common import utils -
[docs]@deprecated("Use binary_location property in Firefox Options to set location") +
+[docs] +@deprecated("Use binary_location property in Firefox Options to set location") class FirefoxBinary: - NO_FOCUS_LIBRARY_NAME = "x_ignore_nofocus.so" + NO_FOCUS_LIBRARY_NAME = "x_ignore_nofocus.so" def __init__(self, firefox_path=None, log_file=None): - """Creates a new instance of Firefox binary. + """Creates a new instance of Firefox binary. :Args: - firefox_path - Path to the Firefox executable. By default, it will be detected from the standard locations. - log_file - A file object to redirect the firefox process output to. It can be sys.stdout. - Please note that with parallel run the output won't be synchronous. + Please note that with parallel run the output won't be synchronous. By default, it will be redirected to /dev/null. - """ + """ self._start_cmd = firefox_path # We used to default to subprocess.PIPE instead of /dev/null, but after # a while the pipe would fill up and Firefox would freeze. @@ -90,71 +248,80 @@

Source code for selenium.webdriver.firefox.firefox_binary

self._start_cmd = self._get_firefox_start_cmd() if not self._start_cmd.strip(): raise WebDriverException( - "Failed to find firefox binary. You can set it by specifying " - "the path to 'firefox_binary':\n\nfrom " - "selenium.webdriver.firefox.firefox_binary import " - "FirefoxBinary\n\nbinary = " - "FirefoxBinary('/path/to/binary')\ndriver = " - "webdriver.Firefox(firefox_binary=binary)" + "Failed to find firefox binary. You can set it by specifying " + "the path to 'firefox_binary':\n\nfrom " + "selenium.webdriver.firefox.firefox_binary import " + "FirefoxBinary\n\nbinary = " + "FirefoxBinary('/path/to/binary')\ndriver = " + "webdriver.Firefox(firefox_binary=binary)" ) # Rather than modifying the environment of the calling Python process # copy it and modify as needed. self._firefox_env = os.environ.copy() - self._firefox_env["MOZ_CRASHREPORTER_DISABLE"] = "1" - self._firefox_env["MOZ_NO_REMOTE"] = "1" - self._firefox_env["NO_EM_RESTART"] = "1" + self._firefox_env["MOZ_CRASHREPORTER_DISABLE"] = "1" + self._firefox_env["MOZ_NO_REMOTE"] = "1" + self._firefox_env["NO_EM_RESTART"] = "1" -
[docs] def add_command_line_options(self, *args): +
+[docs] + def add_command_line_options(self, *args): self.command_line = args
-
[docs] def launch_browser(self, profile, timeout=30): - """Launches the browser for the given profile name. + +
+[docs] + def launch_browser(self, profile, timeout=30): + """Launches the browser for the given profile name. It is assumed the profile already exists. - """ + """ self.profile = profile self._start_from_profile_path(self.profile.path) self._wait_until_connectable(timeout=timeout)
-
[docs] def kill(self): - """Kill the browser. + +
+[docs] + def kill(self): + """Kill the browser. This is useful when the browser is stuck. - """ + """ if self.process: self.process.kill() self.process.wait()
+ def _start_from_profile_path(self, path): - self._firefox_env["XRE_PROFILE_PATH"] = path + self._firefox_env["XRE_PROFILE_PATH"] = path - if self.platform == "linux": + if self.platform == "linux": self._modify_link_library_path() - command = [self._start_cmd, "-foreground"] + command = [self._start_cmd, "-foreground"] if self.command_line: for cli in self.command_line: command.append(cli) self.process = Popen(command, stdout=self._log_file, stderr=STDOUT, env=self._firefox_env) def _wait_until_connectable(self, timeout=30): - """Blocks until the extension is connectable in the firefox.""" + """Blocks until the extension is connectable in the firefox.""" count = 0 while not utils.is_connectable(self.profile.port): if self.process.poll(): # Browser has exited raise WebDriverException( - "The browser appears to have exited " - "before we could connect. If you specified a log_file in " - "the FirefoxBinary constructor, check it for details." + "The browser appears to have exited " + "before we could connect. If you specified a log_file in " + "the FirefoxBinary constructor, check it for details." ) if count >= timeout: self.kill() raise WebDriverException( - "Can't load the profile. Possible firefox version mismatch. " - "You must use GeckoDriver instead for Firefox 48+. Profile " - f"Dir: {self.profile.path} If you specified a log_file in the " - "FirefoxBinary constructor, check it for details." + "Can't load the profile. Possible firefox version mismatch. " + "You must use GeckoDriver instead for Firefox 48+. Profile " + f"Dir: {self.profile.path} If you specified a log_file in the " + "FirefoxBinary constructor, check it for details." ) count += 1 time.sleep(1) @@ -171,83 +338,83 @@

Source code for selenium.webdriver.firefox.firefox_binary

import shlex keys = ( - r"SOFTWARE\Classes\FirefoxHTML\shell\open\command", - r"SOFTWARE\Classes\Applications\firefox.exe\shell\open\command", + r"SOFTWARE\Classes\FirefoxHTML\shell\open\command", + r"SOFTWARE\Classes\Applications\firefox.exe\shell\open\command", ) - command = "" + command = "" for path in keys: try: key = OpenKey(HKEY_LOCAL_MACHINE, path) - command = QueryValue(key, "") + command = QueryValue(key, "") break except OSError: try: key = OpenKey(HKEY_CURRENT_USER, path) - command = QueryValue(key, "") + command = QueryValue(key, "") break except OSError: pass else: - return "" + return "" if not command: - return "" + return "" return shlex.split(command)[0] def _get_firefox_start_cmd(self): - """Return the command to start firefox.""" - start_cmd = "" - if self.platform == "darwin": # small darwin due to lower() in self.platform - ffname = "firefox" + """Return the command to start firefox.""" + start_cmd = "" + if self.platform == "darwin": # small darwin due to lower() in self.platform + ffname = "firefox" start_cmd = self.which(ffname) # use hardcoded path if nothing else was found by which() if not start_cmd: - start_cmd = "/Applications/Firefox.app/Contents/MacOS/firefox" + start_cmd = "/Applications/Firefox.app/Contents/MacOS/firefox" # fallback to homebrew installation for mac users if not os.path.exists(start_cmd): - start_cmd = os.path.expanduser("~") + start_cmd - elif self.platform == "windows": # same + start_cmd = os.path.expanduser("~") + start_cmd + elif self.platform == "windows": # same start_cmd = self._find_exe_in_registry() or self._default_windows_location() - elif self.platform == "java" and os.name == "nt": + elif self.platform == "java" and os.name == "nt": start_cmd = self._default_windows_location() else: - for ffname in ["firefox", "iceweasel"]: + for ffname in ["firefox", "iceweasel"]: start_cmd = self.which(ffname) if start_cmd: break else: - # couldn't find firefox on the system path + # couldn't find firefox on the system path raise RuntimeError( - "Could not find firefox in your system PATH." - " Please specify the firefox binary location or install firefox" + "Could not find firefox in your system PATH." + " Please specify the firefox binary location or install firefox" ) return start_cmd def _default_windows_location(self): program_files = [ - os.getenv("PROGRAMFILES", r"C:\Program Files"), - os.getenv("PROGRAMFILES(X86)", r"C:\Program Files (x86)"), + os.getenv("PROGRAMFILES", r"C:\Program Files"), + os.getenv("PROGRAMFILES(X86)", r"C:\Program Files (x86)"), ] for path in program_files: - binary_path = os.path.join(path, r"Mozilla Firefox\firefox.exe") + binary_path = os.path.join(path, r"Mozilla Firefox\firefox.exe") if os.access(binary_path, os.X_OK): return binary_path - return "" + return "" def _modify_link_library_path(self): - existing_ld_lib_path = os.environ.get("LD_LIBRARY_PATH", "") + existing_ld_lib_path = os.environ.get("LD_LIBRARY_PATH", "") - new_ld_lib_path = self._extract_and_check(self.profile, "x86", "amd64") + new_ld_lib_path = self._extract_and_check(self.profile, "x86", "amd64") new_ld_lib_path += existing_ld_lib_path - self._firefox_env["LD_LIBRARY_PATH"] = new_ld_lib_path - self._firefox_env["LD_PRELOAD"] = self.NO_FOCUS_LIBRARY_NAME + self._firefox_env["LD_LIBRARY_PATH"] = new_ld_lib_path + self._firefox_env["LD_PRELOAD"] = self.NO_FOCUS_LIBRARY_NAME def _extract_and_check(self, profile, x86, amd64): paths = [x86, amd64] - built_path = "" + built_path = "" for path in paths: library_path = os.path.join(profile.path, path) if not os.path.exists(library_path): @@ -255,56 +422,50 @@

Source code for selenium.webdriver.firefox.firefox_binary

import shutil shutil.copy(os.path.join(os.path.dirname(__file__), path, self.NO_FOCUS_LIBRARY_NAME), library_path) - built_path += library_path + ":" + built_path += library_path + ":" return built_path -
[docs] def which(self, fname): - """Returns the fully qualified path by searching Path of the given - name.""" - for pe in os.environ["PATH"].split(os.pathsep): +
+[docs] + def which(self, fname): + """Returns the fully qualified path by searching Path of the given + name.""" + for pe in os.environ["PATH"].split(os.pathsep): checkname = os.path.join(pe, fname) if os.access(checkname, os.X_OK) and not os.path.isdir(checkname): return checkname - return None
+ return None
+
+
-
-
+
-
+
+ + + \ No newline at end of file diff --git a/docs/api/py/_modules/selenium/webdriver/firefox/firefox_profile.html b/docs/api/py/_modules/selenium/webdriver/firefox/firefox_profile.html index da2ebbdc393d8..8645bf9925770 100644 --- a/docs/api/py/_modules/selenium/webdriver/firefox/firefox_profile.html +++ b/docs/api/py/_modules/selenium/webdriver/firefox/firefox_profile.html @@ -1,54 +1,210 @@ - + - selenium.webdriver.firefox.firefox_profile — Selenium 4.29.0.202501201850 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + selenium.webdriver.firefox.firefox_profile — Selenium 4.30.0 documentation - + + + + + + + + + + + + + + + + + + + + + + + + Skip to content +
+ +
+ + +
- - - - - - - + +
+
+ +
+ +
+
+
+
+ + +
+
+
+ +
+
-

Source code for selenium.webdriver.firefox.firefox_profile

+  

Source code for selenium.webdriver.firefox.firefox_profile

 # Licensed to the Software Freedom Conservancy (SFC) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
 # regarding copyright ownership.  The SFC licenses this file
 # to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
+# "License"); you may not use this file except in compliance
 # with the License.  You may obtain a copy of the License at
 #
 #   http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing,
 # software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
@@ -70,19 +226,24 @@ 

Source code for selenium.webdriver.firefox.firefox_profile

from selenium.common.exceptions import WebDriverException -WEBDRIVER_PREFERENCES = "webdriver_prefs.json" +WEBDRIVER_PREFERENCES = "webdriver_prefs.json" -
[docs]@deprecated("Addons must be added after starting the session") +
+[docs] +@deprecated("Addons must be added after starting the session") class AddonFormatError(Exception): - """Exception for not well-formed add-on manifest files."""
+ """Exception for not well-formed add-on manifest files."""
-
[docs]class FirefoxProfile: + +
+[docs] +class FirefoxProfile: DEFAULT_PREFERENCES = None def __init__(self, profile_directory=None): - """Initialises a new instance of a Firefox Profile. + """Initialises a new instance of a Firefox Profile. :args: - profile_directory: Directory of profile that you want to use. If a @@ -90,12 +251,12 @@

Source code for selenium.webdriver.firefox.firefox_profile

will be used by the driver when instantiated. This defaults to None and will create a new directory when object is created. - """ + """ self._desired_preferences = {} if profile_directory: - newprof = os.path.join(tempfile.mkdtemp(), "webdriver-py-profilecopy") + newprof = os.path.join(tempfile.mkdtemp(), "webdriver-py-profilecopy") shutil.copytree( - profile_directory, newprof, ignore=shutil.ignore_patterns("parent.lock", "lock", ".parentlock") + profile_directory, newprof, ignore=shutil.ignore_patterns("parent.lock", "lock", ".parentlock") ) self._profile_dir = newprof os.chmod(self._profile_dir, 0o755) @@ -103,154 +264,163 @@

Source code for selenium.webdriver.firefox.firefox_profile

self._profile_dir = tempfile.mkdtemp() if not FirefoxProfile.DEFAULT_PREFERENCES: with open( - os.path.join(os.path.dirname(__file__), WEBDRIVER_PREFERENCES), encoding="utf-8" + os.path.join(os.path.dirname(__file__), WEBDRIVER_PREFERENCES), encoding="utf-8" ) as default_prefs: FirefoxProfile.DEFAULT_PREFERENCES = json.load(default_prefs) - self._desired_preferences = copy.deepcopy(FirefoxProfile.DEFAULT_PREFERENCES["mutable"]) - for key, value in FirefoxProfile.DEFAULT_PREFERENCES["frozen"].items(): + self._desired_preferences = copy.deepcopy(FirefoxProfile.DEFAULT_PREFERENCES["mutable"]) + for key, value in FirefoxProfile.DEFAULT_PREFERENCES["frozen"].items(): self._desired_preferences[key] = value # Public Methods -
[docs] def set_preference(self, key, value): - """Sets the preference that we want in the profile.""" +
+[docs] + def set_preference(self, key, value): + """Sets the preference that we want in the profile.""" self._desired_preferences[key] = value
-
[docs] @deprecated("Addons must be added after starting the session") + +
+[docs] + @deprecated("Addons must be added after starting the session") def add_extension(self, extension=None): self._install_extension(extension)
-
[docs] def update_preferences(self): - """Writes the desired user prefs to disk.""" - user_prefs = os.path.join(self._profile_dir, "user.js") + +
+[docs] + def update_preferences(self): + """Writes the desired user prefs to disk.""" + user_prefs = os.path.join(self._profile_dir, "user.js") if os.path.isfile(user_prefs): os.chmod(user_prefs, 0o644) self._read_existing_userjs(user_prefs) - with open(user_prefs, "w", encoding="utf-8") as f: + with open(user_prefs, "w", encoding="utf-8") as f: for key, value in self._desired_preferences.items(): - f.write(f'user_pref("{key}", {json.dumps(value)});\n')
+ f.write(f'user_pref("{key}", {json.dumps(value)});\n')
+ # Properties @property def path(self): - """Gets the profile directory that is currently being used.""" + """Gets the profile directory that is currently being used.""" return self._profile_dir @property - @deprecated("The port is stored in the Service class") + @deprecated("The port is stored in the Service class") def port(self): - """Gets the port that WebDriver is working on.""" + """Gets the port that WebDriver is working on.""" return self._port @port.setter - @deprecated("The port is stored in the Service class") + @deprecated("The port is stored in the Service class") def port(self, port) -> None: - """Sets the port that WebDriver will be running on.""" + """Sets the port that WebDriver will be running on.""" if not isinstance(port, int): - raise WebDriverException("Port needs to be an integer") + raise WebDriverException("Port needs to be an integer") try: port = int(port) if port < 1 or port > 65535: - raise WebDriverException("Port number must be in the range 1..65535") + raise WebDriverException("Port number must be in the range 1..65535") except (ValueError, TypeError): - raise WebDriverException("Port needs to be an integer") + raise WebDriverException("Port needs to be an integer") self._port = port - self.set_preference("webdriver_firefox_port", self._port) + self.set_preference("webdriver_firefox_port", self._port) @property - @deprecated("Allowing untrusted certs is toggled in the Options class") + @deprecated("Allowing untrusted certs is toggled in the Options class") def accept_untrusted_certs(self): - return self._desired_preferences["webdriver_accept_untrusted_certs"] + return self._desired_preferences["webdriver_accept_untrusted_certs"] @accept_untrusted_certs.setter - @deprecated("Allowing untrusted certs is toggled in the Options class") + @deprecated("Allowing untrusted certs is toggled in the Options class") def accept_untrusted_certs(self, value) -> None: if not isinstance(value, bool): - raise WebDriverException("Please pass in a Boolean to this call") - self.set_preference("webdriver_accept_untrusted_certs", value) + raise WebDriverException("Please pass in a Boolean to this call") + self.set_preference("webdriver_accept_untrusted_certs", value) @property - @deprecated("Allowing untrusted certs is toggled in the Options class") + @deprecated("Allowing untrusted certs is toggled in the Options class") def assume_untrusted_cert_issuer(self): - return self._desired_preferences["webdriver_assume_untrusted_issuer"] + return self._desired_preferences["webdriver_assume_untrusted_issuer"] @assume_untrusted_cert_issuer.setter - @deprecated("Allowing untrusted certs is toggled in the Options class") + @deprecated("Allowing untrusted certs is toggled in the Options class") def assume_untrusted_cert_issuer(self, value) -> None: if not isinstance(value, bool): - raise WebDriverException("Please pass in a Boolean to this call") + raise WebDriverException("Please pass in a Boolean to this call") - self.set_preference("webdriver_assume_untrusted_issuer", value) + self.set_preference("webdriver_assume_untrusted_issuer", value) @property def encoded(self) -> str: - """Updates preferences and creates a zipped, base64 encoded string of - profile directory.""" + """Updates preferences and creates a zipped, base64 encoded string of + profile directory.""" if self._desired_preferences: self.update_preferences() fp = BytesIO() - with zipfile.ZipFile(fp, "w", zipfile.ZIP_DEFLATED, strict_timestamps=False) as zipped: + with zipfile.ZipFile(fp, "w", zipfile.ZIP_DEFLATED, strict_timestamps=False) as zipped: path_root = len(self.path) + 1 # account for trailing slash for base, _, files in os.walk(self.path): for fyle in files: filename = os.path.join(base, fyle) zipped.write(filename, filename[path_root:]) - return base64.b64encode(fp.getvalue()).decode("UTF-8") + return base64.b64encode(fp.getvalue()).decode("UTF-8") def _read_existing_userjs(self, userjs): - """Reads existing preferences and adds them to desired preference - dictionary.""" - pref_pattern = re.compile(r'user_pref\("(.*)",\s(.*)\)') - with open(userjs, encoding="utf-8") as f: + """Reads existing preferences and adds them to desired preference + dictionary.""" + pref_pattern = re.compile(r'user_pref\("(.*)",\s(.*)\)') + with open(userjs, encoding="utf-8") as f: for usr in f: matches = pref_pattern.search(usr) try: self._desired_preferences[matches.group(1)] = json.loads(matches.group(2)) except Exception: warnings.warn( - f"(skipping) failed to json.loads existing preference: {matches.group(1) + matches.group(2)}" + f"(skipping) failed to json.loads existing preference: {matches.group(1) + matches.group(2)}" ) - @deprecated("Addons must be added after starting the session") + @deprecated("Addons must be added after starting the session") def _install_extension(self, addon, unpack=True): - """Installs addon from a filepath, url or directory of addons in the + """Installs addon from a filepath, url or directory of addons in the profile. - path: url, absolute path to .xpi, or directory of addons - unpack: whether to unpack unless specified otherwise in the install.rdf - """ + """ tmpdir = None xpifile = None - if addon.endswith(".xpi"): - tmpdir = tempfile.mkdtemp(suffix="." + os.path.split(addon)[-1]) - compressed_file = zipfile.ZipFile(addon, "r") + if addon.endswith(".xpi"): + tmpdir = tempfile.mkdtemp(suffix="." + os.path.split(addon)[-1]) + compressed_file = zipfile.ZipFile(addon, "r") for name in compressed_file.namelist(): - if name.endswith("/"): + if name.endswith("/"): if not os.path.isdir(os.path.join(tmpdir, name)): os.makedirs(os.path.join(tmpdir, name)) else: if not os.path.isdir(os.path.dirname(os.path.join(tmpdir, name))): os.makedirs(os.path.dirname(os.path.join(tmpdir, name))) data = compressed_file.read(name) - with open(os.path.join(tmpdir, name), "wb") as f: + with open(os.path.join(tmpdir, name), "wb") as f: f.write(data) xpifile = addon addon = tmpdir # determine the addon id addon_details = self._addon_details(addon) - addon_id = addon_details.get("id") - assert addon_id, f"The addon id could not be found: {addon}" + addon_id = addon_details.get("id") + assert addon_id, f"The addon id could not be found: {addon}" # copy the addon to the profile - extensions_dir = os.path.join(self._profile_dir, "extensions") + extensions_dir = os.path.join(self._profile_dir, "extensions") addon_path = os.path.join(extensions_dir, addon_id) - if not unpack and not addon_details["unpack"] and xpifile: + if not unpack and not addon_details["unpack"] and xpifile: if not os.path.exists(extensions_dir): os.makedirs(extensions_dir) os.chmod(extensions_dir, 0o755) - shutil.copy(xpifile, addon_path + ".xpi") + shutil.copy(xpifile, addon_path + ".xpi") else: if not os.path.exists(addon_path): shutil.copytree(addon, addon_path, symlinks=True) @@ -259,76 +429,76 @@

Source code for selenium.webdriver.firefox.firefox_profile

if tmpdir: shutil.rmtree(tmpdir) - @deprecated("Addons must be added after starting the session") + @deprecated("Addons must be added after starting the session") def _addon_details(self, addon_path): - """Returns a dictionary of details about the addon. + """Returns a dictionary of details about the addon. :param addon_path: path to the add-on directory or XPI Returns:: - {'id': u'rainbow@colors.org', # id of the addon - 'version': u'1.4', # version of the addon - 'name': u'Rainbow', # name of the addon - 'unpack': False } # whether to unpack the addon - """ + {'id': u'rainbow@colors.org', # id of the addon + 'version': u'1.4', # version of the addon + 'name': u'Rainbow', # name of the addon + 'unpack': False } # whether to unpack the addon + """ - details = {"id": None, "unpack": False, "name": None, "version": None} + details = {"id": None, "unpack": False, "name": None, "version": None} def get_namespace_id(doc, url): attributes = doc.documentElement.attributes - namespace = "" + namespace = "" for i in range(attributes.length): if attributes.item(i).value == url: - if ":" in attributes.item(i).name: - # If the namespace is not the default one remove 'xlmns:' - namespace = attributes.item(i).name.split(":")[1] + ":" + if ":" in attributes.item(i).name: + # If the namespace is not the default one remove 'xlmns:' + namespace = attributes.item(i).name.split(":")[1] + ":" break return namespace def get_text(element): - """Retrieve the text value of a given node.""" + """Retrieve the text value of a given node.""" rc = [] for node in element.childNodes: if node.nodeType == node.TEXT_NODE: rc.append(node.data) - return "".join(rc).strip() + return "".join(rc).strip() def parse_manifest_json(content): - """Extracts the details from the contents of a WebExtensions - `manifest.json` file.""" + """Extracts the details from the contents of a WebExtensions + `manifest.json` file.""" manifest = json.loads(content) try: - id = manifest["applications"]["gecko"]["id"] + id = manifest["applications"]["gecko"]["id"] except KeyError: - id = manifest["name"].replace(" ", "") + "@" + manifest["version"] + id = manifest["name"].replace(" ", "") + "@" + manifest["version"] return { - "id": id, - "version": manifest["version"], - "name": manifest["version"], - "unpack": False, + "id": id, + "version": manifest["version"], + "name": manifest["version"], + "unpack": False, } if not os.path.exists(addon_path): - raise OSError(f"Add-on path does not exist: {addon_path}") + raise OSError(f"Add-on path does not exist: {addon_path}") try: if zipfile.is_zipfile(addon_path): - with zipfile.ZipFile(addon_path, "r") as compressed_file: - if "manifest.json" in compressed_file.namelist(): - return parse_manifest_json(compressed_file.read("manifest.json")) + with zipfile.ZipFile(addon_path, "r") as compressed_file: + if "manifest.json" in compressed_file.namelist(): + return parse_manifest_json(compressed_file.read("manifest.json")) - manifest = compressed_file.read("install.rdf") + manifest = compressed_file.read("install.rdf") elif os.path.isdir(addon_path): - manifest_json_filename = os.path.join(addon_path, "manifest.json") + manifest_json_filename = os.path.join(addon_path, "manifest.json") if os.path.exists(manifest_json_filename): - with open(manifest_json_filename, encoding="utf-8") as f: + with open(manifest_json_filename, encoding="utf-8") as f: return parse_manifest_json(f.read()) - with open(os.path.join(addon_path, "install.rdf"), encoding="utf-8") as f: + with open(os.path.join(addon_path, "install.rdf"), encoding="utf-8") as f: manifest = f.read() else: - raise OSError(f"Add-on path is neither an XPI nor a directory: {addon_path}") + raise OSError(f"Add-on path is neither an XPI nor a directory: {addon_path}") except (OSError, KeyError) as e: raise AddonFormatError(str(e), sys.exc_info()[2]) @@ -336,72 +506,63 @@

Source code for selenium.webdriver.firefox.firefox_profile

doc = minidom.parseString(manifest) # Get the namespaces abbreviations - em = get_namespace_id(doc, "http://www.mozilla.org/2004/em-rdf#") - rdf = get_namespace_id(doc, "http://www.w3.org/1999/02/22-rdf-syntax-ns#") + em = get_namespace_id(doc, "http://www.mozilla.org/2004/em-rdf#") + rdf = get_namespace_id(doc, "http://www.w3.org/1999/02/22-rdf-syntax-ns#") - description = doc.getElementsByTagName(rdf + "Description").item(0) + description = doc.getElementsByTagName(rdf + "Description").item(0) if not description: - description = doc.getElementsByTagName("Description").item(0) + description = doc.getElementsByTagName("Description").item(0) for node in description.childNodes: # Remove the namespace prefix from the tag for comparison - entry = node.nodeName.replace(em, "") + entry = node.nodeName.replace(em, "") if entry in details: details.update({entry: get_text(node)}) - if not details.get("id"): + if not details.get("id"): for i in range(description.attributes.length): attribute = description.attributes.item(i) - if attribute.name == em + "id": - details.update({"id": attribute.value}) + if attribute.name == em + "id": + details.update({"id": attribute.value}) except Exception as e: raise AddonFormatError(str(e), sys.exc_info()[2]) # turn unpack into a true/false value - if isinstance(details["unpack"], str): - details["unpack"] = details["unpack"].lower() == "true" + if isinstance(details["unpack"], str): + details["unpack"] = details["unpack"].lower() == "true" # If no ID is set, the add-on is invalid - if not details.get("id"): - raise AddonFormatError("Add-on id could not be found.") + if not details.get("id"): + raise AddonFormatError("Add-on id could not be found.") return details
+
-
-
+
-
+
+ + + \ No newline at end of file diff --git a/docs/api/py/_modules/selenium/webdriver/firefox/options.html b/docs/api/py/_modules/selenium/webdriver/firefox/options.html index bd59e48950200..ac2cde61e5cd2 100644 --- a/docs/api/py/_modules/selenium/webdriver/firefox/options.html +++ b/docs/api/py/_modules/selenium/webdriver/firefox/options.html @@ -1,54 +1,210 @@ - + - selenium.webdriver.firefox.options — Selenium 4.29.0.202501201850 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + selenium.webdriver.firefox.options — Selenium 4.30.0 documentation - + + + + + + + + + + + + + + + + + + + + + + + + Skip to content +
+ +
+ + +
- - - - - - - + +
+
+ +
+ +
+
+
+
+ + +
+
+
+ +
+
-

Source code for selenium.webdriver.firefox.options

+  

Source code for selenium.webdriver.firefox.options

 # Licensed to the Software Freedom Conservancy (SFC) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
 # regarding copyright ownership.  The SFC licenses this file
 # to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
+# "License"); you may not use this file except in compliance
 # with the License.  You may obtain a copy of the License at
 #
 #   http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing,
 # software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
@@ -65,85 +221,101 @@ 

Source code for selenium.webdriver.firefox.options

from selenium.webdriver.firefox.firefox_profile import FirefoxProfile -
[docs]class Log: +
+[docs] +class Log: def __init__(self) -> None: self.level = None -
[docs] def to_capabilities(self) -> dict: +
+[docs] + def to_capabilities(self) -> dict: if self.level: - return {"log": {"level": self.level}} - return {}
+ return {"log": {"level": self.level}} + return {}
+
-
[docs]class Options(ArgOptions): - KEY = "moz:firefoxOptions" + +
+[docs] +class Options(ArgOptions): + KEY = "moz:firefoxOptions" def __init__(self) -> None: super().__init__() - self._binary_location = "" + self._binary_location = "" self._preferences: dict = {} # Firefox 129 onwards the CDP protocol will not be enabled by default. Setting this preference will enable it. # https://fxdx.dev/deprecating-cdp-support-in-firefox-embracing-the-future-with-webdriver-bidi/. - self._preferences["remote.active-protocols"] = 3 + self._preferences["remote.active-protocols"] = 3 self._profile: Optional[FirefoxProfile] = None self.log = Log() @property - @deprecated("use binary_location instead") + @deprecated("use binary_location instead") def binary(self) -> FirefoxBinary: - """Returns the FirefoxBinary instance.""" + """Returns the FirefoxBinary instance.""" return FirefoxBinary(self._binary_location) @binary.setter - @deprecated("use binary_location instead") + @deprecated("use binary_location instead") def binary(self, new_binary: Union[str, FirefoxBinary]) -> None: - """Sets location of the browser binary, either by string or - ``FirefoxBinary`` instance.""" + """Sets location of the browser binary, either by string or + ``FirefoxBinary`` instance.""" if isinstance(new_binary, FirefoxBinary): new_binary = new_binary._start_cmd self.binary_location = str(new_binary) @property def binary_location(self) -> str: - """:Returns: The location of the binary.""" + """:Returns: The location of the binary.""" return self._binary_location @binary_location.setter # noqa def binary_location(self, value: str) -> None: - """Sets the location of the browser binary by string.""" + """Sets the location of the browser binary by string.""" if not isinstance(value, str): raise TypeError(self.BINARY_LOCATION_ERROR) self._binary_location = value @property def preferences(self) -> dict: - """:Returns: A dict of preferences.""" + """:Returns: A dict of preferences.""" return self._preferences -
[docs] def set_preference(self, name: str, value: Union[str, int, bool]): - """Sets a preference.""" +
+[docs] + def set_preference(self, name: str, value: Union[str, int, bool]): + """Sets a preference.""" self._preferences[name] = value
+ @property def profile(self) -> Optional[FirefoxProfile]: - """:Returns: The Firefox profile to use.""" + """:Returns: The Firefox profile to use.""" return self._profile @profile.setter def profile(self, new_profile: Union[str, FirefoxProfile]) -> None: - """Sets location of the browser profile to use, either by string or - ``FirefoxProfile``.""" + """Sets location of the browser profile to use, either by string or + ``FirefoxProfile``.""" if not isinstance(new_profile, FirefoxProfile): new_profile = FirefoxProfile(new_profile) self._profile = new_profile -
[docs] def enable_mobile( - self, android_package: Optional[str] = "org.mozilla.firefox", android_activity=None, device_serial=None +
+[docs] + def enable_mobile( + self, android_package: Optional[str] = "org.mozilla.firefox", android_activity=None, device_serial=None ): super().enable_mobile(android_package, android_activity, device_serial)
-
[docs] def to_capabilities(self) -> dict: - """Marshals the Firefox options to a `moz:firefoxOptions` object.""" + +
+[docs] + def to_capabilities(self) -> dict: + """Marshals the Firefox options to a `moz:firefoxOptions` object.""" # This intentionally looks at the internal properties # so if a binary or profile has _not_ been set, # it will defer to geckodriver to find the system Firefox @@ -152,13 +324,13 @@

Source code for selenium.webdriver.firefox.options

opts: Dict[str, Any] = {} if self._binary_location: - opts["binary"] = self._binary_location + opts["binary"] = self._binary_location if self._preferences: - opts["prefs"] = self._preferences + opts["prefs"] = self._preferences if self._profile: - opts["profile"] = self._profile.encoded + opts["profile"] = self._profile.encoded if self._arguments: - opts["args"] = self._arguments + opts["args"] = self._arguments if self.mobile_options: opts.update(self.mobile_options) @@ -169,47 +341,39 @@

Source code for selenium.webdriver.firefox.options

return caps
+ @property def default_capabilities(self) -> dict: return DesiredCapabilities.FIREFOX.copy()
+
-
-
+
-
+
+ + + \ No newline at end of file diff --git a/docs/api/py/_modules/selenium/webdriver/firefox/remote_connection.html b/docs/api/py/_modules/selenium/webdriver/firefox/remote_connection.html index 27bd73e72a26b..0e68ac41ed7f4 100644 --- a/docs/api/py/_modules/selenium/webdriver/firefox/remote_connection.html +++ b/docs/api/py/_modules/selenium/webdriver/firefox/remote_connection.html @@ -1,54 +1,210 @@ - + - selenium.webdriver.firefox.remote_connection — Selenium 4.29.0.202501201850 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + selenium.webdriver.firefox.remote_connection — Selenium 4.30.0 documentation - + + + + + + + + + + + + + + + + + + + + + + + + Skip to content +
+ +
+ + +
- - - - - - - + +
+
+ +
+ +
+
+
+
+ + +
+
+
+ +
+
-

Source code for selenium.webdriver.firefox.remote_connection

+  

Source code for selenium.webdriver.firefox.remote_connection

 # Licensed to the Software Freedom Conservancy (SFC) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
 # regarding copyright ownership.  The SFC licenses this file
 # to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
+# "License"); you may not use this file except in compliance
 # with the License.  You may obtain a copy of the License at
 #
 #   http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing,
 # software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
@@ -60,8 +216,10 @@ 

Source code for selenium.webdriver.firefox.remote_connection

from selenium.webdriver.remote.remote_connection import RemoteConnection -
[docs]class FirefoxRemoteConnection(RemoteConnection): - browser_name = DesiredCapabilities.FIREFOX["browserName"] +
+[docs] +class FirefoxRemoteConnection(RemoteConnection): + browser_name = DesiredCapabilities.FIREFOX["browserName"] def __init__( self, @@ -78,49 +236,40 @@

Source code for selenium.webdriver.firefox.remote_connection

client_config=client_config, ) - self._commands["GET_CONTEXT"] = ("GET", "/session/$sessionId/moz/context") - self._commands["SET_CONTEXT"] = ("POST", "/session/$sessionId/moz/context") - self._commands["INSTALL_ADDON"] = ("POST", "/session/$sessionId/moz/addon/install") - self._commands["UNINSTALL_ADDON"] = ("POST", "/session/$sessionId/moz/addon/uninstall") - self._commands["FULL_PAGE_SCREENSHOT"] = ("GET", "/session/$sessionId/moz/screenshot/full")
+ self._commands["GET_CONTEXT"] = ("GET", "/session/$sessionId/moz/context") + self._commands["SET_CONTEXT"] = ("POST", "/session/$sessionId/moz/context") + self._commands["INSTALL_ADDON"] = ("POST", "/session/$sessionId/moz/addon/install") + self._commands["UNINSTALL_ADDON"] = ("POST", "/session/$sessionId/moz/addon/uninstall") + self._commands["FULL_PAGE_SCREENSHOT"] = ("GET", "/session/$sessionId/moz/screenshot/full")
+
-
-
+
-
+
+ + + \ No newline at end of file diff --git a/docs/api/py/_modules/selenium/webdriver/firefox/service.html b/docs/api/py/_modules/selenium/webdriver/firefox/service.html index 29e27e1835bd3..7d239e4136693 100644 --- a/docs/api/py/_modules/selenium/webdriver/firefox/service.html +++ b/docs/api/py/_modules/selenium/webdriver/firefox/service.html @@ -1,54 +1,210 @@ - + - selenium.webdriver.firefox.service — Selenium 4.29.0.202501201850 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + selenium.webdriver.firefox.service — Selenium 4.30.0 documentation - + + + + + + + + + + + + + + + + + + + + + + + + Skip to content +
+ +
+ + +
- - - - - - - + +
+
+ +
+
+ +
+
+
+
+
+ + +
+
+
+ +
+
-

Source code for selenium.webdriver.firefox.service

+  

Source code for selenium.webdriver.firefox.service

 # Licensed to the Software Freedom Conservancy (SFC) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
 # regarding copyright ownership.  The SFC licenses this file
 # to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
+# "License"); you may not use this file except in compliance
 # with the License.  You may obtain a copy of the License at
 #
 #   http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing,
 # software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
@@ -61,8 +217,10 @@ 

Source code for selenium.webdriver.firefox.service

from selenium.webdriver.common import utils -
[docs]class Service(service.Service): - """A Service class that is responsible for the starting and stopping of +
+[docs] +class Service(service.Service): + """A Service class that is responsible for the starting and stopping of `geckodriver`. :param executable_path: install path of the geckodriver executable, defaults to `geckodriver`. @@ -71,7 +229,7 @@

Source code for selenium.webdriver.firefox.service

:param log_output: (Optional) int representation of STDOUT/DEVNULL, any IO instance or String path to file. :param env: (Optional) Mapping of environment variables for the new process, defaults to `os.environ`. :param driver_path_env_key: (Optional) Environment variable to use to get the path to the driver executable. - """ + """ def __init__( self, @@ -84,7 +242,7 @@

Source code for selenium.webdriver.firefox.service

**kwargs, ) -> None: self.service_args = service_args or [] - driver_path_env_key = driver_path_env_key or "SE_GECKODRIVER" + driver_path_env_key = driver_path_env_key or "SE_GECKODRIVER" super().__init__( executable_path=executable_path, @@ -96,50 +254,44 @@

Source code for selenium.webdriver.firefox.service

) # Set a port for CDP - if "--connect-existing" not in self.service_args: - self.service_args.append("--websocket-port") - self.service_args.append(f"{utils.free_port()}") + if "--connect-existing" not in self.service_args: + self.service_args.append("--websocket-port") + self.service_args.append(f"{utils.free_port()}") + +
+[docs] + def command_line_args(self) -> List[str]: + return ["--port", f"{self.port}"] + self.service_args
+
-
[docs] def command_line_args(self) -> List[str]: - return ["--port", f"{self.port}"] + self.service_args
-
-
+
-
+
+ + + \ No newline at end of file diff --git a/docs/api/py/_modules/selenium/webdriver/firefox/webdriver.html b/docs/api/py/_modules/selenium/webdriver/firefox/webdriver.html index 178a91f9330ac..b063892451910 100644 --- a/docs/api/py/_modules/selenium/webdriver/firefox/webdriver.html +++ b/docs/api/py/_modules/selenium/webdriver/firefox/webdriver.html @@ -1,54 +1,210 @@ - + - selenium.webdriver.firefox.webdriver — Selenium 4.29.0.202501201850 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + selenium.webdriver.firefox.webdriver — Selenium 4.30.0 documentation - + + + + + + + + + + + + + + + + + + + + + + + + Skip to content +
+ +
+ + +
- - - - - - - + +
+
+ +
+ +
+
+
+
+ + +
+
+
+ +
+
-

Source code for selenium.webdriver.firefox.webdriver

+  

Source code for selenium.webdriver.firefox.webdriver

 # Licensed to the Software Freedom Conservancy (SFC) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
 # regarding copyright ownership.  The SFC licenses this file
 # to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
+# "License"); you may not use this file except in compliance
 # with the License.  You may obtain a copy of the License at
 #
 #   http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing,
 # software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
@@ -67,11 +223,13 @@ 

Source code for selenium.webdriver.firefox.webdriver

from .service import Service -
[docs]class WebDriver(RemoteWebDriver): - """Controls the GeckoDriver and allows you to drive the browser.""" +
+[docs] +class WebDriver(RemoteWebDriver): + """Controls the GeckoDriver and allows you to drive the browser.""" - CONTEXT_CHROME = "chrome" - CONTEXT_CONTENT = "content" + CONTEXT_CHROME = "chrome" + CONTEXT_CONTENT = "content" def __init__( self, @@ -79,14 +237,14 @@

Source code for selenium.webdriver.firefox.webdriver

service: Service = None, keep_alive: bool = True, ) -> None: - """Creates a new instance of the Firefox driver. Starts the service and + """Creates a new instance of the Firefox driver. Starts the service and then creates new instance of Firefox driver. :Args: - options - Instance of ``options.Options``. - service - (Optional) service instance for managing the starting and stopping of the driver. - keep_alive - Whether to configure remote_connection.RemoteConnection to use HTTP keep-alive. - """ + """ self.service = service if service else Service() options = options if options else Options() @@ -113,22 +271,30 @@

Source code for selenium.webdriver.firefox.webdriver

self._is_remote = False -
[docs] def quit(self) -> None: - """Closes the browser and shuts down the GeckoDriver executable.""" +
+[docs] + def quit(self) -> None: + """Closes the browser and shuts down the GeckoDriver executable.""" try: super().quit() except Exception: - # We don't care about the message because something probably has gone wrong + # We don't care about the message because something probably has gone wrong pass finally: self.service.stop()
-
[docs] def set_context(self, context) -> None: - self.execute("SET_CONTEXT", {"context": context})
-
[docs] @contextmanager +
+[docs] + def set_context(self, context) -> None: + self.execute("SET_CONTEXT", {"context": context})
+ + +
+[docs] + @contextmanager def context(self, context): - """Sets the context that Selenium commands are running in using a + """Sets the context that Selenium commands are running in using a `with` statement. The state of the context on the server is saved before entering the block, and restored upon exiting it. @@ -140,16 +306,19 @@

Source code for selenium.webdriver.firefox.webdriver

with selenium.context(selenium.CONTEXT_CHROME): # chrome scope ... do stuff ... - """ - initial_context = self.execute("GET_CONTEXT").pop("value") + """ + initial_context = self.execute("GET_CONTEXT").pop("value") self.set_context(context) try: yield finally: self.set_context(initial_context)
-
[docs] def install_addon(self, path, temporary=False) -> str: - """Installs Firefox addon. + +
+[docs] + def install_addon(self, path, temporary=False) -> str: + """Installs Firefox addon. Returns identifier of installed addon. This identifier can later be used to uninstall addon. @@ -160,8 +329,8 @@

Source code for selenium.webdriver.firefox.webdriver

:Usage: :: - driver.install_addon('/path/to/firebug.xpi') - """ + driver.install_addon('/path/to/firebug.xpi') + """ if os.path.isdir(path): fp = BytesIO() @@ -169,31 +338,37 @@

Source code for selenium.webdriver.firefox.webdriver

path = os.path.normpath(path) # account for trailing slash that will be added by os.walk() path_root = len(path) + 1 - with zipfile.ZipFile(fp, "w", zipfile.ZIP_DEFLATED) as zipped: + with zipfile.ZipFile(fp, "w", zipfile.ZIP_DEFLATED, strict_timestamps=False) as zipped: for base, _, files in os.walk(path): for fyle in files: filename = os.path.join(base, fyle) zipped.write(filename, filename[path_root:]) - addon = base64.b64encode(fp.getvalue()).decode("UTF-8") + addon = base64.b64encode(fp.getvalue()).decode("UTF-8") else: - with open(path, "rb") as file: - addon = base64.b64encode(file.read()).decode("UTF-8") + with open(path, "rb") as file: + addon = base64.b64encode(file.read()).decode("UTF-8") + + payload = {"addon": addon, "temporary": temporary} + return self.execute("INSTALL_ADDON", payload)["value"]
- payload = {"addon": addon, "temporary": temporary} - return self.execute("INSTALL_ADDON", payload)["value"]
-
[docs] def uninstall_addon(self, identifier) -> None: - """Uninstalls Firefox addon using its identifier. +
+[docs] + def uninstall_addon(self, identifier) -> None: + """Uninstalls Firefox addon using its identifier. :Usage: :: - driver.uninstall_addon('addon@foo.com') - """ - self.execute("UNINSTALL_ADDON", {"id": identifier})
+ driver.uninstall_addon('addon@foo.com') + """ + self.execute("UNINSTALL_ADDON", {"id": identifier})
+ -
[docs] def get_full_page_screenshot_as_file(self, filename) -> bool: - """Saves a full document screenshot of the current window to a PNG +
+[docs] + def get_full_page_screenshot_as_file(self, filename) -> bool: + """Saves a full document screenshot of the current window to a PNG image file. Returns False if there is any IOError, else returns True. Use full paths in your filename. @@ -204,16 +379,16 @@

Source code for selenium.webdriver.firefox.webdriver

:Usage: :: - driver.get_full_page_screenshot_as_file('/Screenshots/foo.png') - """ - if not filename.lower().endswith(".png"): + driver.get_full_page_screenshot_as_file('/Screenshots/foo.png') + """ + if not filename.lower().endswith(".png"): warnings.warn( - "name used for saved screenshot does not match file type. It should end with a `.png` extension", + "name used for saved screenshot does not match file type. It should end with a `.png` extension", UserWarning, ) png = self.get_full_page_screenshot_as_png() try: - with open(filename, "wb") as f: + with open(filename, "wb") as f: f.write(png) except OSError: return False @@ -221,8 +396,11 @@

Source code for selenium.webdriver.firefox.webdriver

del png return True
-
[docs] def save_full_page_screenshot(self, filename) -> bool: - """Saves a full document screenshot of the current window to a PNG + +
+[docs] + def save_full_page_screenshot(self, filename) -> bool: + """Saves a full document screenshot of the current window to a PNG image file. Returns False if there is any IOError, else returns True. Use full paths in your filename. @@ -233,69 +411,67 @@

Source code for selenium.webdriver.firefox.webdriver

:Usage: :: - driver.save_full_page_screenshot('/Screenshots/foo.png') - """ + driver.save_full_page_screenshot('/Screenshots/foo.png') + """ return self.get_full_page_screenshot_as_file(filename)
-
[docs] def get_full_page_screenshot_as_png(self) -> bytes: - """Gets the full document screenshot of the current window as a binary + +
+[docs] + def get_full_page_screenshot_as_png(self) -> bytes: + """Gets the full document screenshot of the current window as a binary data. :Usage: :: driver.get_full_page_screenshot_as_png() - """ - return base64.b64decode(self.get_full_page_screenshot_as_base64().encode("ascii"))
+ """ + return base64.b64decode(self.get_full_page_screenshot_as_base64().encode("ascii"))
-
[docs] def get_full_page_screenshot_as_base64(self) -> str: - """Gets the full document screenshot of the current window as a base64 + +
+[docs] + def get_full_page_screenshot_as_base64(self) -> str: + """Gets the full document screenshot of the current window as a base64 encoded string which is useful in embedded images in HTML. :Usage: :: driver.get_full_page_screenshot_as_base64() - """ - return self.execute("FULL_PAGE_SCREENSHOT")["value"]
+ """ + return self.execute("FULL_PAGE_SCREENSHOT")["value"]
+
+
-
-
+
-
+
+ + + \ No newline at end of file diff --git a/docs/api/py/_modules/selenium/webdriver/ie/options.html b/docs/api/py/_modules/selenium/webdriver/ie/options.html index a1fcc9ed2c051..ca56abcf9b07e 100644 --- a/docs/api/py/_modules/selenium/webdriver/ie/options.html +++ b/docs/api/py/_modules/selenium/webdriver/ie/options.html @@ -1,54 +1,210 @@ - + - selenium.webdriver.ie.options — Selenium 4.29.0.202501201850 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + selenium.webdriver.ie.options — Selenium 4.30.0 documentation - + + + + + + + + + + + + + + + + + + + + + + + + Skip to content +
+ +
+ + +
- - - - - - - + +
+
+ +
+ +
+
+
+
+ + +
+
+
+ +
+
-

Source code for selenium.webdriver.ie.options

+  

Source code for selenium.webdriver.ie.options

 # Licensed to the Software Freedom Conservancy (SFC) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
 # regarding copyright ownership.  The SFC licenses this file
 # to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
+# "License"); you may not use this file except in compliance
 # with the License.  You may obtain a copy of the License at
 #
 #   http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing,
 # software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
@@ -60,13 +216,16 @@ 

Source code for selenium.webdriver.ie.options

from selenium.webdriver.common.options import ArgOptions -
[docs]class ElementScrollBehavior(Enum): +
+[docs] +class ElementScrollBehavior(Enum): TOP = 0 BOTTOM = 1
+ class _IeOptionsDescriptor: - """_IeOptionsDescriptor is an implementation of Descriptor Protocol: + """_IeOptionsDescriptor is an implementation of Descriptor Protocol: : Any look-up or assignment to the below attributes in `Options` class will be intercepted by `__get__` and `__set__` method respectively. @@ -100,7 +259,7 @@

Source code for selenium.webdriver.ie.options

`self.browser_attach_timeout` = 30 `__set__` method sets/updates the value of the key `browserAttachTimeout` in `_options` dictionary in `Options` class. - """ + """ def __init__(self, name, expected_type): self.name = name @@ -111,294 +270,296 @@

Source code for selenium.webdriver.ie.options

def __set__(self, obj, value) -> None: if not isinstance(value, self.expected_type): - raise ValueError(f"{self.name} should be of type {self.expected_type.__name__}") + raise ValueError(f"{self.name} should be of type {self.expected_type.__name__}") - if self.name == "elementScrollBehavior" and value not in [ + if self.name == "elementScrollBehavior" and value not in [ ElementScrollBehavior.TOP, ElementScrollBehavior.BOTTOM, ]: - raise ValueError("Element Scroll Behavior out of range.") + raise ValueError("Element Scroll Behavior out of range.") obj._options[self.name] = value -
[docs]class Options(ArgOptions): - KEY = "se:ieOptions" - SWITCHES = "ie.browserCommandLineSwitches" - - BROWSER_ATTACH_TIMEOUT = "browserAttachTimeout" - ELEMENT_SCROLL_BEHAVIOR = "elementScrollBehavior" - ENSURE_CLEAN_SESSION = "ie.ensureCleanSession" - FILE_UPLOAD_DIALOG_TIMEOUT = "ie.fileUploadDialogTimeout" - FORCE_CREATE_PROCESS_API = "ie.forceCreateProcessApi" - FORCE_SHELL_WINDOWS_API = "ie.forceShellWindowsApi" - FULL_PAGE_SCREENSHOT = "ie.enableFullPageScreenshot" - IGNORE_PROTECTED_MODE_SETTINGS = "ignoreProtectedModeSettings" - IGNORE_ZOOM_LEVEL = "ignoreZoomSetting" - INITIAL_BROWSER_URL = "initialBrowserUrl" - NATIVE_EVENTS = "nativeEvents" - PERSISTENT_HOVER = "enablePersistentHover" - REQUIRE_WINDOW_FOCUS = "requireWindowFocus" - USE_PER_PROCESS_PROXY = "ie.usePerProcessProxy" - USE_LEGACY_FILE_UPLOAD_DIALOG_HANDLING = "ie.useLegacyFileUploadDialogHandling" - ATTACH_TO_EDGE_CHROME = "ie.edgechromium" - EDGE_EXECUTABLE_PATH = "ie.edgepath" - IGNORE_PROCESS_MATCH = "ie.ignoreprocessmatch" +
+[docs] +class Options(ArgOptions): + KEY = "se:ieOptions" + SWITCHES = "ie.browserCommandLineSwitches" + + BROWSER_ATTACH_TIMEOUT = "browserAttachTimeout" + ELEMENT_SCROLL_BEHAVIOR = "elementScrollBehavior" + ENSURE_CLEAN_SESSION = "ie.ensureCleanSession" + FILE_UPLOAD_DIALOG_TIMEOUT = "ie.fileUploadDialogTimeout" + FORCE_CREATE_PROCESS_API = "ie.forceCreateProcessApi" + FORCE_SHELL_WINDOWS_API = "ie.forceShellWindowsApi" + FULL_PAGE_SCREENSHOT = "ie.enableFullPageScreenshot" + IGNORE_PROTECTED_MODE_SETTINGS = "ignoreProtectedModeSettings" + IGNORE_ZOOM_LEVEL = "ignoreZoomSetting" + INITIAL_BROWSER_URL = "initialBrowserUrl" + NATIVE_EVENTS = "nativeEvents" + PERSISTENT_HOVER = "enablePersistentHover" + REQUIRE_WINDOW_FOCUS = "requireWindowFocus" + USE_PER_PROCESS_PROXY = "ie.usePerProcessProxy" + USE_LEGACY_FILE_UPLOAD_DIALOG_HANDLING = "ie.useLegacyFileUploadDialogHandling" + ATTACH_TO_EDGE_CHROME = "ie.edgechromium" + EDGE_EXECUTABLE_PATH = "ie.edgepath" + IGNORE_PROCESS_MATCH = "ie.ignoreprocessmatch" # Creating descriptor objects for each of the above IE options browser_attach_timeout = _IeOptionsDescriptor(BROWSER_ATTACH_TIMEOUT, int) - """Gets and Sets `browser_attach_timeout` + """Gets and Sets `browser_attach_timeout` - Usage - ----- + Usage: + ------ - Get - `self.browser_attach_timeout` - Set - `self.browser_attach_timeout` = `value` - Parameters - ---------- + Parameters: + ----------- `value`: `int` (Timeout) in milliseconds - """ + """ element_scroll_behavior = _IeOptionsDescriptor(ELEMENT_SCROLL_BEHAVIOR, Enum) - """Gets and Sets `element_scroll_behavior` + """Gets and Sets `element_scroll_behavior` - Usage - ----- + Usage: + ------ - Get - `self.element_scroll_behavior` - Set - `self.element_scroll_behavior` = `value` - Parameters - ---------- + Parameters: + ----------- `value`: `int` either 0 - Top, 1 - Bottom - """ + """ ensure_clean_session = _IeOptionsDescriptor(ENSURE_CLEAN_SESSION, bool) - """Gets and Sets `ensure_clean_session` + """Gets and Sets `ensure_clean_session` - Usage - ----- + Usage: + ------ - Get - `self.ensure_clean_session` - Set - `self.ensure_clean_session` = `value` - Parameters - ---------- + Parameters: + ----------- `value`: `bool` - """ + """ file_upload_dialog_timeout = _IeOptionsDescriptor(FILE_UPLOAD_DIALOG_TIMEOUT, int) - """Gets and Sets `file_upload_dialog_timeout` + """Gets and Sets `file_upload_dialog_timeout` - Usage - ----- + Usage: + ------ - Get - `self.file_upload_dialog_timeout` - Set - `self.file_upload_dialog_timeout` = `value` - Parameters - ---------- + Parameters: + ----------- `value`: `int` (Timeout) in milliseconds - """ + """ force_create_process_api = _IeOptionsDescriptor(FORCE_CREATE_PROCESS_API, bool) - """Gets and Sets `force_create_process_api` + """Gets and Sets `force_create_process_api` - Usage - ----- + Usage: + ------ - Get - `self.force_create_process_api` - Set - `self.force_create_process_api` = `value` - Parameters - ---------- + Parameters: + ----------- `value`: `bool` - """ + """ force_shell_windows_api = _IeOptionsDescriptor(FORCE_SHELL_WINDOWS_API, bool) - """Gets and Sets `force_shell_windows_api` + """Gets and Sets `force_shell_windows_api` - Usage - ----- + Usage: + ------ - Get - `self.force_shell_windows_api` - Set - `self.force_shell_windows_api` = `value` - Parameters - ---------- + Parameters: + ----------- `value`: `bool` - """ + """ full_page_screenshot = _IeOptionsDescriptor(FULL_PAGE_SCREENSHOT, bool) - """Gets and Sets `full_page_screenshot` + """Gets and Sets `full_page_screenshot` - Usage - ----- + Usage: + ------ - Get - `self.full_page_screenshot` - Set - `self.full_page_screenshot` = `value` - Parameters - ---------- + Parameters: + ----------- `value`: `bool` - """ + """ ignore_protected_mode_settings = _IeOptionsDescriptor(IGNORE_PROTECTED_MODE_SETTINGS, bool) - """Gets and Sets `ignore_protected_mode_settings` + """Gets and Sets `ignore_protected_mode_settings` - Usage - ----- + Usage: + ------ - Get - `self.ignore_protected_mode_settings` - Set - `self.ignore_protected_mode_settings` = `value` - Parameters - ---------- + Parameters: + ----------- `value`: `bool` - """ + """ ignore_zoom_level = _IeOptionsDescriptor(IGNORE_ZOOM_LEVEL, bool) - """Gets and Sets `ignore_zoom_level` + """Gets and Sets `ignore_zoom_level` - Usage - ----- + Usage: + ------ - Get - `self.ignore_zoom_level` - Set - `self.ignore_zoom_level` = `value` - Parameters - ---------- + Parameters: + ----------- `value`: `bool` - """ + """ initial_browser_url = _IeOptionsDescriptor(INITIAL_BROWSER_URL, str) - """Gets and Sets `initial_browser_url` + """Gets and Sets `initial_browser_url` - Usage - ----- + Usage: + ------ - Get - `self.initial_browser_url` - Set - `self.initial_browser_url` = `value` - Parameters - ---------- + Parameters: + ----------- `value`: `str` - """ + """ native_events = _IeOptionsDescriptor(NATIVE_EVENTS, bool) - """Gets and Sets `native_events` + """Gets and Sets `native_events` - Usage - ----- + Usage: + ------ - Get - `self.native_events` - Set - `self.native_events` = `value` - Parameters - ---------- + Parameters: + ----------- `value`: `bool` - """ + """ persistent_hover = _IeOptionsDescriptor(PERSISTENT_HOVER, bool) - """Gets and Sets `persistent_hover` + """Gets and Sets `persistent_hover` - Usage - ----- + Usage: + ------ - Get - `self.persistent_hover` - Set - `self.persistent_hover` = `value` - Parameters - ---------- + Parameters: + ----------- `value`: `bool` - """ + """ require_window_focus = _IeOptionsDescriptor(REQUIRE_WINDOW_FOCUS, bool) - """Gets and Sets `require_window_focus` + """Gets and Sets `require_window_focus` - Usage - ----- + Usage: + ------ - Get - `self.require_window_focus` - Set - `self.require_window_focus` = `value` - Parameters - ---------- + Parameters: + ----------- `value`: `bool` - """ + """ use_per_process_proxy = _IeOptionsDescriptor(USE_PER_PROCESS_PROXY, bool) - """Gets and Sets `use_per_process_proxy` + """Gets and Sets `use_per_process_proxy` - Usage - ----- + Usage: + ------ - Get - `self.use_per_process_proxy` - Set - `self.use_per_process_proxy` = `value` - Parameters - ---------- + Parameters: + ----------- `value`: `bool` - """ + """ use_legacy_file_upload_dialog_handling = _IeOptionsDescriptor(USE_LEGACY_FILE_UPLOAD_DIALOG_HANDLING, bool) - """Gets and Sets `use_legacy_file_upload_dialog_handling` + """Gets and Sets `use_legacy_file_upload_dialog_handling` - Usage - ----- + Usage: + ------ - Get - `self.use_legacy_file_upload_dialog_handling` - Set - `self.use_legacy_file_upload_dialog_handling` = `value` - Parameters - ---------- + Parameters: + ----------- `value`: `bool` - """ + """ attach_to_edge_chrome = _IeOptionsDescriptor(ATTACH_TO_EDGE_CHROME, bool) - """Gets and Sets `attach_to_edge_chrome` + """Gets and Sets `attach_to_edge_chrome` - Usage - ----- + Usage: + ------ - Get - `self.attach_to_edge_chrome` - Set - `self.attach_to_edge_chrome` = `value` - Parameters - ---------- + Parameters: + ----------- `value`: `bool` - """ + """ edge_executable_path = _IeOptionsDescriptor(EDGE_EXECUTABLE_PATH, str) - """Gets and Sets `edge_executable_path` + """Gets and Sets `edge_executable_path` - Usage - ----- + Usage: + ------ - Get - `self.edge_executable_path` - Set - `self.edge_executable_path` = `value` - Parameters - ---------- + Parameters: + ----------- `value`: `str` - """ + """ def __init__(self) -> None: super().__init__() @@ -407,30 +568,35 @@

Source code for selenium.webdriver.ie.options

@property def options(self) -> dict: - """:Returns: A dictionary of browser options.""" + """:Returns: A dictionary of browser options.""" return self._options @property def additional_options(self) -> dict: - """:Returns: The additional options.""" + """:Returns: The additional options.""" return self._additional -
[docs] def add_additional_option(self, name: str, value) -> None: - """Adds an additional option not yet added as a safe option for IE. +
+[docs] + def add_additional_option(self, name: str, value) -> None: + """Adds an additional option not yet added as a safe option for IE. :Args: - name: name of the option to add - value: value of the option to add - """ + """ self._additional[name] = value
-
[docs] def to_capabilities(self) -> dict: - """Marshals the IE options to the correct object.""" + +
+[docs] + def to_capabilities(self) -> dict: + """Marshals the IE options to the correct object.""" caps = self._caps opts = self._options.copy() if self._arguments: - opts[self.SWITCHES] = " ".join(self._arguments) + opts[self.SWITCHES] = " ".join(self._arguments) if self._additional: opts.update(self._additional) @@ -439,47 +605,39 @@

Source code for selenium.webdriver.ie.options

caps[Options.KEY] = opts return caps
+ @property def default_capabilities(self) -> dict: return DesiredCapabilities.INTERNETEXPLORER.copy()
+
-
-
+
-
+
+ + + \ No newline at end of file diff --git a/docs/api/py/_modules/selenium/webdriver/ie/service.html b/docs/api/py/_modules/selenium/webdriver/ie/service.html index c9ba0adcf0ac9..33076b291c238 100644 --- a/docs/api/py/_modules/selenium/webdriver/ie/service.html +++ b/docs/api/py/_modules/selenium/webdriver/ie/service.html @@ -1,54 +1,210 @@ - + - selenium.webdriver.ie.service — Selenium 4.29.0.202501201850 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + selenium.webdriver.ie.service — Selenium 4.30.0 documentation - + + + + + + + + + + + + + + + + + + + + + + + + Skip to content +
+ +
+ + +
- - - - - - - + +
+
+ +
+
+ +
+
+
+
+
+ + +
+
+
+ +
+
-

Source code for selenium.webdriver.ie.service

+  

Source code for selenium.webdriver.ie.service

 # Licensed to the Software Freedom Conservancy (SFC) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
 # regarding copyright ownership.  The SFC licenses this file
 # to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
+# "License"); you may not use this file except in compliance
 # with the License.  You may obtain a copy of the License at
 #
 #   http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing,
 # software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
@@ -59,8 +215,10 @@ 

Source code for selenium.webdriver.ie.service

from selenium.webdriver.common import service -
[docs]class Service(service.Service): - """Object that manages the starting and stopping of the IEDriver.""" +
+[docs] +class Service(service.Service): + """Object that manages the starting and stopping of the IEDriver.""" def __init__( self, @@ -73,24 +231,24 @@

Source code for selenium.webdriver.ie.service

driver_path_env_key: str = None, **kwargs, ) -> None: - """Creates a new instance of the Service. + """Creates a new instance of the Service. :Args: - executable_path : Path to the IEDriver - port : Port the service is running on - host : IP address the service port is bound - - log_level : Level of logging of service, may be "FATAL", "ERROR", "WARN", "INFO", "DEBUG", "TRACE". - Default is "FATAL". + - log_level : Level of logging of service, may be "FATAL", "ERROR", "WARN", "INFO", "DEBUG", "TRACE". + Default is "FATAL". - log_output: (Optional) int representation of STDOUT/DEVNULL, any IO instance or String path to file. - Default is "stdout". - """ + Default is "stdout". + """ self.service_args = service_args or [] - driver_path_env_key = driver_path_env_key or "SE_IEDRIVER" + driver_path_env_key = driver_path_env_key or "SE_IEDRIVER" if host: - self.service_args.append(f"--host={host}") + self.service_args.append(f"--host={host}") if log_level: - self.service_args.append(f"--log-level={log_level}") + self.service_args.append(f"--log-level={log_level}") super().__init__( executable_path=executable_path, @@ -100,46 +258,40 @@

Source code for selenium.webdriver.ie.service

**kwargs, ) -
[docs] def command_line_args(self) -> List[str]: - return [f"--port={self.port}"] + self.service_args
+
+[docs] + def command_line_args(self) -> List[str]: + return [f"--port={self.port}"] + self.service_args
+
+
-
-
+
-
+
+ + + \ No newline at end of file diff --git a/docs/api/py/_modules/selenium/webdriver/ie/webdriver.html b/docs/api/py/_modules/selenium/webdriver/ie/webdriver.html index 81def80df3f34..b8e84e67b7999 100644 --- a/docs/api/py/_modules/selenium/webdriver/ie/webdriver.html +++ b/docs/api/py/_modules/selenium/webdriver/ie/webdriver.html @@ -1,54 +1,210 @@ - + - selenium.webdriver.ie.webdriver — Selenium 4.29.0.202501201850 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + selenium.webdriver.ie.webdriver — Selenium 4.30.0 documentation - + + + + + + + + + + + + + + + + + + + + + + + + Skip to content +
+ +
+ + +
- - - - - - - + +
+
+ +
+
+ +
+
+
+
+
+ + +
+
+
+ +
+
-

Source code for selenium.webdriver.ie.webdriver

+  

Source code for selenium.webdriver.ie.webdriver

 # Licensed to the Software Freedom Conservancy (SFC) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
 # regarding copyright ownership.  The SFC licenses this file
 # to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
+# "License"); you may not use this file except in compliance
 # with the License.  You may obtain a copy of the License at
 #
 #   http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing,
 # software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
@@ -62,9 +218,11 @@ 

Source code for selenium.webdriver.ie.webdriver

< from .service import Service -
[docs]class WebDriver(RemoteWebDriver): - """Controls the IEServerDriver and allows you to drive Internet - Explorer.""" +
+[docs] +class WebDriver(RemoteWebDriver): + """Controls the IEServerDriver and allows you to drive Internet + Explorer.""" def __init__( self, @@ -72,7 +230,7 @@

Source code for selenium.webdriver.ie.webdriver

< service: Service = None, keep_alive: bool = True, ) -> None: - """Creates a new instance of the Ie driver. + """Creates a new instance of the Ie driver. Starts the service and then creates new instance of Ie driver. @@ -80,7 +238,7 @@

Source code for selenium.webdriver.ie.webdriver

< - options - IE Options instance, providing additional IE options - service - (Optional) service instance for managing the starting and stopping of the driver. - keep_alive - Whether to configure RemoteConnection to use HTTP keep-alive. - """ + """ self.service = service if service else Service() options = options if options else Options() @@ -102,53 +260,47 @@

Source code for selenium.webdriver.ie.webdriver

< self._is_remote = False -
[docs] def quit(self) -> None: - """Closes the browser and shuts down the IEServerDriver executable.""" +
+[docs] + def quit(self) -> None: + """Closes the browser and shuts down the IEServerDriver executable.""" try: super().quit() except Exception: - # We don't care about the message because something probably has gone wrong + # We don't care about the message because something probably has gone wrong pass finally: - self.service.stop()
+ self.service.stop()
+
+
-
-
+
-
+
+ + + \ No newline at end of file diff --git a/docs/api/py/_modules/selenium/webdriver/remote/bidi_connection.html b/docs/api/py/_modules/selenium/webdriver/remote/bidi_connection.html index 2af5d41e092b0..87eddfb38bf13 100644 --- a/docs/api/py/_modules/selenium/webdriver/remote/bidi_connection.html +++ b/docs/api/py/_modules/selenium/webdriver/remote/bidi_connection.html @@ -1,102 +1,251 @@ - + - selenium.webdriver.remote.bidi_connection — Selenium 4.29.0.202501201850 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + selenium.webdriver.remote.bidi_connection — Selenium 4.30.0 documentation - + + + + + + + + + + + + + + + + + + + + + + + + Skip to content +
+ +
+ + +
- - - - - - - + +
+
+ +
+ +
+
+
+
+ + +
+
+
+ +
+
-

Source code for selenium.webdriver.remote.bidi_connection

+  

Source code for selenium.webdriver.remote.bidi_connection

 # Licensed to the Software Freedom Conservancy (SFC) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
 # regarding copyright ownership.  The SFC licenses this file
 # to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
+# "License"); you may not use this file except in compliance
 # with the License.  You may obtain a copy of the License at
 #
 #   http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing,
 # software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
 
 
-
[docs]class BidiConnection: +
+[docs] +class BidiConnection: def __init__(self, session, cdp, devtools_import) -> None: self.session = session self.cdp = cdp self.devtools = devtools_import
+
-
-
+
-
+
+ + + \ No newline at end of file diff --git a/docs/api/py/_modules/selenium/webdriver/remote/command.html b/docs/api/py/_modules/selenium/webdriver/remote/command.html index 4cb55d5874ba8..7d2399a2c54b2 100644 --- a/docs/api/py/_modules/selenium/webdriver/remote/command.html +++ b/docs/api/py/_modules/selenium/webdriver/remote/command.html @@ -1,213 +1,362 @@ - + - selenium.webdriver.remote.command — Selenium 4.29.0.202501201850 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + selenium.webdriver.remote.command — Selenium 4.30.0 documentation - + + + + + + + + + + + + + + + + + + + + + + + + Skip to content +
+ +
+ + +
- - - - - - - + +
+
+ +
+
+ +
+
+
+
+
+ + +
+
+
+ +
+
-

Source code for selenium.webdriver.remote.command

+  

Source code for selenium.webdriver.remote.command

 # Licensed to the Software Freedom Conservancy (SFC) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
 # regarding copyright ownership.  The SFC licenses this file
 # to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
+# "License"); you may not use this file except in compliance
 # with the License.  You may obtain a copy of the License at
 #
 #   http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing,
 # software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
 
 
-
[docs]class Command: - """Defines constants for the standard WebDriver commands. +
+[docs] +class Command: + """Defines constants for the standard WebDriver commands. While these constants have no meaning in and of themselves, they are - used to marshal commands through a service that implements WebDriver's + used to marshal commands through a service that implements WebDriver's remote wire protocol: https://w3c.github.io/webdriver/ - """ - - NEW_SESSION: str = "newSession" - DELETE_SESSION: str = "deleteSession" - NEW_WINDOW: str = "newWindow" - CLOSE: str = "close" - QUIT: str = "quit" - GET: str = "get" - GO_BACK: str = "goBack" - GO_FORWARD: str = "goForward" - REFRESH: str = "refresh" - ADD_COOKIE: str = "addCookie" - GET_COOKIE: str = "getCookie" - GET_ALL_COOKIES: str = "getCookies" - DELETE_COOKIE: str = "deleteCookie" - DELETE_ALL_COOKIES: str = "deleteAllCookies" - FIND_ELEMENT: str = "findElement" - FIND_ELEMENTS: str = "findElements" - FIND_CHILD_ELEMENT: str = "findChildElement" - FIND_CHILD_ELEMENTS: str = "findChildElements" - CLEAR_ELEMENT: str = "clearElement" - CLICK_ELEMENT: str = "clickElement" - SEND_KEYS_TO_ELEMENT: str = "sendKeysToElement" - W3C_GET_CURRENT_WINDOW_HANDLE: str = "w3cGetCurrentWindowHandle" - W3C_GET_WINDOW_HANDLES: str = "w3cGetWindowHandles" - SET_WINDOW_RECT: str = "setWindowRect" - GET_WINDOW_RECT: str = "getWindowRect" - SWITCH_TO_WINDOW: str = "switchToWindow" - SWITCH_TO_FRAME: str = "switchToFrame" - SWITCH_TO_PARENT_FRAME: str = "switchToParentFrame" - W3C_GET_ACTIVE_ELEMENT: str = "w3cGetActiveElement" - GET_CURRENT_URL: str = "getCurrentUrl" - GET_PAGE_SOURCE: str = "getPageSource" - GET_TITLE: str = "getTitle" - W3C_EXECUTE_SCRIPT: str = "w3cExecuteScript" - W3C_EXECUTE_SCRIPT_ASYNC: str = "w3cExecuteScriptAsync" - GET_ELEMENT_TEXT: str = "getElementText" - GET_ELEMENT_TAG_NAME: str = "getElementTagName" - IS_ELEMENT_SELECTED: str = "isElementSelected" - IS_ELEMENT_ENABLED: str = "isElementEnabled" - GET_ELEMENT_RECT: str = "getElementRect" - GET_ELEMENT_ATTRIBUTE: str = "getElementAttribute" - GET_ELEMENT_PROPERTY: str = "getElementProperty" - GET_ELEMENT_VALUE_OF_CSS_PROPERTY: str = "getElementValueOfCssProperty" - GET_ELEMENT_ARIA_ROLE: str = "getElementAriaRole" - GET_ELEMENT_ARIA_LABEL: str = "getElementAriaLabel" - SCREENSHOT: str = "screenshot" - ELEMENT_SCREENSHOT: str = "elementScreenshot" - EXECUTE_ASYNC_SCRIPT: str = "executeAsyncScript" - SET_TIMEOUTS: str = "setTimeouts" - GET_TIMEOUTS: str = "getTimeouts" - W3C_MAXIMIZE_WINDOW: str = "w3cMaximizeWindow" - GET_LOG: str = "getLog" - GET_AVAILABLE_LOG_TYPES: str = "getAvailableLogTypes" - FULLSCREEN_WINDOW: str = "fullscreenWindow" - MINIMIZE_WINDOW: str = "minimizeWindow" - PRINT_PAGE: str = "printPage" + """ + + NEW_SESSION: str = "newSession" + DELETE_SESSION: str = "deleteSession" + NEW_WINDOW: str = "newWindow" + CLOSE: str = "close" + QUIT: str = "quit" + GET: str = "get" + GO_BACK: str = "goBack" + GO_FORWARD: str = "goForward" + REFRESH: str = "refresh" + ADD_COOKIE: str = "addCookie" + GET_COOKIE: str = "getCookie" + GET_ALL_COOKIES: str = "getCookies" + DELETE_COOKIE: str = "deleteCookie" + DELETE_ALL_COOKIES: str = "deleteAllCookies" + FIND_ELEMENT: str = "findElement" + FIND_ELEMENTS: str = "findElements" + FIND_CHILD_ELEMENT: str = "findChildElement" + FIND_CHILD_ELEMENTS: str = "findChildElements" + CLEAR_ELEMENT: str = "clearElement" + CLICK_ELEMENT: str = "clickElement" + SEND_KEYS_TO_ELEMENT: str = "sendKeysToElement" + W3C_GET_CURRENT_WINDOW_HANDLE: str = "w3cGetCurrentWindowHandle" + W3C_GET_WINDOW_HANDLES: str = "w3cGetWindowHandles" + SET_WINDOW_RECT: str = "setWindowRect" + GET_WINDOW_RECT: str = "getWindowRect" + SWITCH_TO_WINDOW: str = "switchToWindow" + SWITCH_TO_FRAME: str = "switchToFrame" + SWITCH_TO_PARENT_FRAME: str = "switchToParentFrame" + W3C_GET_ACTIVE_ELEMENT: str = "w3cGetActiveElement" + GET_CURRENT_URL: str = "getCurrentUrl" + GET_PAGE_SOURCE: str = "getPageSource" + GET_TITLE: str = "getTitle" + W3C_EXECUTE_SCRIPT: str = "w3cExecuteScript" + W3C_EXECUTE_SCRIPT_ASYNC: str = "w3cExecuteScriptAsync" + GET_ELEMENT_TEXT: str = "getElementText" + GET_ELEMENT_TAG_NAME: str = "getElementTagName" + IS_ELEMENT_SELECTED: str = "isElementSelected" + IS_ELEMENT_ENABLED: str = "isElementEnabled" + GET_ELEMENT_RECT: str = "getElementRect" + GET_ELEMENT_ATTRIBUTE: str = "getElementAttribute" + GET_ELEMENT_PROPERTY: str = "getElementProperty" + GET_ELEMENT_VALUE_OF_CSS_PROPERTY: str = "getElementValueOfCssProperty" + GET_ELEMENT_ARIA_ROLE: str = "getElementAriaRole" + GET_ELEMENT_ARIA_LABEL: str = "getElementAriaLabel" + SCREENSHOT: str = "screenshot" + ELEMENT_SCREENSHOT: str = "elementScreenshot" + EXECUTE_ASYNC_SCRIPT: str = "executeAsyncScript" + SET_TIMEOUTS: str = "setTimeouts" + GET_TIMEOUTS: str = "getTimeouts" + W3C_MAXIMIZE_WINDOW: str = "w3cMaximizeWindow" + GET_LOG: str = "getLog" + GET_AVAILABLE_LOG_TYPES: str = "getAvailableLogTypes" + FULLSCREEN_WINDOW: str = "fullscreenWindow" + MINIMIZE_WINDOW: str = "minimizeWindow" + PRINT_PAGE: str = "printPage" # Alerts - W3C_DISMISS_ALERT: str = "w3cDismissAlert" - W3C_ACCEPT_ALERT: str = "w3cAcceptAlert" - W3C_SET_ALERT_VALUE: str = "w3cSetAlertValue" - W3C_GET_ALERT_TEXT: str = "w3cGetAlertText" + W3C_DISMISS_ALERT: str = "w3cDismissAlert" + W3C_ACCEPT_ALERT: str = "w3cAcceptAlert" + W3C_SET_ALERT_VALUE: str = "w3cSetAlertValue" + W3C_GET_ALERT_TEXT: str = "w3cGetAlertText" # Advanced user interactions - W3C_ACTIONS: str = "actions" - W3C_CLEAR_ACTIONS: str = "clearActionState" + W3C_ACTIONS: str = "actions" + W3C_CLEAR_ACTIONS: str = "clearActionState" # Screen Orientation - SET_SCREEN_ORIENTATION: str = "setScreenOrientation" - GET_SCREEN_ORIENTATION: str = "getScreenOrientation" + SET_SCREEN_ORIENTATION: str = "setScreenOrientation" + GET_SCREEN_ORIENTATION: str = "getScreenOrientation" # Mobile - GET_NETWORK_CONNECTION: str = "getNetworkConnection" - SET_NETWORK_CONNECTION: str = "setNetworkConnection" - CURRENT_CONTEXT_HANDLE: str = "getCurrentContextHandle" - CONTEXT_HANDLES: str = "getContextHandles" - SWITCH_TO_CONTEXT: str = "switchToContext" + GET_NETWORK_CONNECTION: str = "getNetworkConnection" + SET_NETWORK_CONNECTION: str = "setNetworkConnection" + CURRENT_CONTEXT_HANDLE: str = "getCurrentContextHandle" + CONTEXT_HANDLES: str = "getContextHandles" + SWITCH_TO_CONTEXT: str = "switchToContext" # Web Components - GET_SHADOW_ROOT: str = "getShadowRoot" - FIND_ELEMENT_FROM_SHADOW_ROOT: str = "findElementFromShadowRoot" - FIND_ELEMENTS_FROM_SHADOW_ROOT: str = "findElementsFromShadowRoot" + GET_SHADOW_ROOT: str = "getShadowRoot" + FIND_ELEMENT_FROM_SHADOW_ROOT: str = "findElementFromShadowRoot" + FIND_ELEMENTS_FROM_SHADOW_ROOT: str = "findElementsFromShadowRoot" # Virtual Authenticator - ADD_VIRTUAL_AUTHENTICATOR: str = "addVirtualAuthenticator" - REMOVE_VIRTUAL_AUTHENTICATOR: str = "removeVirtualAuthenticator" - ADD_CREDENTIAL: str = "addCredential" - GET_CREDENTIALS: str = "getCredentials" - REMOVE_CREDENTIAL: str = "removeCredential" - REMOVE_ALL_CREDENTIALS: str = "removeAllCredentials" - SET_USER_VERIFIED: str = "setUserVerified" + ADD_VIRTUAL_AUTHENTICATOR: str = "addVirtualAuthenticator" + REMOVE_VIRTUAL_AUTHENTICATOR: str = "removeVirtualAuthenticator" + ADD_CREDENTIAL: str = "addCredential" + GET_CREDENTIALS: str = "getCredentials" + REMOVE_CREDENTIAL: str = "removeCredential" + REMOVE_ALL_CREDENTIALS: str = "removeAllCredentials" + SET_USER_VERIFIED: str = "setUserVerified" # Remote File Management - UPLOAD_FILE: str = "uploadFile" - GET_DOWNLOADABLE_FILES: str = "getDownloadableFiles" - DOWNLOAD_FILE: str = "downloadFile" - DELETE_DOWNLOADABLE_FILES: str = "deleteDownloadableFiles" + UPLOAD_FILE: str = "uploadFile" + GET_DOWNLOADABLE_FILES: str = "getDownloadableFiles" + DOWNLOAD_FILE: str = "downloadFile" + DELETE_DOWNLOADABLE_FILES: str = "deleteDownloadableFiles" # Federated Credential Management (FedCM) - GET_FEDCM_TITLE: str = "getFedcmTitle" - GET_FEDCM_DIALOG_TYPE: str = "getFedcmDialogType" - GET_FEDCM_ACCOUNT_LIST: str = "getFedcmAccountList" - SELECT_FEDCM_ACCOUNT: str = "selectFedcmAccount" - CLICK_FEDCM_DIALOG_BUTTON: str = "clickFedcmDialogButton" - CANCEL_FEDCM_DIALOG: str = "cancelFedcmDialog" - SET_FEDCM_DELAY: str = "setFedcmDelay" - RESET_FEDCM_COOLDOWN: str = "resetFedcmCooldown"
+ GET_FEDCM_TITLE: str = "getFedcmTitle" + GET_FEDCM_DIALOG_TYPE: str = "getFedcmDialogType" + GET_FEDCM_ACCOUNT_LIST: str = "getFedcmAccountList" + SELECT_FEDCM_ACCOUNT: str = "selectFedcmAccount" + CLICK_FEDCM_DIALOG_BUTTON: str = "clickFedcmDialogButton" + CANCEL_FEDCM_DIALOG: str = "cancelFedcmDialog" + SET_FEDCM_DELAY: str = "setFedcmDelay" + RESET_FEDCM_COOLDOWN: str = "resetFedcmCooldown"
+
-
-
+
-
+
+ + + \ No newline at end of file diff --git a/docs/api/py/_modules/selenium/webdriver/remote/errorhandler.html b/docs/api/py/_modules/selenium/webdriver/remote/errorhandler.html index 258c15c4e712a..cc230a8270135 100644 --- a/docs/api/py/_modules/selenium/webdriver/remote/errorhandler.html +++ b/docs/api/py/_modules/selenium/webdriver/remote/errorhandler.html @@ -1,54 +1,210 @@ - + - selenium.webdriver.remote.errorhandler — Selenium 4.29.0.202501201850 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + selenium.webdriver.remote.errorhandler — Selenium 4.30.0 documentation - + + + + + + + + + + + + + + + + + + + + + + + + Skip to content +
+ +
+ + +
- - - - - - - + +
+
+ +
+ +
+
+
+
+ + +
+
+
+ +
+
-

Source code for selenium.webdriver.remote.errorhandler

+  

Source code for selenium.webdriver.remote.errorhandler

 # Licensed to the Software Freedom Conservancy (SFC) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
 # regarding copyright ownership.  The SFC licenses this file
 # to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
+# "License"); you may not use this file except in compliance
 # with the License.  You may obtain a copy of the License at
 #
 #   http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing,
 # software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
@@ -89,11 +245,13 @@ 

Source code for selenium.webdriver.remote.errorhandler

from selenium.common.exceptions import WebDriverException -
[docs]class ExceptionMapping: - """ +
+[docs] +class ExceptionMapping: + """ :Maps each errorcode in ErrorCode object to corresponding exception Please refer to https://www.w3.org/TR/webdriver2/#errors for w3c specification - """ + """ NO_SUCH_ELEMENT = NoSuchElementException NO_SUCH_FRAME = NoSuchFrameException @@ -130,57 +288,65 @@

Source code for selenium.webdriver.remote.errorhandler

DETACHED_SHADOW_ROOT = DetachedShadowRootException
-
[docs]class ErrorCode: - """Error codes defined in the WebDriver wire protocol.""" + +
+[docs] +class ErrorCode: + """Error codes defined in the WebDriver wire protocol.""" # Keep in sync with org.openqa.selenium.remote.ErrorCodes and errorcodes.h SUCCESS = 0 - NO_SUCH_ELEMENT = [7, "no such element"] - NO_SUCH_FRAME = [8, "no such frame"] - NO_SUCH_SHADOW_ROOT = ["no such shadow root"] - UNKNOWN_COMMAND = [9, "unknown command"] - STALE_ELEMENT_REFERENCE = [10, "stale element reference"] - ELEMENT_NOT_VISIBLE = [11, "element not visible"] - INVALID_ELEMENT_STATE = [12, "invalid element state"] - UNKNOWN_ERROR = [13, "unknown error"] - ELEMENT_IS_NOT_SELECTABLE = [15, "element not selectable"] - JAVASCRIPT_ERROR = [17, "javascript error"] - XPATH_LOOKUP_ERROR = [19, "invalid selector"] - TIMEOUT = [21, "timeout"] - NO_SUCH_WINDOW = [23, "no such window"] - INVALID_COOKIE_DOMAIN = [24, "invalid cookie domain"] - UNABLE_TO_SET_COOKIE = [25, "unable to set cookie"] - UNEXPECTED_ALERT_OPEN = [26, "unexpected alert open"] - NO_ALERT_OPEN = [27, "no such alert"] - SCRIPT_TIMEOUT = [28, "script timeout"] - INVALID_ELEMENT_COORDINATES = [29, "invalid element coordinates"] - IME_NOT_AVAILABLE = [30, "ime not available"] - IME_ENGINE_ACTIVATION_FAILED = [31, "ime engine activation failed"] - INVALID_SELECTOR = [32, "invalid selector"] - SESSION_NOT_CREATED = [33, "session not created"] - MOVE_TARGET_OUT_OF_BOUNDS = [34, "move target out of bounds"] - INVALID_XPATH_SELECTOR = [51, "invalid selector"] - INVALID_XPATH_SELECTOR_RETURN_TYPER = [52, "invalid selector"] - - ELEMENT_NOT_INTERACTABLE = [60, "element not interactable"] - INSECURE_CERTIFICATE = ["insecure certificate"] - INVALID_ARGUMENT = [61, "invalid argument"] - INVALID_COORDINATES = ["invalid coordinates"] - INVALID_SESSION_ID = ["invalid session id"] - NO_SUCH_COOKIE = [62, "no such cookie"] - UNABLE_TO_CAPTURE_SCREEN = [63, "unable to capture screen"] - ELEMENT_CLICK_INTERCEPTED = [64, "element click intercepted"] - UNKNOWN_METHOD = ["unknown method exception"] - DETACHED_SHADOW_ROOT = [65, "detached shadow root"] - - METHOD_NOT_ALLOWED = [405, "unsupported operation"]
- - -
[docs]class ErrorHandler: - """Handles errors returned by the WebDriver server.""" - -
[docs] def check_response(self, response: Dict[str, Any]) -> None: - """Checks that a JSON response from the WebDriver does not have an + NO_SUCH_ELEMENT = [7, "no such element"] + NO_SUCH_FRAME = [8, "no such frame"] + NO_SUCH_SHADOW_ROOT = ["no such shadow root"] + UNKNOWN_COMMAND = [9, "unknown command"] + STALE_ELEMENT_REFERENCE = [10, "stale element reference"] + ELEMENT_NOT_VISIBLE = [11, "element not visible"] + INVALID_ELEMENT_STATE = [12, "invalid element state"] + UNKNOWN_ERROR = [13, "unknown error"] + ELEMENT_IS_NOT_SELECTABLE = [15, "element not selectable"] + JAVASCRIPT_ERROR = [17, "javascript error"] + XPATH_LOOKUP_ERROR = [19, "invalid selector"] + TIMEOUT = [21, "timeout"] + NO_SUCH_WINDOW = [23, "no such window"] + INVALID_COOKIE_DOMAIN = [24, "invalid cookie domain"] + UNABLE_TO_SET_COOKIE = [25, "unable to set cookie"] + UNEXPECTED_ALERT_OPEN = [26, "unexpected alert open"] + NO_ALERT_OPEN = [27, "no such alert"] + SCRIPT_TIMEOUT = [28, "script timeout"] + INVALID_ELEMENT_COORDINATES = [29, "invalid element coordinates"] + IME_NOT_AVAILABLE = [30, "ime not available"] + IME_ENGINE_ACTIVATION_FAILED = [31, "ime engine activation failed"] + INVALID_SELECTOR = [32, "invalid selector"] + SESSION_NOT_CREATED = [33, "session not created"] + MOVE_TARGET_OUT_OF_BOUNDS = [34, "move target out of bounds"] + INVALID_XPATH_SELECTOR = [51, "invalid selector"] + INVALID_XPATH_SELECTOR_RETURN_TYPER = [52, "invalid selector"] + + ELEMENT_NOT_INTERACTABLE = [60, "element not interactable"] + INSECURE_CERTIFICATE = ["insecure certificate"] + INVALID_ARGUMENT = [61, "invalid argument"] + INVALID_COORDINATES = ["invalid coordinates"] + INVALID_SESSION_ID = ["invalid session id"] + NO_SUCH_COOKIE = [62, "no such cookie"] + UNABLE_TO_CAPTURE_SCREEN = [63, "unable to capture screen"] + ELEMENT_CLICK_INTERCEPTED = [64, "element click intercepted"] + UNKNOWN_METHOD = ["unknown method exception"] + DETACHED_SHADOW_ROOT = [65, "detached shadow root"] + + METHOD_NOT_ALLOWED = [405, "unsupported operation"]
+ + + +
+[docs] +class ErrorHandler: + """Handles errors returned by the WebDriver server.""" + +
+[docs] + def check_response(self, response: Dict[str, Any]) -> None: + """Checks that a JSON response from the WebDriver does not have an error. :Args: @@ -188,38 +354,38 @@

Source code for selenium.webdriver.remote.errorhandler

object. :Raises: If the response contains an error message. - """ - status = response.get("status", None) + """ + status = response.get("status", None) if not status or status == ErrorCode.SUCCESS: return value = None - message = response.get("message", "") - screen: str = response.get("screen", "") + message = response.get("message", "") + screen: str = response.get("screen", "") stacktrace = None if isinstance(status, int): - value_json = response.get("value", None) + value_json = response.get("value", None) if value_json and isinstance(value_json, str): import json try: value = json.loads(value_json) if len(value) == 1: - value = value["value"] - status = value.get("error", None) + value = value["value"] + status = value.get("error", None) if not status: - status = value.get("status", ErrorCode.UNKNOWN_ERROR) - message = value.get("value") or value.get("message") + status = value.get("status", ErrorCode.UNKNOWN_ERROR) + message = value.get("value") or value.get("message") if not isinstance(message, str): value = message - message = message.get("message") + message = message.get("message") else: - message = value.get("message", None) + message = value.get("message", None) except ValueError: pass exception_class: Type[WebDriverException] e = ErrorCode() - error_codes = [item for item in dir(e) if not item.startswith("__")] + error_codes = [item for item in dir(e) if not item.startswith("__")] for error_code in error_codes: error_info = getattr(ErrorCode, error_code) if isinstance(error_info, list) and status in error_info: @@ -229,83 +395,75 @@

Source code for selenium.webdriver.remote.errorhandler

exception_class = WebDriverException if not value: - value = response["value"] + value = response["value"] if isinstance(value, str): raise exception_class(value) - if message == "" and "message" in value: - message = value["message"] + if message == "" and "message" in value: + message = value["message"] screen = None # type: ignore[assignment] - if "screen" in value: - screen = value["screen"] + if "screen" in value: + screen = value["screen"] stacktrace = None - st_value = value.get("stackTrace") or value.get("stacktrace") + st_value = value.get("stackTrace") or value.get("stacktrace") if st_value: if isinstance(st_value, str): - stacktrace = st_value.split("\n") + stacktrace = st_value.split("\n") else: stacktrace = [] try: for frame in st_value: - line = frame.get("lineNumber", "") - file = frame.get("fileName", "<anonymous>") + line = frame.get("lineNumber", "") + file = frame.get("fileName", "<anonymous>") if line: - file = f"{file}:{line}" - meth = frame.get("methodName", "<anonymous>") - if "className" in frame: - meth = f"{frame['className']}.{meth}" - msg = " at %s (%s)" + file = f"{file}:{line}" + meth = frame.get("methodName", "<anonymous>") + if "className" in frame: + meth = f"{frame['className']}.{meth}" + msg = " at %s (%s)" msg = msg % (meth, file) stacktrace.append(msg) except TypeError: pass if exception_class == UnexpectedAlertPresentException: alert_text = None - if "data" in value: - alert_text = value["data"].get("text") - elif "alert" in value: - alert_text = value["alert"].get("text") + if "data" in value: + alert_text = value["data"].get("text") + elif "alert" in value: + alert_text = value["alert"].get("text") raise exception_class(message, screen, stacktrace, alert_text) # type: ignore[call-arg] # mypy is not smart enough here - raise exception_class(message, screen, stacktrace)
+ raise exception_class(message, screen, stacktrace)
+
+
-
-
+
-
+
+ + + \ No newline at end of file diff --git a/docs/api/py/_modules/selenium/webdriver/remote/file_detector.html b/docs/api/py/_modules/selenium/webdriver/remote/file_detector.html index 6e2ca5a16dbe9..12b2c14eb77c8 100644 --- a/docs/api/py/_modules/selenium/webdriver/remote/file_detector.html +++ b/docs/api/py/_modules/selenium/webdriver/remote/file_detector.html @@ -1,54 +1,210 @@ - + - selenium.webdriver.remote.file_detector — Selenium 4.29.0.202501201850 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + selenium.webdriver.remote.file_detector — Selenium 4.30.0 documentation - + + + + + + + + + + + + + + + + + + + + + + + + Skip to content +
+ +
+ + +
- - - - - - - + +
+
+ +
+ +
+
+
+
+ + +
+
+
+ +
+
-

Source code for selenium.webdriver.remote.file_detector

+  

Source code for selenium.webdriver.remote.file_detector

 # Licensed to the Software Freedom Conservancy (SFC) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
 # regarding copyright ownership.  The SFC licenses this file
 # to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
+# "License"); you may not use this file except in compliance
 # with the License.  You may obtain a copy of the License at
 #
 #   http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing,
 # software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
@@ -63,70 +219,78 @@ 

Source code for selenium.webdriver.remote.file_detector

from selenium.webdriver.common.utils import keys_to_typing -
[docs]class FileDetector(metaclass=ABCMeta): - """Used for identifying whether a sequence of chars represents the path to - a file.""" +
+[docs] +class FileDetector(metaclass=ABCMeta): + """Used for identifying whether a sequence of chars represents the path to + a file.""" -
[docs] @abstractmethod +
+[docs] + @abstractmethod def is_local_file(self, *keys: AnyKey) -> Optional[str]: - raise NotImplementedError
+ raise NotImplementedError
+
+ -
[docs]class UselessFileDetector(FileDetector): - """A file detector that never finds anything.""" +
+[docs] +class UselessFileDetector(FileDetector): + """A file detector that never finds anything.""" + +
+[docs] + def is_local_file(self, *keys: AnyKey) -> Optional[str]: + return None
+
-
[docs] def is_local_file(self, *keys: AnyKey) -> Optional[str]: - return None
-
[docs]class LocalFileDetector(FileDetector): - """Detects files on the local disk.""" +
+[docs] +class LocalFileDetector(FileDetector): + """Detects files on the local disk.""" -
[docs] def is_local_file(self, *keys: AnyKey) -> Optional[str]: - file_path = "".join(keys_to_typing(keys)) +
+[docs] + def is_local_file(self, *keys: AnyKey) -> Optional[str]: + file_path = "".join(keys_to_typing(keys)) with suppress(OSError): if Path(file_path).is_file(): return file_path - return None
+ return None
+
+
-
-
+
-
+
+ + + \ No newline at end of file diff --git a/docs/api/py/_modules/selenium/webdriver/remote/mobile.html b/docs/api/py/_modules/selenium/webdriver/remote/mobile.html index 683c7adb50ba8..02c40fcab6caf 100644 --- a/docs/api/py/_modules/selenium/webdriver/remote/mobile.html +++ b/docs/api/py/_modules/selenium/webdriver/remote/mobile.html @@ -1,54 +1,210 @@ - + - selenium.webdriver.remote.mobile — Selenium 4.29.0.202501201850 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + selenium.webdriver.remote.mobile — Selenium 4.30.0 documentation - + + + + + + + + + + + + + + + + + + + + + + + + Skip to content +
+ +
+ + +
- - - - - - - + +
+
+ +
+
+ +
+
+
+
+
+ + +
+
+
+ +
+
-

Source code for selenium.webdriver.remote.mobile

+  

Source code for selenium.webdriver.remote.mobile

 # Licensed to the Software Freedom Conservancy (SFC) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
 # regarding copyright ownership.  The SFC licenses this file
 # to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
+# "License"); you may not use this file except in compliance
 # with the License.  You may obtain a copy of the License at
 #
 #   http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing,
 # software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
@@ -73,7 +229,9 @@ 

Source code for selenium.webdriver.remote.mobile

return (self.mask / 4) > 0 -
[docs]class Mobile: +
+[docs] +class Mobile: ConnectionType = _ConnectionType ALL_NETWORK = ConnectionType(6) WIFI_NETWORK = ConnectionType(2) @@ -87,74 +245,68 @@

Source code for selenium.webdriver.remote.mobile

@property def network_connection(self): - return self.ConnectionType(self._driver.execute(Command.GET_NETWORK_CONNECTION)["value"]) + return self.ConnectionType(self._driver.execute(Command.GET_NETWORK_CONNECTION)["value"]) -
[docs] def set_network_connection(self, network): - """Set the network connection for the remote device. +
+[docs] + def set_network_connection(self, network): + """Set the network connection for the remote device. Example of setting airplane mode:: driver.mobile.set_network_connection(driver.mobile.AIRPLANE_MODE) - """ + """ mode = network.mask if isinstance(network, self.ConnectionType) else network return self.ConnectionType( self._driver.execute( - Command.SET_NETWORK_CONNECTION, {"name": "network_connection", "parameters": {"type": mode}} - )["value"] + Command.SET_NETWORK_CONNECTION, {"name": "network_connection", "parameters": {"type": mode}} + )["value"] )
+ @property def context(self): - """Returns the current context (Native or WebView).""" + """Returns the current context (Native or WebView).""" return self._driver.execute(Command.CURRENT_CONTEXT_HANDLE) @context.setter def context(self, new_context) -> None: - """Sets the current context.""" - self._driver.execute(Command.SWITCH_TO_CONTEXT, {"name": new_context}) + """Sets the current context.""" + self._driver.execute(Command.SWITCH_TO_CONTEXT, {"name": new_context}) @property def contexts(self): - """Returns a list of available contexts.""" + """Returns a list of available contexts.""" return self._driver.execute(Command.CONTEXT_HANDLES)
+
-
-
+
-
+
+ + + \ No newline at end of file diff --git a/docs/api/py/_modules/selenium/webdriver/remote/remote_connection.html b/docs/api/py/_modules/selenium/webdriver/remote/remote_connection.html index c3cebe387a572..d127e2f429e5b 100644 --- a/docs/api/py/_modules/selenium/webdriver/remote/remote_connection.html +++ b/docs/api/py/_modules/selenium/webdriver/remote/remote_connection.html @@ -1,54 +1,210 @@ - + - selenium.webdriver.remote.remote_connection — Selenium 4.29.0.202501201850 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + selenium.webdriver.remote.remote_connection — Selenium 4.30.0 documentation - + + + + + + + + + + + + + + + + + + + + + + + + Skip to content +
+ +
+ + +
- - - - - - - + +
+
+ +
+ +
+
+
+
+ + +
+
+
+ +
+
-

Source code for selenium.webdriver.remote.remote_connection

+  

Source code for selenium.webdriver.remote.remote_connection

 # Licensed to the Software Freedom Conservancy (SFC) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
 # regarding copyright ownership.  The SFC licenses this file
 # to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
+# "License"); you may not use this file except in compliance
 # with the License.  You may obtain a copy of the License at
 #
 #   http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing,
 # software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
@@ -74,114 +230,116 @@ 

Source code for selenium.webdriver.remote.remote_connection

LOGGER = logging.getLogger(__name__) remote_commands = { - Command.NEW_SESSION: ("POST", "/session"), - Command.QUIT: ("DELETE", "/session/$sessionId"), - Command.W3C_GET_CURRENT_WINDOW_HANDLE: ("GET", "/session/$sessionId/window"), - Command.W3C_GET_WINDOW_HANDLES: ("GET", "/session/$sessionId/window/handles"), - Command.GET: ("POST", "/session/$sessionId/url"), - Command.GO_FORWARD: ("POST", "/session/$sessionId/forward"), - Command.GO_BACK: ("POST", "/session/$sessionId/back"), - Command.REFRESH: ("POST", "/session/$sessionId/refresh"), - Command.W3C_EXECUTE_SCRIPT: ("POST", "/session/$sessionId/execute/sync"), - Command.W3C_EXECUTE_SCRIPT_ASYNC: ("POST", "/session/$sessionId/execute/async"), - Command.GET_CURRENT_URL: ("GET", "/session/$sessionId/url"), - Command.GET_TITLE: ("GET", "/session/$sessionId/title"), - Command.GET_PAGE_SOURCE: ("GET", "/session/$sessionId/source"), - Command.SCREENSHOT: ("GET", "/session/$sessionId/screenshot"), - Command.ELEMENT_SCREENSHOT: ("GET", "/session/$sessionId/element/$id/screenshot"), - Command.FIND_ELEMENT: ("POST", "/session/$sessionId/element"), - Command.FIND_ELEMENTS: ("POST", "/session/$sessionId/elements"), - Command.W3C_GET_ACTIVE_ELEMENT: ("GET", "/session/$sessionId/element/active"), - Command.FIND_CHILD_ELEMENT: ("POST", "/session/$sessionId/element/$id/element"), - Command.FIND_CHILD_ELEMENTS: ("POST", "/session/$sessionId/element/$id/elements"), - Command.CLICK_ELEMENT: ("POST", "/session/$sessionId/element/$id/click"), - Command.CLEAR_ELEMENT: ("POST", "/session/$sessionId/element/$id/clear"), - Command.GET_ELEMENT_TEXT: ("GET", "/session/$sessionId/element/$id/text"), - Command.SEND_KEYS_TO_ELEMENT: ("POST", "/session/$sessionId/element/$id/value"), - Command.GET_ELEMENT_TAG_NAME: ("GET", "/session/$sessionId/element/$id/name"), - Command.IS_ELEMENT_SELECTED: ("GET", "/session/$sessionId/element/$id/selected"), - Command.IS_ELEMENT_ENABLED: ("GET", "/session/$sessionId/element/$id/enabled"), - Command.GET_ELEMENT_RECT: ("GET", "/session/$sessionId/element/$id/rect"), - Command.GET_ELEMENT_ATTRIBUTE: ("GET", "/session/$sessionId/element/$id/attribute/$name"), - Command.GET_ELEMENT_PROPERTY: ("GET", "/session/$sessionId/element/$id/property/$name"), - Command.GET_ELEMENT_ARIA_ROLE: ("GET", "/session/$sessionId/element/$id/computedrole"), - Command.GET_ELEMENT_ARIA_LABEL: ("GET", "/session/$sessionId/element/$id/computedlabel"), - Command.GET_SHADOW_ROOT: ("GET", "/session/$sessionId/element/$id/shadow"), - Command.FIND_ELEMENT_FROM_SHADOW_ROOT: ("POST", "/session/$sessionId/shadow/$shadowId/element"), - Command.FIND_ELEMENTS_FROM_SHADOW_ROOT: ("POST", "/session/$sessionId/shadow/$shadowId/elements"), - Command.GET_ALL_COOKIES: ("GET", "/session/$sessionId/cookie"), - Command.ADD_COOKIE: ("POST", "/session/$sessionId/cookie"), - Command.GET_COOKIE: ("GET", "/session/$sessionId/cookie/$name"), - Command.DELETE_ALL_COOKIES: ("DELETE", "/session/$sessionId/cookie"), - Command.DELETE_COOKIE: ("DELETE", "/session/$sessionId/cookie/$name"), - Command.SWITCH_TO_FRAME: ("POST", "/session/$sessionId/frame"), - Command.SWITCH_TO_PARENT_FRAME: ("POST", "/session/$sessionId/frame/parent"), - Command.SWITCH_TO_WINDOW: ("POST", "/session/$sessionId/window"), - Command.NEW_WINDOW: ("POST", "/session/$sessionId/window/new"), - Command.CLOSE: ("DELETE", "/session/$sessionId/window"), - Command.GET_ELEMENT_VALUE_OF_CSS_PROPERTY: ("GET", "/session/$sessionId/element/$id/css/$propertyName"), - Command.EXECUTE_ASYNC_SCRIPT: ("POST", "/session/$sessionId/execute_async"), - Command.SET_TIMEOUTS: ("POST", "/session/$sessionId/timeouts"), - Command.GET_TIMEOUTS: ("GET", "/session/$sessionId/timeouts"), - Command.W3C_DISMISS_ALERT: ("POST", "/session/$sessionId/alert/dismiss"), - Command.W3C_ACCEPT_ALERT: ("POST", "/session/$sessionId/alert/accept"), - Command.W3C_SET_ALERT_VALUE: ("POST", "/session/$sessionId/alert/text"), - Command.W3C_GET_ALERT_TEXT: ("GET", "/session/$sessionId/alert/text"), - Command.W3C_ACTIONS: ("POST", "/session/$sessionId/actions"), - Command.W3C_CLEAR_ACTIONS: ("DELETE", "/session/$sessionId/actions"), - Command.SET_WINDOW_RECT: ("POST", "/session/$sessionId/window/rect"), - Command.GET_WINDOW_RECT: ("GET", "/session/$sessionId/window/rect"), - Command.W3C_MAXIMIZE_WINDOW: ("POST", "/session/$sessionId/window/maximize"), - Command.SET_SCREEN_ORIENTATION: ("POST", "/session/$sessionId/orientation"), - Command.GET_SCREEN_ORIENTATION: ("GET", "/session/$sessionId/orientation"), - Command.GET_NETWORK_CONNECTION: ("GET", "/session/$sessionId/network_connection"), - Command.SET_NETWORK_CONNECTION: ("POST", "/session/$sessionId/network_connection"), - Command.GET_LOG: ("POST", "/session/$sessionId/se/log"), - Command.GET_AVAILABLE_LOG_TYPES: ("GET", "/session/$sessionId/se/log/types"), - Command.CURRENT_CONTEXT_HANDLE: ("GET", "/session/$sessionId/context"), - Command.CONTEXT_HANDLES: ("GET", "/session/$sessionId/contexts"), - Command.SWITCH_TO_CONTEXT: ("POST", "/session/$sessionId/context"), - Command.FULLSCREEN_WINDOW: ("POST", "/session/$sessionId/window/fullscreen"), - Command.MINIMIZE_WINDOW: ("POST", "/session/$sessionId/window/minimize"), - Command.PRINT_PAGE: ("POST", "/session/$sessionId/print"), - Command.ADD_VIRTUAL_AUTHENTICATOR: ("POST", "/session/$sessionId/webauthn/authenticator"), + Command.NEW_SESSION: ("POST", "/session"), + Command.QUIT: ("DELETE", "/session/$sessionId"), + Command.W3C_GET_CURRENT_WINDOW_HANDLE: ("GET", "/session/$sessionId/window"), + Command.W3C_GET_WINDOW_HANDLES: ("GET", "/session/$sessionId/window/handles"), + Command.GET: ("POST", "/session/$sessionId/url"), + Command.GO_FORWARD: ("POST", "/session/$sessionId/forward"), + Command.GO_BACK: ("POST", "/session/$sessionId/back"), + Command.REFRESH: ("POST", "/session/$sessionId/refresh"), + Command.W3C_EXECUTE_SCRIPT: ("POST", "/session/$sessionId/execute/sync"), + Command.W3C_EXECUTE_SCRIPT_ASYNC: ("POST", "/session/$sessionId/execute/async"), + Command.GET_CURRENT_URL: ("GET", "/session/$sessionId/url"), + Command.GET_TITLE: ("GET", "/session/$sessionId/title"), + Command.GET_PAGE_SOURCE: ("GET", "/session/$sessionId/source"), + Command.SCREENSHOT: ("GET", "/session/$sessionId/screenshot"), + Command.ELEMENT_SCREENSHOT: ("GET", "/session/$sessionId/element/$id/screenshot"), + Command.FIND_ELEMENT: ("POST", "/session/$sessionId/element"), + Command.FIND_ELEMENTS: ("POST", "/session/$sessionId/elements"), + Command.W3C_GET_ACTIVE_ELEMENT: ("GET", "/session/$sessionId/element/active"), + Command.FIND_CHILD_ELEMENT: ("POST", "/session/$sessionId/element/$id/element"), + Command.FIND_CHILD_ELEMENTS: ("POST", "/session/$sessionId/element/$id/elements"), + Command.CLICK_ELEMENT: ("POST", "/session/$sessionId/element/$id/click"), + Command.CLEAR_ELEMENT: ("POST", "/session/$sessionId/element/$id/clear"), + Command.GET_ELEMENT_TEXT: ("GET", "/session/$sessionId/element/$id/text"), + Command.SEND_KEYS_TO_ELEMENT: ("POST", "/session/$sessionId/element/$id/value"), + Command.GET_ELEMENT_TAG_NAME: ("GET", "/session/$sessionId/element/$id/name"), + Command.IS_ELEMENT_SELECTED: ("GET", "/session/$sessionId/element/$id/selected"), + Command.IS_ELEMENT_ENABLED: ("GET", "/session/$sessionId/element/$id/enabled"), + Command.GET_ELEMENT_RECT: ("GET", "/session/$sessionId/element/$id/rect"), + Command.GET_ELEMENT_ATTRIBUTE: ("GET", "/session/$sessionId/element/$id/attribute/$name"), + Command.GET_ELEMENT_PROPERTY: ("GET", "/session/$sessionId/element/$id/property/$name"), + Command.GET_ELEMENT_ARIA_ROLE: ("GET", "/session/$sessionId/element/$id/computedrole"), + Command.GET_ELEMENT_ARIA_LABEL: ("GET", "/session/$sessionId/element/$id/computedlabel"), + Command.GET_SHADOW_ROOT: ("GET", "/session/$sessionId/element/$id/shadow"), + Command.FIND_ELEMENT_FROM_SHADOW_ROOT: ("POST", "/session/$sessionId/shadow/$shadowId/element"), + Command.FIND_ELEMENTS_FROM_SHADOW_ROOT: ("POST", "/session/$sessionId/shadow/$shadowId/elements"), + Command.GET_ALL_COOKIES: ("GET", "/session/$sessionId/cookie"), + Command.ADD_COOKIE: ("POST", "/session/$sessionId/cookie"), + Command.GET_COOKIE: ("GET", "/session/$sessionId/cookie/$name"), + Command.DELETE_ALL_COOKIES: ("DELETE", "/session/$sessionId/cookie"), + Command.DELETE_COOKIE: ("DELETE", "/session/$sessionId/cookie/$name"), + Command.SWITCH_TO_FRAME: ("POST", "/session/$sessionId/frame"), + Command.SWITCH_TO_PARENT_FRAME: ("POST", "/session/$sessionId/frame/parent"), + Command.SWITCH_TO_WINDOW: ("POST", "/session/$sessionId/window"), + Command.NEW_WINDOW: ("POST", "/session/$sessionId/window/new"), + Command.CLOSE: ("DELETE", "/session/$sessionId/window"), + Command.GET_ELEMENT_VALUE_OF_CSS_PROPERTY: ("GET", "/session/$sessionId/element/$id/css/$propertyName"), + Command.EXECUTE_ASYNC_SCRIPT: ("POST", "/session/$sessionId/execute_async"), + Command.SET_TIMEOUTS: ("POST", "/session/$sessionId/timeouts"), + Command.GET_TIMEOUTS: ("GET", "/session/$sessionId/timeouts"), + Command.W3C_DISMISS_ALERT: ("POST", "/session/$sessionId/alert/dismiss"), + Command.W3C_ACCEPT_ALERT: ("POST", "/session/$sessionId/alert/accept"), + Command.W3C_SET_ALERT_VALUE: ("POST", "/session/$sessionId/alert/text"), + Command.W3C_GET_ALERT_TEXT: ("GET", "/session/$sessionId/alert/text"), + Command.W3C_ACTIONS: ("POST", "/session/$sessionId/actions"), + Command.W3C_CLEAR_ACTIONS: ("DELETE", "/session/$sessionId/actions"), + Command.SET_WINDOW_RECT: ("POST", "/session/$sessionId/window/rect"), + Command.GET_WINDOW_RECT: ("GET", "/session/$sessionId/window/rect"), + Command.W3C_MAXIMIZE_WINDOW: ("POST", "/session/$sessionId/window/maximize"), + Command.SET_SCREEN_ORIENTATION: ("POST", "/session/$sessionId/orientation"), + Command.GET_SCREEN_ORIENTATION: ("GET", "/session/$sessionId/orientation"), + Command.GET_NETWORK_CONNECTION: ("GET", "/session/$sessionId/network_connection"), + Command.SET_NETWORK_CONNECTION: ("POST", "/session/$sessionId/network_connection"), + Command.GET_LOG: ("POST", "/session/$sessionId/se/log"), + Command.GET_AVAILABLE_LOG_TYPES: ("GET", "/session/$sessionId/se/log/types"), + Command.CURRENT_CONTEXT_HANDLE: ("GET", "/session/$sessionId/context"), + Command.CONTEXT_HANDLES: ("GET", "/session/$sessionId/contexts"), + Command.SWITCH_TO_CONTEXT: ("POST", "/session/$sessionId/context"), + Command.FULLSCREEN_WINDOW: ("POST", "/session/$sessionId/window/fullscreen"), + Command.MINIMIZE_WINDOW: ("POST", "/session/$sessionId/window/minimize"), + Command.PRINT_PAGE: ("POST", "/session/$sessionId/print"), + Command.ADD_VIRTUAL_AUTHENTICATOR: ("POST", "/session/$sessionId/webauthn/authenticator"), Command.REMOVE_VIRTUAL_AUTHENTICATOR: ( - "DELETE", - "/session/$sessionId/webauthn/authenticator/$authenticatorId", + "DELETE", + "/session/$sessionId/webauthn/authenticator/$authenticatorId", ), - Command.ADD_CREDENTIAL: ("POST", "/session/$sessionId/webauthn/authenticator/$authenticatorId/credential"), - Command.GET_CREDENTIALS: ("GET", "/session/$sessionId/webauthn/authenticator/$authenticatorId/credentials"), + Command.ADD_CREDENTIAL: ("POST", "/session/$sessionId/webauthn/authenticator/$authenticatorId/credential"), + Command.GET_CREDENTIALS: ("GET", "/session/$sessionId/webauthn/authenticator/$authenticatorId/credentials"), Command.REMOVE_CREDENTIAL: ( - "DELETE", - "/session/$sessionId/webauthn/authenticator/$authenticatorId/credentials/$credentialId", + "DELETE", + "/session/$sessionId/webauthn/authenticator/$authenticatorId/credentials/$credentialId", ), Command.REMOVE_ALL_CREDENTIALS: ( - "DELETE", - "/session/$sessionId/webauthn/authenticator/$authenticatorId/credentials", + "DELETE", + "/session/$sessionId/webauthn/authenticator/$authenticatorId/credentials", ), - Command.SET_USER_VERIFIED: ("POST", "/session/$sessionId/webauthn/authenticator/$authenticatorId/uv"), - Command.UPLOAD_FILE: ("POST", "/session/$sessionId/se/file"), - Command.GET_DOWNLOADABLE_FILES: ("GET", "/session/$sessionId/se/files"), - Command.DOWNLOAD_FILE: ("POST", "/session/$sessionId/se/files"), - Command.DELETE_DOWNLOADABLE_FILES: ("DELETE", "/session/$sessionId/se/files"), + Command.SET_USER_VERIFIED: ("POST", "/session/$sessionId/webauthn/authenticator/$authenticatorId/uv"), + Command.UPLOAD_FILE: ("POST", "/session/$sessionId/se/file"), + Command.GET_DOWNLOADABLE_FILES: ("GET", "/session/$sessionId/se/files"), + Command.DOWNLOAD_FILE: ("POST", "/session/$sessionId/se/files"), + Command.DELETE_DOWNLOADABLE_FILES: ("DELETE", "/session/$sessionId/se/files"), # Federated Credential Management (FedCM) - Command.GET_FEDCM_TITLE: ("GET", "/session/$sessionId/fedcm/gettitle"), - Command.GET_FEDCM_DIALOG_TYPE: ("GET", "/session/$sessionId/fedcm/getdialogtype"), - Command.GET_FEDCM_ACCOUNT_LIST: ("GET", "/session/$sessionId/fedcm/accountlist"), - Command.CLICK_FEDCM_DIALOG_BUTTON: ("POST", "/session/$sessionId/fedcm/clickdialogbutton"), - Command.CANCEL_FEDCM_DIALOG: ("POST", "/session/$sessionId/fedcm/canceldialog"), - Command.SELECT_FEDCM_ACCOUNT: ("POST", "/session/$sessionId/fedcm/selectaccount"), - Command.SET_FEDCM_DELAY: ("POST", "/session/$sessionId/fedcm/setdelayenabled"), - Command.RESET_FEDCM_COOLDOWN: ("POST", "/session/$sessionId/fedcm/resetcooldown"), + Command.GET_FEDCM_TITLE: ("GET", "/session/$sessionId/fedcm/gettitle"), + Command.GET_FEDCM_DIALOG_TYPE: ("GET", "/session/$sessionId/fedcm/getdialogtype"), + Command.GET_FEDCM_ACCOUNT_LIST: ("GET", "/session/$sessionId/fedcm/accountlist"), + Command.CLICK_FEDCM_DIALOG_BUTTON: ("POST", "/session/$sessionId/fedcm/clickdialogbutton"), + Command.CANCEL_FEDCM_DIALOG: ("POST", "/session/$sessionId/fedcm/canceldialog"), + Command.SELECT_FEDCM_ACCOUNT: ("POST", "/session/$sessionId/fedcm/selectaccount"), + Command.SET_FEDCM_DELAY: ("POST", "/session/$sessionId/fedcm/setdelayenabled"), + Command.RESET_FEDCM_COOLDOWN: ("POST", "/session/$sessionId/fedcm/resetcooldown"), } -
[docs]class RemoteConnection: - """A connection with the Remote WebDriver server. +
+[docs] +class RemoteConnection: + """A connection with the Remote WebDriver server. Communicates with the server using the WebDriver wire protocol: https://github.com/SeleniumHQ/selenium/wiki/JsonWireProtocol - """ + """ browser_name = None # Keep backward compatibility for AppiumConnection - https://github.com/SeleniumHQ/selenium/issues/14694 @@ -191,120 +349,138 @@

Source code for selenium.webdriver.remote.remote_connection

import certifi _timeout = ( - float(os.getenv("GLOBAL_DEFAULT_TIMEOUT", str(socket.getdefaulttimeout()))) - if os.getenv("GLOBAL_DEFAULT_TIMEOUT") is not None + float(os.getenv("GLOBAL_DEFAULT_TIMEOUT", str(socket.getdefaulttimeout()))) + if os.getenv("GLOBAL_DEFAULT_TIMEOUT") is not None else socket.getdefaulttimeout() ) - _ca_certs = os.getenv("REQUESTS_CA_BUNDLE") if "REQUESTS_CA_BUNDLE" in os.environ else certifi.where() + _ca_certs = os.getenv("REQUESTS_CA_BUNDLE") if "REQUESTS_CA_BUNDLE" in os.environ else certifi.where() _client_config: ClientConfig = None system = platform.system().lower() - if system == "darwin": - system = "mac" + if system == "darwin": + system = "mac" # Class variables for headers extra_headers = None - user_agent = f"selenium/{__version__} (python {system})" + user_agent = f"selenium/{__version__} (python {system})" -
[docs] @classmethod +
+[docs] + @classmethod def get_timeout(cls): - """:Returns: + """:Returns: Timeout value in seconds for all http requests made to the Remote Connection - """ + """ warnings.warn( - "get_timeout() in RemoteConnection is deprecated, get timeout from ClientConfig instance instead", + "get_timeout() in RemoteConnection is deprecated, get timeout from ClientConfig instance instead", DeprecationWarning, stacklevel=2, ) return cls._client_config.timeout
-
[docs] @classmethod + +
+[docs] + @classmethod def set_timeout(cls, timeout): - """Override the default timeout. + """Override the default timeout. :Args: - timeout - timeout value for http requests in seconds - """ + """ warnings.warn( - "set_timeout() in RemoteConnection is deprecated, set timeout to ClientConfig instance in constructor instead", + "set_timeout() in RemoteConnection is deprecated, set timeout to ClientConfig instance in constructor instead", DeprecationWarning, stacklevel=2, ) cls._client_config.timeout = timeout
-
[docs] @classmethod + +
+[docs] + @classmethod def reset_timeout(cls): - """Reset the http request timeout to socket._GLOBAL_DEFAULT_TIMEOUT.""" + """Reset the http request timeout to socket._GLOBAL_DEFAULT_TIMEOUT.""" warnings.warn( - "reset_timeout() in RemoteConnection is deprecated, use reset_timeout() in ClientConfig instance instead", + "reset_timeout() in RemoteConnection is deprecated, use reset_timeout() in ClientConfig instance instead", DeprecationWarning, stacklevel=2, ) cls._client_config.reset_timeout()
-
[docs] @classmethod + +
+[docs] + @classmethod def get_certificate_bundle_path(cls): - """:Returns: + """:Returns: Paths of the .pem encoded certificate to verify connection to command executor. Defaults to certifi.where() or REQUESTS_CA_BUNDLE env variable if set. - """ + """ warnings.warn( - "get_certificate_bundle_path() in RemoteConnection is deprecated, get ca_certs from ClientConfig instance instead", + "get_certificate_bundle_path() in RemoteConnection is deprecated, get ca_certs from ClientConfig instance instead", DeprecationWarning, stacklevel=2, ) return cls._client_config.ca_certs
-
[docs] @classmethod + +
+[docs] + @classmethod def set_certificate_bundle_path(cls, path): - """Set the path to the certificate bundle to verify connection to + """Set the path to the certificate bundle to verify connection to command executor. Can also be set to None to disable certificate validation. :Args: - path - path of a .pem encoded certificate chain. - """ + """ warnings.warn( - "set_certificate_bundle_path() in RemoteConnection is deprecated, set ca_certs to ClientConfig instance in constructor instead", + "set_certificate_bundle_path() in RemoteConnection is deprecated, set ca_certs to ClientConfig instance in constructor instead", DeprecationWarning, stacklevel=2, ) cls._client_config.ca_certs = path
-
[docs] @classmethod + +
+[docs] + @classmethod def get_remote_connection_headers(cls, parsed_url, keep_alive=False): - """Get headers for remote request. + """Get headers for remote request. :Args: - parsed_url - The parsed url - keep_alive (Boolean) - Is this a keep-alive connection (default: False) - """ + """ headers = { - "Accept": "application/json", - "Content-Type": "application/json;charset=UTF-8", - "User-Agent": cls.user_agent, + "Accept": "application/json", + "Content-Type": "application/json;charset=UTF-8", + "User-Agent": cls.user_agent, } if parsed_url.username: warnings.warn( - "Embedding username and password in URL could be insecure, use ClientConfig instead", stacklevel=2 + "Embedding username and password in URL could be insecure, use ClientConfig instead", stacklevel=2 ) - base64string = b64encode(f"{parsed_url.username}:{parsed_url.password}".encode()) - headers.update({"Authorization": f"Basic {base64string.decode()}"}) + base64string = b64encode(f"{parsed_url.username}:{parsed_url.password}".encode()) + headers.update({"Authorization": f"Basic {base64string.decode()}"}) if keep_alive: - headers.update({"Connection": "keep-alive"}) + headers.update({"Connection": "keep-alive"}) if cls.extra_headers: headers.update(cls.extra_headers) return headers
+ def _identify_http_proxy_auth(self): parsed_url = urlparse(self._proxy_url) if parsed_url.username and parsed_url.password: @@ -312,31 +488,31 @@

Source code for selenium.webdriver.remote.remote_connection

def _separate_http_proxy_auth(self): parsed_url = urlparse(self._proxy_url) - proxy_without_auth = f"{parsed_url.scheme}://{parsed_url.hostname}:{parsed_url.port}" - auth = f"{parsed_url.username}:{parsed_url.password}" + proxy_without_auth = f"{parsed_url.scheme}://{parsed_url.hostname}:{parsed_url.port}" + auth = f"{parsed_url.username}:{parsed_url.password}" return proxy_without_auth, auth def _get_connection_manager(self): - pool_manager_init_args = {"timeout": self._client_config.timeout} + pool_manager_init_args = {"timeout": self._client_config.timeout} pool_manager_init_args.update( - self._client_config.init_args_for_pool_manager.get("init_args_for_pool_manager", {}) + self._client_config.init_args_for_pool_manager.get("init_args_for_pool_manager", {}) ) if self._client_config.ignore_certificates: - pool_manager_init_args["cert_reqs"] = "CERT_NONE" + pool_manager_init_args["cert_reqs"] = "CERT_NONE" urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning) elif self._client_config.ca_certs: - pool_manager_init_args["cert_reqs"] = "CERT_REQUIRED" - pool_manager_init_args["ca_certs"] = self._client_config.ca_certs + pool_manager_init_args["cert_reqs"] = "CERT_REQUIRED" + pool_manager_init_args["ca_certs"] = self._client_config.ca_certs if self._proxy_url: - if self._proxy_url.lower().startswith("sock"): + if self._proxy_url.lower().startswith("sock"): from urllib3.contrib.socks import SOCKSProxyManager return SOCKSProxyManager(self._proxy_url, **pool_manager_init_args) if self._identify_http_proxy_auth(): self._proxy_url, self._basic_proxy_auth = self._separate_http_proxy_auth() - pool_manager_init_args["proxy_headers"] = urllib3.make_headers(proxy_basic_auth=self._basic_proxy_auth) + pool_manager_init_args["proxy_headers"] = urllib3.make_headers(proxy_basic_auth=self._basic_proxy_auth) return urllib3.ProxyManager(self._proxy_url, **pool_manager_init_args) return urllib3.PoolManager(**pool_manager_init_args) @@ -366,35 +542,35 @@

Source code for selenium.webdriver.remote.remote_connection

if remote_server_addr: warnings.warn( - "setting remote_server_addr in RemoteConnection() is deprecated, set in ClientConfig instance instead", + "setting remote_server_addr in RemoteConnection() is deprecated, set in ClientConfig instance instead", DeprecationWarning, stacklevel=2, ) if not keep_alive: warnings.warn( - "setting keep_alive in RemoteConnection() is deprecated, set in ClientConfig instance instead", + "setting keep_alive in RemoteConnection() is deprecated, set in ClientConfig instance instead", DeprecationWarning, stacklevel=2, ) if ignore_certificates: warnings.warn( - "setting ignore_certificates in RemoteConnection() is deprecated, set in ClientConfig instance instead", + "setting ignore_certificates in RemoteConnection() is deprecated, set in ClientConfig instance instead", DeprecationWarning, stacklevel=2, ) if init_args_for_pool_manager: warnings.warn( - "setting init_args_for_pool_manager in RemoteConnection() is deprecated, set in ClientConfig instance instead", + "setting init_args_for_pool_manager in RemoteConnection() is deprecated, set in ClientConfig instance instead", DeprecationWarning, stacklevel=2, ) if ignore_proxy: warnings.warn( - "setting ignore_proxy in RemoteConnection() is deprecated, set in ClientConfig instance instead", + "setting ignore_proxy in RemoteConnection() is deprecated, set in ClientConfig instance instead", DeprecationWarning, stacklevel=2, ) @@ -408,16 +584,24 @@

Source code for selenium.webdriver.remote.remote_connection

extra_commands = {} -
[docs] def add_command(self, name, method, url): - """Register a new command.""" +
+[docs] + def add_command(self, name, method, url): + """Register a new command.""" self._commands[name] = (method, url)
-
[docs] def get_command(self, name: str): - """Retrieve a command if it exists.""" + +
+[docs] + def get_command(self, name: str): + """Retrieve a command if it exists.""" return self._commands.get(name)
-
[docs] def execute(self, command, params): - """Send a command to the remote server. + +
+[docs] + def execute(self, command, params): + """Send a command to the remote server. Any path substitutions required for the URL mapped to the command should be included in the command parameters. @@ -426,23 +610,24 @@

Source code for selenium.webdriver.remote.remote_connection

- command - A string specifying the command to execute. - params - A dictionary of named parameters to send with the command as its JSON payload. - """ + """ command_info = self._commands.get(command) or self.extra_commands.get(command) - assert command_info is not None, f"Unrecognised command {command}" + assert command_info is not None, f"Unrecognised command {command}" path_string = command_info[1] path = string.Template(path_string).substitute(params) - substitute_params = {word[1:] for word in path_string.split("/") if word.startswith("$")} # remove dollar sign + substitute_params = {word[1:] for word in path_string.split("/") if word.startswith("$")} # remove dollar sign if isinstance(params, dict) and substitute_params: for word in substitute_params: del params[word] data = utils.dump_json(params) - url = f"{self._client_config.remote_server_addr}{path}" + url = f"{self._client_config.remote_server_addr}{path}" trimmed = self._trim_large_entries(params) - LOGGER.debug("%s %s %s", command_info[0], url, str(trimmed)) + LOGGER.debug("%s %s %s", command_info[0], url, str(trimmed)) return self._request(command_info[0], url, body=data)
+ def _request(self, method, url, body=None): - """Send an HTTP request to the remote server. + """Send an HTTP request to the remote server. :Args: - method - A string for the HTTP method to send the request with. @@ -450,8 +635,8 @@

Source code for selenium.webdriver.remote.remote_connection

- body - A string for request body. Ignored unless method is POST or PUT. :Returns: - A dictionary with the server's parsed JSON response. - """ + A dictionary with the server's parsed JSON response. + """ parsed_url = parse.urlparse(url) headers = self.get_remote_connection_headers(parsed_url, self._client_config.keep_alive) auth_header = self._client_config.get_auth_header() @@ -459,7 +644,7 @@

Source code for selenium.webdriver.remote.remote_connection

if auth_header: headers.update(auth_header) - if body and method not in ("POST", "PUT"): + if body and method not in ("POST", "PUT"): body = None if self._client_config.keep_alive: @@ -470,19 +655,19 @@

Source code for selenium.webdriver.remote.remote_connection

with conn as http: response = http.request(method, url, body=body, headers=headers, timeout=self._client_config.timeout) statuscode = response.status - data = response.data.decode("UTF-8") - LOGGER.debug("Remote response: status=%s | data=%s | headers=%s", response.status, data, response.headers) + data = response.data.decode("UTF-8") + LOGGER.debug("Remote response: status=%s | data=%s | headers=%s", response.status, data, response.headers) try: if 300 <= statuscode < 304: - return self._request("GET", response.headers.get("location", None)) + return self._request("GET", response.headers.get("location", None)) if 399 < statuscode <= 500: if statuscode == 401: - return {"status": statuscode, "value": "Authorization Required"} - return {"status": statuscode, "value": str(statuscode) if not data else data.strip()} + return {"status": statuscode, "value": "Authorization Required"} + return {"status": statuscode, "value": str(statuscode) if not data else data.strip()} content_type = [] - if response.headers.get("Content-Type", None): - content_type = response.headers.get("Content-Type", None).split(";") - if not any([x.startswith("image/png") for x in content_type]): + if response.headers.get("Content-Type", None): + content_type = response.headers.get("Content-Type", None).split(";") + if not any([x.startswith("image/png") for x in content_type]): try: data = utils.load_json(data.strip()) except ValueError: @@ -490,79 +675,73 @@

Source code for selenium.webdriver.remote.remote_connection

status = ErrorCode.SUCCESS else: status = ErrorCode.UNKNOWN_ERROR - return {"status": status, "value": data.strip()} + return {"status": status, "value": data.strip()} # Some drivers incorrectly return a response - # with no 'value' field when they should return null. - if "value" not in data: - data["value"] = None + # with no 'value' field when they should return null. + if "value" not in data: + data["value"] = None return data - data = {"status": 0, "value": data} + data = {"status": 0, "value": data} return data finally: - LOGGER.debug("Finished Request") + LOGGER.debug("Finished Request") response.close() -
[docs] def close(self): - """Clean up resources when finished with the remote_connection.""" - if hasattr(self, "_conn"): +
+[docs] + def close(self): + """Clean up resources when finished with the remote_connection.""" + if hasattr(self, "_conn"): self._conn.clear()
+ def _trim_large_entries(self, input_dict, max_length=100): - """Truncate string values in a dictionary if they exceed max_length. + """Truncate string values in a dictionary if they exceed max_length. :param dict: Dictionary with potentially large values :param max_length: Maximum allowed length of string values :return: Dictionary with truncated string values - """ + """ output_dictionary = {} for key, value in input_dict.items(): if isinstance(value, dict): output_dictionary[key] = self._trim_large_entries(value, max_length) elif isinstance(value, str) and len(value) > max_length: - output_dictionary[key] = value[:max_length] + "..." + output_dictionary[key] = value[:max_length] + "..." else: output_dictionary[key] = value return output_dictionary
+
-
-
+
-
+
+ + + \ No newline at end of file diff --git a/docs/api/py/_modules/selenium/webdriver/remote/script_key.html b/docs/api/py/_modules/selenium/webdriver/remote/script_key.html index da04972e6e148..4e703f7bc0bf1 100644 --- a/docs/api/py/_modules/selenium/webdriver/remote/script_key.html +++ b/docs/api/py/_modules/selenium/webdriver/remote/script_key.html @@ -1,54 +1,210 @@ - + - selenium.webdriver.remote.script_key — Selenium 4.29.0.202501201850 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + selenium.webdriver.remote.script_key — Selenium 4.30.0 documentation - + + + + + + + + + + + + + + + + + + + + + + + + Skip to content +
+ +
+ + +
- - - - - - - + +
+
+ +
+ +
+
+
+
+ + +
+
+
+ +
+
-

Source code for selenium.webdriver.remote.script_key

+  

Source code for selenium.webdriver.remote.script_key

 # Licensed to the Software Freedom Conservancy (SFC) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
 # regarding copyright ownership.  The SFC licenses this file
 # to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
+# "License"); you may not use this file except in compliance
 # with the License.  You may obtain a copy of the License at
 #
 #   http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing,
 # software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
@@ -56,7 +212,9 @@ 

Source code for selenium.webdriver.remote.script_key

import uuid -
[docs]class ScriptKey: +
+[docs] +class ScriptKey: def __init__(self, id=None): self._id = id or uuid.uuid4() @@ -68,45 +226,36 @@

Source code for selenium.webdriver.remote.script_key

return self._id == other def __repr__(self) -> str: - return f"ScriptKey(id={self.id})"
+ return f"ScriptKey(id={self.id})"
+
-
-
+
-
+
+ + + \ No newline at end of file diff --git a/docs/api/py/_modules/selenium/webdriver/remote/shadowroot.html b/docs/api/py/_modules/selenium/webdriver/remote/shadowroot.html index 04465424284b9..4a01ecefe6d30 100644 --- a/docs/api/py/_modules/selenium/webdriver/remote/shadowroot.html +++ b/docs/api/py/_modules/selenium/webdriver/remote/shadowroot.html @@ -1,54 +1,210 @@ - + - selenium.webdriver.remote.shadowroot — Selenium 4.29.0.202501201850 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + selenium.webdriver.remote.shadowroot — Selenium 4.30.0 documentation - + + + + + + + + + + + + + + + + + + + + + + + + Skip to content +
+ +
+ + +
- - - - - - - + +
+
+ +
+ +
+
+
+
+ + +
+
+
+ +
+
-

Source code for selenium.webdriver.remote.shadowroot

+  

Source code for selenium.webdriver.remote.shadowroot

 # Licensed to the Software Freedom Conservancy (SFC) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
 # regarding copyright ownership.  The SFC licenses this file
 # to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
+# "License"); you may not use this file except in compliance
 # with the License.  You may obtain a copy of the License at
 #
 #   http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing,
 # software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
@@ -59,7 +215,9 @@ 

Source code for selenium.webdriver.remote.shadowroot

from .command import Command -
[docs]class ShadowRoot: +
+[docs] +class ShadowRoot: # TODO: We should look and see how we can create a search context like Java/.NET def __init__(self, session, id_) -> None: @@ -70,19 +228,21 @@

Source code for selenium.webdriver.remote.shadowroot

return self._id == other_shadowroot._id def __hash__(self) -> int: - return int(md5_hash(self._id.encode("utf-8")).hexdigest(), 16) + return int(md5_hash(self._id.encode("utf-8")).hexdigest(), 16) def __repr__(self) -> str: - return '<{0.__module__}.{0.__name__} (session="{1}", element="{2}")>'.format( + return '<{0.__module__}.{0.__name__} (session="{1}", element="{2}")>'.format( type(self), self.session.session_id, self._id ) -
[docs] def find_element(self, by: str = By.ID, value: str = None): - """Find an element inside a shadow root given a By strategy and +
+[docs] + def find_element(self, by: str = By.ID, value: str = None): + """Find an element inside a shadow root given a By strategy and locator. Parameters: - ---------- + ----------- by : selenium.webdriver.common.by.By The locating strategy to use. Default is `By.ID`. Supported values include: - By.ID: Locate by element ID. @@ -90,37 +250,40 @@

Source code for selenium.webdriver.remote.shadowroot

- By.XPATH: Locate by an XPath expression. - By.CSS_SELECTOR: Locate by a CSS selector. - By.CLASS_NAME: Locate by the `class` attribute. - - By.TAG_NAME: Locate by the tag name (e.g., "input", "button"). + - By.TAG_NAME: Locate by the tag name (e.g., "input", "button"). - By.LINK_TEXT: Locate a link element by its exact text. - By.PARTIAL_LINK_TEXT: Locate a link element by partial text match. - RelativeBy: Locate elements relative to a specified root element. Example: -------- - element = driver.find_element(By.ID, 'foo') + element = driver.find_element(By.ID, 'foo') Returns: ------- WebElement The first matching `WebElement` found on the page. - """ + """ if by == By.ID: by = By.CSS_SELECTOR - value = f'[id="{value}"]' + value = f'[id="{value}"]' elif by == By.CLASS_NAME: by = By.CSS_SELECTOR - value = f".{value}" + value = f".{value}" elif by == By.NAME: by = By.CSS_SELECTOR - value = f'[name="{value}"]' + value = f'[name="{value}"]' + + return self._execute(Command.FIND_ELEMENT_FROM_SHADOW_ROOT, {"using": by, "value": value})["value"]
- return self._execute(Command.FIND_ELEMENT_FROM_SHADOW_ROOT, {"using": by, "value": value})["value"]
-
[docs] def find_elements(self, by: str = By.ID, value: str = None): - """Find elements inside a shadow root given a By strategy and locator. +
+[docs] + def find_elements(self, by: str = By.ID, value: str = None): + """Find elements inside a shadow root given a By strategy and locator. Parameters: - ---------- + ----------- by : selenium.webdriver.common.by.By The locating strategy to use. Default is `By.ID`. Supported values include: - By.ID: Locate by element ID. @@ -128,85 +291,77 @@

Source code for selenium.webdriver.remote.shadowroot

- By.XPATH: Locate by an XPath expression. - By.CSS_SELECTOR: Locate by a CSS selector. - By.CLASS_NAME: Locate by the `class` attribute. - - By.TAG_NAME: Locate by the tag name (e.g., "input", "button"). + - By.TAG_NAME: Locate by the tag name (e.g., "input", "button"). - By.LINK_TEXT: Locate a link element by its exact text. - By.PARTIAL_LINK_TEXT: Locate a link element by partial text match. - RelativeBy: Locate elements relative to a specified root element. Example: -------- - element = driver.find_element(By.ID, 'foo') + element = driver.find_elements(By.ID, 'foo') Returns: ------- - WebElement + List[WebElement] list of `WebElements` matching locator strategy found on the page. - """ + """ if by == By.ID: by = By.CSS_SELECTOR - value = f'[id="{value}"]' + value = f'[id="{value}"]' elif by == By.CLASS_NAME: by = By.CSS_SELECTOR - value = f".{value}" + value = f".{value}" elif by == By.NAME: by = By.CSS_SELECTOR - value = f'[name="{value}"]' + value = f'[name="{value}"]' + + return self._execute(Command.FIND_ELEMENTS_FROM_SHADOW_ROOT, {"using": by, "value": value})["value"]
- return self._execute(Command.FIND_ELEMENTS_FROM_SHADOW_ROOT, {"using": by, "value": value})["value"]
# Private Methods def _execute(self, command, params=None): - """Executes a command against the underlying HTML element. + """Executes a command against the underlying HTML element. Args: command: The name of the command to _execute as a string. params: A dictionary of named parameters to send with the command. Returns: - The command's JSON response loaded into a dictionary object. - """ + The command's JSON response loaded into a dictionary object. + """ if not params: params = {} - params["shadowId"] = self._id + params["shadowId"] = self._id return self.session.execute(command, params)
+
-
-
+
-
+
+ + + \ No newline at end of file diff --git a/docs/api/py/_modules/selenium/webdriver/remote/switch_to.html b/docs/api/py/_modules/selenium/webdriver/remote/switch_to.html index 5d1d378aa1cd3..3d39139dc55cc 100644 --- a/docs/api/py/_modules/selenium/webdriver/remote/switch_to.html +++ b/docs/api/py/_modules/selenium/webdriver/remote/switch_to.html @@ -1,54 +1,210 @@ - + - selenium.webdriver.remote.switch_to — Selenium 4.29.0.202501201850 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + selenium.webdriver.remote.switch_to — Selenium 4.30.0 documentation - + + + + + + + + + + + + + + + + + + + + + + + + Skip to content +
+ +
+ + +
- - - - - - - + +
+
+ +
+ +
+
+
+
+ + +
+
+
+ +
+
-

Source code for selenium.webdriver.remote.switch_to

+  

Source code for selenium.webdriver.remote.switch_to

 # Licensed to the Software Freedom Conservancy (SFC) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
 # regarding copyright ownership.  The SFC licenses this file
 # to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
+# "License"); you may not use this file except in compliance
 # with the License.  You may obtain a copy of the License at
 #
 #   http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing,
 # software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
@@ -66,7 +222,9 @@ 

Source code for selenium.webdriver.remote.switch_to

from .command import Command -
[docs]class SwitchTo: +
+[docs] +class SwitchTo: def __init__(self, driver) -> None: import weakref @@ -74,40 +232,45 @@

Source code for selenium.webdriver.remote.switch_to

@property def active_element(self) -> WebElement: - """Returns the element with focus, or BODY if nothing has focus. + """Returns the element with focus, or BODY if nothing has focus. :Usage: :: element = driver.switch_to.active_element - """ - return self._driver.execute(Command.W3C_GET_ACTIVE_ELEMENT)["value"] + """ + return self._driver.execute(Command.W3C_GET_ACTIVE_ELEMENT)["value"] @property def alert(self) -> Alert: - """Switches focus to an alert on the page. + """Switches focus to an alert on the page. :Usage: :: alert = driver.switch_to.alert - """ + """ alert = Alert(self._driver) _ = alert.text return alert -
[docs] def default_content(self) -> None: - """Switch focus to the default frame. +
+[docs] + def default_content(self) -> None: + """Switch focus to the default frame. :Usage: :: driver.switch_to.default_content() - """ - self._driver.execute(Command.SWITCH_TO_FRAME, {"id": None})
+ """ + self._driver.execute(Command.SWITCH_TO_FRAME, {"id": None})
-
[docs] def frame(self, frame_reference: Union[str, int, WebElement]) -> None: - """Switches focus to the specified frame, by index, name, or + +
+[docs] + def frame(self, frame_reference: Union[str, int, WebElement]) -> None: + """Switches focus to the specified frame, by index, name, or webelement. :Args: @@ -117,10 +280,10 @@

Source code for selenium.webdriver.remote.switch_to

:Usage: :: - driver.switch_to.frame('frame_name') + driver.switch_to.frame('frame_name') driver.switch_to.frame(1) - driver.switch_to.frame(driver.find_elements(By.TAG_NAME, "iframe")[0]) - """ + driver.switch_to.frame(driver.find_elements(By.TAG_NAME, "iframe")[0]) + """ if isinstance(frame_reference, str): try: frame_reference = self._driver.find_element(By.ID, frame_reference) @@ -130,35 +293,44 @@

Source code for selenium.webdriver.remote.switch_to

except NoSuchElementException as exc: raise NoSuchFrameException(frame_reference) from exc - self._driver.execute(Command.SWITCH_TO_FRAME, {"id": frame_reference})
+ self._driver.execute(Command.SWITCH_TO_FRAME, {"id": frame_reference})
+ -
[docs] def new_window(self, type_hint: Optional[str] = None) -> None: - """Switches to a new top-level browsing context. +
+[docs] + def new_window(self, type_hint: Optional[str] = None) -> None: + """Switches to a new top-level browsing context. - The type hint can be one of "tab" or "window". If not specified the + The type hint can be one of "tab" or "window". If not specified the browser will automatically select it. :Usage: :: - driver.switch_to.new_window('tab') - """ - value = self._driver.execute(Command.NEW_WINDOW, {"type": type_hint})["value"] - self._w3c_window(value["handle"])
+ driver.switch_to.new_window('tab') + """ + value = self._driver.execute(Command.NEW_WINDOW, {"type": type_hint})["value"] + self._w3c_window(value["handle"])
-
[docs] def parent_frame(self) -> None: - """Switches focus to the parent context. If the current context is the + +
+[docs] + def parent_frame(self) -> None: + """Switches focus to the parent context. If the current context is the top level browsing context, the context remains unchanged. :Usage: :: driver.switch_to.parent_frame() - """ + """ self._driver.execute(Command.SWITCH_TO_PARENT_FRAME)
-
[docs] def window(self, window_name: str) -> None: - """Switches focus to the specified window. + +
+[docs] + def window(self, window_name: str) -> None: + """Switches focus to the specified window. :Args: - window_name: The name or window handle of the window to switch to. @@ -166,13 +338,14 @@

Source code for selenium.webdriver.remote.switch_to

:Usage: :: - driver.switch_to.window('main') - """ + driver.switch_to.window('main') + """ self._w3c_window(window_name)
+ def _w3c_window(self, window_name: str) -> None: def send_handle(h): - self._driver.execute(Command.SWITCH_TO_WINDOW, {"handle": h}) + self._driver.execute(Command.SWITCH_TO_WINDOW, {"handle": h}) try: # Try using it as a handle first. @@ -183,49 +356,40 @@

Source code for selenium.webdriver.remote.switch_to

handles = self._driver.window_handles for handle in handles: send_handle(handle) - current_name = self._driver.execute_script("return window.name") + current_name = self._driver.execute_script("return window.name") if window_name == current_name: return send_handle(original_handle) raise
+
-
-
+
-
+
+ + + \ No newline at end of file diff --git a/docs/api/py/_modules/selenium/webdriver/remote/utils.html b/docs/api/py/_modules/selenium/webdriver/remote/utils.html index fa79d42912f30..36ce2ff767ce9 100644 --- a/docs/api/py/_modules/selenium/webdriver/remote/utils.html +++ b/docs/api/py/_modules/selenium/webdriver/remote/utils.html @@ -1,54 +1,210 @@ - + - selenium.webdriver.remote.utils — Selenium 4.29.0.202501201850 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + selenium.webdriver.remote.utils — Selenium 4.30.0 documentation - + + + + + + + + + + + + + + + + + + + + + + + + Skip to content +
+ +
+ + +
- - - - - - - + +
+
+ +
+
+ +
+
+
+
+
+ + +
+
+
+ +
+
-

Source code for selenium.webdriver.remote.utils

+  

Source code for selenium.webdriver.remote.utils

 # Licensed to the Software Freedom Conservancy (SFC) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
 # regarding copyright ownership.  The SFC licenses this file
 # to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
+# "License"); you may not use this file except in compliance
 # with the License.  You may obtain a copy of the License at
 #
 #   http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing,
 # software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
@@ -58,50 +214,46 @@ 

Source code for selenium.webdriver.remote.utils

< from typing import Union -
[docs]def dump_json(json_struct: Any) -> str: +
+[docs] +def dump_json(json_struct: Any) -> str: return json.dumps(json_struct)
-
[docs]def load_json(s: Union[str, bytes]) -> Any: + +
+[docs] +def load_json(s: Union[str, bytes]) -> Any: return json.loads(s)
+
-
-
+
-
+
+ + + \ No newline at end of file diff --git a/docs/api/py/_modules/selenium/webdriver/remote/webdriver.html b/docs/api/py/_modules/selenium/webdriver/remote/webdriver.html index f6d2532da250f..eda7abaa6997e 100644 --- a/docs/api/py/_modules/selenium/webdriver/remote/webdriver.html +++ b/docs/api/py/_modules/selenium/webdriver/remote/webdriver.html @@ -1,58 +1,214 @@ - + - selenium.webdriver.remote.webdriver — Selenium 4.29.0.202501201850 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + selenium.webdriver.remote.webdriver — Selenium 4.30.0 documentation - + + + + + + + + + + + + + + + + + + + + + + + + Skip to content +
+ +
+ + +
- - - - - - - + +
+
+ +
+ +
+
+
+
+ + +
+
+
+ +
+
-

Source code for selenium.webdriver.remote.webdriver

+  

Source code for selenium.webdriver.remote.webdriver

 # Licensed to the Software Freedom Conservancy (SFC) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
 # regarding copyright ownership.  The SFC licenses this file
 # to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
+# "License"); you may not use this file except in compliance
 # with the License.  You may obtain a copy of the License at
 #
 #   http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing,
 # software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-"""The WebDriver implementation."""
+"""The WebDriver implementation."""
 import base64
 import contextlib
 import copy
@@ -113,14 +269,17 @@ 

Source code for selenium.webdriver.remote.webdriver

devtools = None -
[docs]def import_cdp(): +
+[docs] +def import_cdp(): global cdp if not cdp: - cdp = import_module("selenium.webdriver.common.bidi.cdp")
+ cdp = import_module("selenium.webdriver.common.bidi.cdp")
+ def _create_caps(caps): - """Makes a W3C alwaysMatch capabilities object. + """Makes a W3C alwaysMatch capabilities object. Filters out capability names that are not in the W3C spec. Spec-compliant drivers will reject requests containing unknown capability names. @@ -129,18 +288,20 @@

Source code for selenium.webdriver.remote.webdriver

options object. Parameters: - ---------- + ----------- caps : dict - A dictionary of capabilities requested by the caller. - """ + """ caps = copy.deepcopy(caps) always_match = {} for k, v in caps.items(): always_match[k] = v - return {"capabilities": {"firstMatch": [{}], "alwaysMatch": always_match}} + return {"capabilities": {"firstMatch": [{}], "alwaysMatch": always_match}} -
[docs]def get_remote_connection( +
+[docs] +def get_remote_connection( capabilities: dict, command_executor: Union[str, RemoteConnection], keep_alive: bool, @@ -157,7 +318,7 @@

Source code for selenium.webdriver.remote.webdriver

from selenium.webdriver.safari.remote_connection import SafariRemoteConnection candidates = [ChromeRemoteConnection, EdgeRemoteConnection, SafariRemoteConnection, FirefoxRemoteConnection] - handler = next((c for c in candidates if c.browser_name == capabilities.get("browserName")), RemoteConnection) + handler = next((c for c in candidates if c.browser_name == capabilities.get("browserName")), RemoteConnection) return handler( remote_server_addr=command_executor, @@ -167,8 +328,11 @@

Source code for selenium.webdriver.remote.webdriver

)
-
[docs]def create_matches(options: List[BaseOptions]) -> Dict: - capabilities = {"capabilities": {}} + +
+[docs] +def create_matches(options: List[BaseOptions]) -> Dict: + capabilities = {"capabilities": {}} opts = [] for opt in options: opts.append(opt.to_capabilities()) @@ -195,40 +359,46 @@

Source code for selenium.webdriver.remote.webdriver

for k in always: del i[k] - capabilities["capabilities"]["alwaysMatch"] = always - capabilities["capabilities"]["firstMatch"] = opts + capabilities["capabilities"]["alwaysMatch"] = always + capabilities["capabilities"]["firstMatch"] = opts return capabilities
-
[docs]class BaseWebDriver(metaclass=ABCMeta): - """Abstract Base Class for all Webdriver subtypes. - ABC's allow custom implementations of Webdriver to be registered so +
+[docs] +class BaseWebDriver(metaclass=ABCMeta): + """Abstract Base Class for all Webdriver subtypes. + + ABC's allow custom implementations of Webdriver to be registered so that isinstance type checks will succeed. - """
+ """
-
[docs]class WebDriver(BaseWebDriver): - """Controls a browser by sending commands to a remote server. This server + +
+[docs] +class WebDriver(BaseWebDriver): + """Controls a browser by sending commands to a remote server. This server is expected to be running the WebDriver wire protocol as defined at https://www.selenium.dev/documentation/legacy/json_wire_protocol/. Attributes: - ---------- + ----------- session_id - String ID of the browser session started and controlled by this WebDriver. capabilities - Dictionary of effective capabilities of this browser session as returned by the remote server. See https://www.selenium.dev/documentation/legacy/desired_capabilities/ command_executor : str or remote_connection.RemoteConnection object used to execute commands. error_handler - errorhandler.ErrorHandler object used to handle errors. - """ + """ _web_element_cls = WebElement _shadowroot_cls = ShadowRoot def __init__( self, - command_executor: Union[str, RemoteConnection] = "http://127.0.0.1:4444", + command_executor: Union[str, RemoteConnection] = "http://127.0.0.1:4444", keep_alive: bool = True, file_detector: Optional[FileDetector] = None, options: Optional[Union[BaseOptions, List[BaseOptions]]] = None, @@ -236,14 +406,14 @@

Source code for selenium.webdriver.remote.webdriver

web_element_cls: Optional[type] = None, client_config: Optional[ClientConfig] = None, ) -> None: - """Create a new driver that will issue commands using the wire + """Create a new driver that will issue commands using the wire protocol. Parameters: - ---------- + ----------- command_executor : str or remote_connection.RemoteConnection - Either a string representing the URL of the remote server or a custom - remote_connection.RemoteConnection object. Defaults to 'http://127.0.0.1:4444/wd/hub'. + remote_connection.RemoteConnection object. Defaults to 'http://127.0.0.1:4444/wd/hub'. keep_alive : bool (Deprecated) - Whether to configure remote_connection.RemoteConnection to use HTTP keep-alive. Defaults to True. file_detector : object or None @@ -256,7 +426,7 @@

Source code for selenium.webdriver.remote.webdriver

- Custom class to use for web elements. Defaults to WebElement. client_config : object or None - Custom client configuration to use. Defaults to None. - """ + """ if isinstance(options, list): capabilities = create_matches(options) @@ -292,7 +462,7 @@

Source code for selenium.webdriver.remote.webdriver

self._script = None def __repr__(self): - return f'<{type(self).__module__}.{type(self).__name__} (session="{self.session_id}")>' + return f'<{type(self).__module__}.{type(self).__name__} (session="{self.session_id}")>' def __enter__(self): return self @@ -305,13 +475,15 @@

Source code for selenium.webdriver.remote.webdriver

): self.quit() -
[docs] @contextmanager +
+[docs] + @contextmanager def file_detector_context(self, file_detector_class, *args, **kwargs): - """Overrides the current file detector (if necessary) in limited + """Overrides the current file detector (if necessary) in limited context. Ensures the original file detector is set afterwards. Parameters: - ---------- + ----------- file_detector_class : object - Class of the desired file detector. If the class is different from the current file_detector, then the class is instantiated with args and kwargs @@ -324,8 +496,8 @@

Source code for selenium.webdriver.remote.webdriver

Example: -------- >>> with webdriver.file_detector_context(UselessFileDetector): - >>> someinput.send_keys('/etc/hosts') - """ + >>> someinput.send_keys('/etc/hosts') + """ last_detector = None if not isinstance(self.file_detector, file_detector_class): last_detector = self.file_detector @@ -336,50 +508,60 @@

Source code for selenium.webdriver.remote.webdriver

if last_detector: self.file_detector = last_detector
+ @property def mobile(self) -> Mobile: return self._mobile @property def name(self) -> str: - """Returns the name of the underlying browser for this instance. + """Returns the name of the underlying browser for this instance. Example: -------- >>> name = driver.name - """ - if "browserName" in self.caps: - return self.caps["browserName"] - raise KeyError("browserName not specified in session capabilities") + """ + if "browserName" in self.caps: + return self.caps["browserName"] + raise KeyError("browserName not specified in session capabilities") -
[docs] def start_client(self): - """Called before starting a new session. +
+[docs] + def start_client(self): + """Called before starting a new session. This method may be overridden to define custom startup behavior. - """ + """ pass
-
[docs] def stop_client(self): - """Called after executing a quit command. + +
+[docs] + def stop_client(self): + """Called after executing a quit command. This method may be overridden to define custom shutdown behavior. - """ + """ pass
-
[docs] def start_session(self, capabilities: dict) -> None: - """Creates a new session with the desired capabilities. + +
+[docs] + def start_session(self, capabilities: dict) -> None: + """Creates a new session with the desired capabilities. Parameters: - ---------- + ----------- capabilities : dict - A capabilities dict to start the session with. - """ + """ caps = _create_caps(capabilities) - response = self.execute(Command.NEW_SESSION, caps)["value"] - self.session_id = response.get("sessionId") - self.caps = response.get("capabilities")
+ response = self.execute(Command.NEW_SESSION, caps)["value"] + self.session_id = response.get("sessionId") + self.caps = response.get("capabilities")
+ def _wrap_value(self, value): if isinstance(value, dict): @@ -388,23 +570,26 @@

Source code for selenium.webdriver.remote.webdriver

converted[key] = self._wrap_value(val) return converted if isinstance(value, self._web_element_cls): - return {"element-6066-11e4-a52e-4f735466cecf": value.id} + return {"element-6066-11e4-a52e-4f735466cecf": value.id} if isinstance(value, self._shadowroot_cls): - return {"shadow-6066-11e4-a52e-4f735466cecf": value.id} + return {"shadow-6066-11e4-a52e-4f735466cecf": value.id} if isinstance(value, list): return list(self._wrap_value(item) for item in value) return value -
[docs] def create_web_element(self, element_id: str) -> WebElement: - """Creates a web element with the specified `element_id`.""" +
+[docs] + def create_web_element(self, element_id: str) -> WebElement: + """Creates a web element with the specified `element_id`.""" return self._web_element_cls(self, element_id)
+ def _unwrap_value(self, value): if isinstance(value, dict): - if "element-6066-11e4-a52e-4f735466cecf" in value: - return self.create_web_element(value["element-6066-11e4-a52e-4f735466cecf"]) - if "shadow-6066-11e4-a52e-4f735466cecf" in value: - return self._shadowroot_cls(self, value["shadow-6066-11e4-a52e-4f735466cecf"]) + if "element-6066-11e4-a52e-4f735466cecf" in value: + return self.create_web_element(value["element-6066-11e4-a52e-4f735466cecf"]) + if "shadow-6066-11e4-a52e-4f735466cecf" in value: + return self._shadowroot_cls(self, value["shadow-6066-11e4-a52e-4f735466cecf"]) for key, val in value.items(): value[key] = self._unwrap_value(val) return value @@ -412,14 +597,16 @@

Source code for selenium.webdriver.remote.webdriver

return list(self._unwrap_value(item) for item in value) return value -
[docs] def execute_cdp_cmd(self, cmd: str, cmd_args: dict): - """Execute Chrome Devtools Protocol command and get returned result The +
+[docs] + def execute_cdp_cmd(self, cmd: str, cmd_args: dict): + """Execute Chrome Devtools Protocol command and get returned result The command and command args should follow chrome devtools protocol domains/commands, refer to link https://chromedevtools.github.io/devtools-protocol/ Parameters: - ---------- + ----------- cmd : str, - Command name @@ -430,20 +617,23 @@

Source code for selenium.webdriver.remote.webdriver

Returns: -------- A dict, empty dict {} if there is no result to return. - - To getResponseBody: {'base64Encoded': False, 'body': 'response body string'} + - To getResponseBody: {'base64Encoded': False, 'body': 'response body string'} Example: -------- - >>> driver.execute_cdp_cmd('Network.getResponseBody', {'requestId': requestId}) + >>> driver.execute_cdp_cmd('Network.getResponseBody', {'requestId': requestId}) + + """ + return self.execute("executeCdpCommand", {"cmd": cmd, "params": cmd_args})["value"]
- """ - return self.execute("executeCdpCommand", {"cmd": cmd, "params": cmd_args})["value"]
-
[docs] def execute(self, driver_command: str, params: dict = None) -> dict: - """Sends a command to be executed by a command.CommandExecutor. +
+[docs] + def execute(self, driver_command: str, params: dict = None) -> dict: + """Sends a command to be executed by a command.CommandExecutor. Parameters: - ---------- + ----------- driver_command : str - The name of the command to execute as a string. @@ -452,34 +642,37 @@

Source code for selenium.webdriver.remote.webdriver

Returns: -------- - dict - The command's JSON response loaded into a dictionary object. - """ + dict - The command's JSON response loaded into a dictionary object. + """ params = self._wrap_value(params) if self.session_id: if not params: - params = {"sessionId": self.session_id} - elif "sessionId" not in params: - params["sessionId"] = self.session_id + params = {"sessionId": self.session_id} + elif "sessionId" not in params: + params["sessionId"] = self.session_id response = self.command_executor.execute(driver_command, params) if response: self.error_handler.check_response(response) - response["value"] = self._unwrap_value(response.get("value", None)) + response["value"] = self._unwrap_value(response.get("value", None)) return response - # If the server doesn't send a response, assume the command was + # If the server doesn't send a response, assume the command was # a success - return {"success": 0, "value": None, "sessionId": self.session_id}
+ return {"success": 0, "value": None, "sessionId": self.session_id}
-
[docs] def get(self, url: str) -> None: - """Navigate the browser to the specified URL in the current window or + +
+[docs] + def get(self, url: str) -> None: + """Navigate the browser to the specified URL in the current window or tab. The method does not return until the page is fully loaded (i.e. the onload event has fired). Parameters: - ---------- + ----------- url : str - The URL to be opened by the browser. - Must include the protocol (e.g., http://, https://). @@ -487,59 +680,71 @@

Source code for selenium.webdriver.remote.webdriver

Example: -------- >>> driver = webdriver.Chrome() - >>> driver.get("https://example.com") - """ - self.execute(Command.GET, {"url": url})
+ >>> driver.get("https://example.com") + """ + self.execute(Command.GET, {"url": url})
+ @property def title(self) -> str: - """Returns the title of the current page. + """Returns the title of the current page. Example: -------- - >>> element = driver.find_element(By.ID, 'foo') + >>> element = driver.find_element(By.ID, 'foo') >>> print(element.title()) - """ - return self.execute(Command.GET_TITLE).get("value", "") + """ + return self.execute(Command.GET_TITLE).get("value", "") -
[docs] def pin_script(self, script: str, script_key=None) -> ScriptKey: - """Store common javascript scripts to be executed later by a unique +
+[docs] + def pin_script(self, script: str, script_key=None) -> ScriptKey: + """Store common javascript scripts to be executed later by a unique hashable ID. Example: -------- - >>> script = "return document.getElementById('foo').value" - """ + >>> script = "return document.getElementById('foo').value" + """ script_key_instance = ScriptKey(script_key) self.pinned_scripts[script_key_instance.id] = script return script_key_instance
-
[docs] def unpin(self, script_key: ScriptKey) -> None: - """Remove a pinned script from storage. + +
+[docs] + def unpin(self, script_key: ScriptKey) -> None: + """Remove a pinned script from storage. Example: -------- >>> driver.unpin(script_key) - """ + """ try: self.pinned_scripts.pop(script_key.id) except KeyError: - raise KeyError(f"No script with key: {script_key} existed in {self.pinned_scripts}") from None
+ raise KeyError(f"No script with key: {script_key} existed in {self.pinned_scripts}") from None
-
[docs] def get_pinned_scripts(self) -> List[str]: - """Return a list of all pinned scripts. + +
+[docs] + def get_pinned_scripts(self) -> List[str]: + """Return a list of all pinned scripts. Example: -------- >>> pinned_scripts = driver.get_pinned_scripts() - """ + """ return list(self.pinned_scripts)
-
[docs] def execute_script(self, script, *args): - """Synchronously Executes JavaScript in the current window/frame. + +
+[docs] + def execute_script(self, script, *args): + """Synchronously Executes JavaScript in the current window/frame. Parameters: - ---------- + ----------- script : str - The javascript to execute. @@ -548,28 +753,31 @@

Source code for selenium.webdriver.remote.webdriver

Example: -------- - >>> input_id = "username" - >>> input_value = "test_user" + >>> input_id = "username" + >>> input_value = "test_user" >>> driver.execute_script( - ... "document.getElementById(arguments[0]).value = arguments[1];", input_id, input_value + ... "document.getElementById(arguments[0]).value = arguments[1];", input_id, input_value ... ) - """ + """ if isinstance(script, ScriptKey): try: script = self.pinned_scripts[script.id] except KeyError: - raise JavascriptException("Pinned script could not be found") + raise JavascriptException("Pinned script could not be found") converted_args = list(args) command = Command.W3C_EXECUTE_SCRIPT - return self.execute(command, {"script": script, "args": converted_args})["value"]
+ return self.execute(command, {"script": script, "args": converted_args})["value"]
+ -
[docs] def execute_async_script(self, script: str, *args): - """Asynchronously Executes JavaScript in the current window/frame. +
+[docs] + def execute_async_script(self, script: str, *args): + """Asynchronously Executes JavaScript in the current window/frame. Parameters: - ---------- + ----------- script : str - The javascript to execute. @@ -578,102 +786,120 @@

Source code for selenium.webdriver.remote.webdriver

Example: -------- - >>> script = "var callback = arguments[arguments.length - 1]; " - ... "window.setTimeout(function(){ callback('timeout') }, 3000);" + >>> script = "var callback = arguments[arguments.length - 1]; " + ... "window.setTimeout(function(){ callback('timeout') }, 3000);" >>> driver.execute_async_script(script) - """ + """ converted_args = list(args) command = Command.W3C_EXECUTE_SCRIPT_ASYNC - return self.execute(command, {"script": script, "args": converted_args})["value"]
+ return self.execute(command, {"script": script, "args": converted_args})["value"]
+ @property def current_url(self) -> str: - """Gets the URL of the current page. + """Gets the URL of the current page. Example: -------- >>> print(driver.current_url) - """ - return self.execute(Command.GET_CURRENT_URL)["value"] + """ + return self.execute(Command.GET_CURRENT_URL)["value"] @property def page_source(self) -> str: - """Gets the source of the current page. + """Gets the source of the current page. Example: -------- >>> print(driver.page_source) - """ - return self.execute(Command.GET_PAGE_SOURCE)["value"] + """ + return self.execute(Command.GET_PAGE_SOURCE)["value"] -
[docs] def close(self) -> None: - """Closes the current window. +
+[docs] + def close(self) -> None: + """Closes the current window. Example: -------- >>> driver.close() - """ + """ self.execute(Command.CLOSE)
-
[docs] def quit(self) -> None: - """Quits the driver and closes every associated window. + +
+[docs] + def quit(self) -> None: + """Quits the driver and closes every associated window. Example: -------- >>> driver.quit() - """ + """ try: self.execute(Command.QUIT) finally: self.stop_client() self.command_executor.close()
+ @property def current_window_handle(self) -> str: - """Returns the handle of the current window. + """Returns the handle of the current window. Example: -------- >>> print(driver.current_window_handle) - """ - return self.execute(Command.W3C_GET_CURRENT_WINDOW_HANDLE)["value"] + """ + return self.execute(Command.W3C_GET_CURRENT_WINDOW_HANDLE)["value"] @property def window_handles(self) -> List[str]: - """Returns the handles of all windows within the current session. + """Returns the handles of all windows within the current session. Example: -------- >>> print(driver.window_handles) - """ - return self.execute(Command.W3C_GET_WINDOW_HANDLES)["value"] + """ + return self.execute(Command.W3C_GET_WINDOW_HANDLES)["value"] -
[docs] def maximize_window(self) -> None: - """Maximizes the current window that webdriver is using. +
+[docs] + def maximize_window(self) -> None: + """Maximizes the current window that webdriver is using. Example: -------- >>> driver.maximize_window() - """ + """ command = Command.W3C_MAXIMIZE_WINDOW self.execute(command, None)
-
[docs] def fullscreen_window(self) -> None: - """Invokes the window manager-specific 'full screen' operation. + +
+[docs] + def fullscreen_window(self) -> None: + """Invokes the window manager-specific 'full screen' operation. Example: -------- >>> driver.fullscreen_window() - """ + """ self.execute(Command.FULLSCREEN_WINDOW)
-
[docs] def minimize_window(self) -> None: - """Invokes the window manager-specific 'minimize' operation.""" + +
+[docs] + def minimize_window(self) -> None: + """Invokes the window manager-specific 'minimize' operation.""" self.execute(Command.MINIMIZE_WINDOW)
-
[docs] def print_page(self, print_options: Optional[PrintOptions] = None) -> str: - """Takes PDF of the current page. + +
+[docs] + def print_page(self, print_options: Optional[PrintOptions] = None) -> str: + """Takes PDF of the current page. The driver makes a best effort to return a PDF based on the provided Parameters. @@ -681,16 +907,17 @@

Source code for selenium.webdriver.remote.webdriver

Example: -------- >>> driver.print_page() - """ + """ options = {} if print_options: options = print_options.to_dict() - return self.execute(Command.PRINT_PAGE, options)["value"]
+ return self.execute(Command.PRINT_PAGE, options)["value"]
+ @property def switch_to(self) -> SwitchTo: - """Return an object containing all options to switch focus into. + """Return an object containing all options to switch focus into. Returns: -------- @@ -701,45 +928,56 @@

Source code for selenium.webdriver.remote.webdriver

>>> element = driver.switch_to.active_element >>> alert = driver.switch_to.alert >>> driver.switch_to.default_content() - >>> driver.switch_to.frame('frame_name') + >>> driver.switch_to.frame('frame_name') >>> driver.switch_to.frame(1) - >>> driver.switch_to.frame(driver.find_elements(By.TAG_NAME, "iframe")[0]) + >>> driver.switch_to.frame(driver.find_elements(By.TAG_NAME, "iframe")[0]) >>> driver.switch_to.parent_frame() - >>> driver.switch_to.window('main') - """ + >>> driver.switch_to.window('main') + """ return self._switch_to # Navigation -
[docs] def back(self) -> None: - """Goes one step backward in the browser history. +
+[docs] + def back(self) -> None: + """Goes one step backward in the browser history. Example: -------- >>> driver.back() - """ + """ self.execute(Command.GO_BACK)
-
[docs] def forward(self) -> None: - """Goes one step forward in the browser history. + +
+[docs] + def forward(self) -> None: + """Goes one step forward in the browser history. Example: -------- >>> driver.forward() - """ + """ self.execute(Command.GO_FORWARD)
-
[docs] def refresh(self) -> None: - """Refreshes the current page. + +
+[docs] + def refresh(self) -> None: + """Refreshes the current page. Example: -------- >>> driver.refresh() - """ + """ self.execute(Command.REFRESH)
+ # Options -
[docs] def get_cookies(self) -> List[dict]: - """Returns a set of dictionaries, corresponding to cookies visible in +
+[docs] + def get_cookies(self) -> List[dict]: + """Returns a set of dictionaries, corresponding to cookies visible in the current session. Returns: @@ -749,115 +987,147 @@

Source code for selenium.webdriver.remote.webdriver

Example: -------- >>> cookies = driver.get_cookies() - """ - return self.execute(Command.GET_ALL_COOKIES)["value"]
+ """ + return self.execute(Command.GET_ALL_COOKIES)["value"]
-
-
-
+
-
+
+ + + \ No newline at end of file diff --git a/docs/api/py/_modules/selenium/webdriver/remote/webelement.html b/docs/api/py/_modules/selenium/webdriver/remote/webelement.html index 4a11dcfeef6b6..cfcb0857ca6db 100644 --- a/docs/api/py/_modules/selenium/webdriver/remote/webelement.html +++ b/docs/api/py/_modules/selenium/webdriver/remote/webelement.html @@ -1,54 +1,210 @@ - + - selenium.webdriver.remote.webelement — Selenium 4.29.0.202501201850 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + selenium.webdriver.remote.webelement — Selenium 4.30.0 documentation - + + + + + + + + + + + + + + + + + + + + + + + + Skip to content +
+ +
+ + +
- - - - - - - + +
+
+ +
+ +
+
+
+
+ + +
+
+
+ +
+
-

Source code for selenium.webdriver.remote.webelement

+  

Source code for selenium.webdriver.remote.webelement

 # Licensed to the Software Freedom Conservancy (SFC) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
 # regarding copyright ownership.  The SFC licenses this file
 # to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
+# "License"); you may not use this file except in compliance
 # with the License.  You may obtain a copy of the License at
 #
 #   http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing,
 # software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
@@ -82,23 +238,28 @@ 

Source code for selenium.webdriver.remote.webelement

def _load_js(): global getAttribute_js global isDisplayed_js - _pkg = ".".join(__name__.split(".")[:-1]) - getAttribute_js = pkgutil.get_data(_pkg, "getAttribute.js").decode("utf8") - isDisplayed_js = pkgutil.get_data(_pkg, "isDisplayed.js").decode("utf8") + _pkg = ".".join(__name__.split(".")[:-1]) + getAttribute_js = pkgutil.get_data(_pkg, "getAttribute.js").decode("utf8") + isDisplayed_js = pkgutil.get_data(_pkg, "isDisplayed.js").decode("utf8") -
[docs]class BaseWebElement(metaclass=ABCMeta): - """Abstract Base Class for WebElement. +
+[docs] +class BaseWebElement(metaclass=ABCMeta): + """Abstract Base Class for WebElement. - ABC's will allow custom types to be registered as a WebElement to + ABC's will allow custom types to be registered as a WebElement to pass type checks. - """ + """ pass
-
[docs]class WebElement(BaseWebElement): - """Represents a DOM element. + +
+[docs] +class WebElement(BaseWebElement): + """Represents a DOM element. Generally, all interesting operations that interact with a document will be performed through this interface. @@ -108,18 +269,18 @@

Source code for selenium.webdriver.remote.webelement

element is still attached to the DOM. If this test fails, then an ``StaleElementReferenceException`` is thrown, and all future calls to this instance will fail. - """ + """ def __init__(self, parent, id_) -> None: self._parent = parent self._id = id_ def __repr__(self): - return f'<{type(self).__module__}.{type(self).__name__} (session="{self._parent.session_id}", element="{self._id}")>' + return f'<{type(self).__module__}.{type(self).__name__} (session="{self._parent.session_id}", element="{self._id}")>' @property def tag_name(self) -> str: - """This element's ``tagName`` property. + """This element's ``tagName`` property. Returns: -------- @@ -127,13 +288,13 @@

Source code for selenium.webdriver.remote.webelement

Example: -------- - >>> element = driver.find_element(By.ID, 'foo') - """ - return self._execute(Command.GET_ELEMENT_TAG_NAME)["value"] + >>> element = driver.find_element(By.ID, 'foo') + """ + return self._execute(Command.GET_ELEMENT_TAG_NAME)["value"] @property def text(self) -> str: - """The text of the element. + """The text of the element. Returns: -------- @@ -141,61 +302,72 @@

Source code for selenium.webdriver.remote.webelement

Example: -------- - >>> element = driver.find_element(By.ID, 'foo') + >>> element = driver.find_element(By.ID, 'foo') >>> print(element.text) - """ - return self._execute(Command.GET_ELEMENT_TEXT)["value"] + """ + return self._execute(Command.GET_ELEMENT_TEXT)["value"] -
[docs] def click(self) -> None: - """Clicks the element. +
+[docs] + def click(self) -> None: + """Clicks the element. Example: -------- - >>> element = driver.find_element(By.ID, 'foo') + >>> element = driver.find_element(By.ID, 'foo') >>> element.click() - """ + """ self._execute(Command.CLICK_ELEMENT)
-
[docs] def submit(self) -> None: - """Submits a form. + +
+[docs] + def submit(self) -> None: + """Submits a form. Example: -------- - >>> form = driver.find_element(By.NAME, 'login') + >>> form = driver.find_element(By.NAME, 'login') >>> form.submit() - """ + """ script = ( - "/* submitForm */var form = arguments[0];\n" - 'while (form.nodeName != "FORM" && form.parentNode) {\n' - " form = form.parentNode;\n" - "}\n" - "if (!form) { throw Error('Unable to find containing form element'); }\n" - "if (!form.ownerDocument) { throw Error('Unable to find owning document'); }\n" - "var e = form.ownerDocument.createEvent('Event');\n" - "e.initEvent('submit', true, true);\n" - "if (form.dispatchEvent(e)) { HTMLFormElement.prototype.submit.call(form) }\n" + "/* submitForm */var form = arguments[0];\n" + 'while (form.nodeName != "FORM" && form.parentNode) {\n' + " form = form.parentNode;\n" + "}\n" + "if (!form) { throw Error('Unable to find containing form element'); }\n" + "if (!form.ownerDocument) { throw Error('Unable to find owning document'); }\n" + "var e = form.ownerDocument.createEvent('Event');\n" + "e.initEvent('submit', true, true);\n" + "if (form.dispatchEvent(e)) { HTMLFormElement.prototype.submit.call(form) }\n" ) try: self._parent.execute_script(script, self) except JavascriptException as exc: - raise WebDriverException("To submit an element, it must be nested inside a form element") from exc
+ raise WebDriverException("To submit an element, it must be nested inside a form element") from exc
+ -
[docs] def clear(self) -> None: - """Clears the text if it's a text entry element. +
+[docs] + def clear(self) -> None: + """Clears the text if it's a text entry element. Example: -------- - >>> text_field = driver.find_element(By.NAME, 'username') + >>> text_field = driver.find_element(By.NAME, 'username') >>> text_field.clear() - """ + """ self._execute(Command.CLEAR_ELEMENT)
-
[docs] def get_property(self, name) -> str | bool | WebElement | dict: - """Gets the given property of the element. + +
+[docs] + def get_property(self, name) -> str | bool | WebElement | dict: + """Gets the given property of the element. Parameters: - ---------- + ----------- name : str - Name of the property to retrieve. @@ -205,21 +377,24 @@

Source code for selenium.webdriver.remote.webelement

Example: ------- - >>> text_length = target_element.get_property("text_length") - """ + >>> text_length = target_element.get_property("text_length") + """ try: - return self._execute(Command.GET_ELEMENT_PROPERTY, {"name": name})["value"] + return self._execute(Command.GET_ELEMENT_PROPERTY, {"name": name})["value"] except WebDriverException: - # if we hit an end point that doesn't understand getElementProperty lets fake it - return self.parent.execute_script("return arguments[0][arguments[1]]", self, name)
+ # if we hit an end point that doesn't understand getElementProperty lets fake it + return self.parent.execute_script("return arguments[0][arguments[1]]", self, name)
-
[docs] def get_dom_attribute(self, name) -> str: - """Gets the given attribute of the element. Unlike + +
+[docs] + def get_dom_attribute(self, name) -> str: + """Gets the given attribute of the element. Unlike :func:`~selenium.webdriver.remote.BaseWebElement.get_attribute`, this - method only returns attributes declared in the element's HTML markup. + method only returns attributes declared in the element's HTML markup. Parameters: - ---------- + ----------- name : str - Name of the attribute to retrieve. @@ -229,19 +404,22 @@

Source code for selenium.webdriver.remote.webelement

Example: ------- - >>> text_length = target_element.get_dom_attribute("class") - """ - return self._execute(Command.GET_ELEMENT_ATTRIBUTE, {"name": name})["value"]
+ >>> text_length = target_element.get_dom_attribute("class") + """ + return self._execute(Command.GET_ELEMENT_ATTRIBUTE, {"name": name})["value"]
+ -
[docs] def get_attribute(self, name) -> str | None: - """Gets the given attribute or property of the element. +
+[docs] + def get_attribute(self, name) -> str | None: + """Gets the given attribute or property of the element. This method will first try to return the value of a property with the - given name. If a property with that name doesn't exist, it returns the - value of the attribute with the same name. If there's no attribute with + given name. If a property with that name doesn't exist, it returns the + value of the attribute with the same name. If there's no attribute with that name, ``None`` is returned. - Values which are considered truthy, that is equals "true" or "false", + Values which are considered truthy, that is equals "true" or "false", are returned as booleans. All other non-``None`` values are returned as strings. For attributes or properties which do not exist, ``None`` is returned. @@ -251,7 +429,7 @@

Source code for selenium.webdriver.remote.webelement

:func:`~selenium.webdriver.remote.BaseWebElement.get_property` methods respectively. Parameters: - ---------- + ----------- name : str - Name of the attribute/property to retrieve. @@ -261,18 +439,21 @@

Source code for selenium.webdriver.remote.webelement

Example: -------- - >>> # Check if the "active" CSS class is applied to an element. - >>> is_active = "active" in target_element.get_attribute("class") - """ + >>> # Check if the "active" CSS class is applied to an element. + >>> is_active = "active" in target_element.get_attribute("class") + """ if getAttribute_js is None: _load_js() attribute_value = self.parent.execute_script( - f"/* getAttribute */return ({getAttribute_js}).apply(null, arguments);", self, name + f"/* getAttribute */return ({getAttribute_js}).apply(null, arguments);", self, name ) return attribute_value
-
[docs] def is_selected(self) -> bool: - """Returns whether the element is selected. + +
+[docs] + def is_selected(self) -> bool: + """Returns whether the element is selected. Example: -------- @@ -282,23 +463,29 @@

Source code for selenium.webdriver.remote.webelement

------ - This method is generally used on checkboxes, options in a select and radio buttons. - """ - return self._execute(Command.IS_ELEMENT_SELECTED)["value"]
+ """ + return self._execute(Command.IS_ELEMENT_SELECTED)["value"]
-
[docs] def is_enabled(self) -> bool: - """Returns whether the element is enabled. + +
+[docs] + def is_enabled(self) -> bool: + """Returns whether the element is enabled. Example: -------- >>> is_enabled = element.is_enabled() - """ - return self._execute(Command.IS_ELEMENT_ENABLED)["value"]
+ """ + return self._execute(Command.IS_ELEMENT_ENABLED)["value"]
+ -
[docs] def send_keys(self, *value: str) -> None: - """Simulates typing into the element. +
+[docs] + def send_keys(self, *value: str) -> None: + """Simulates typing into the element. Parameters: - ---------- + ----------- value : str - A string for typing, or setting form fields. For setting file inputs, this could be a local file path. @@ -311,38 +498,41 @@

Source code for selenium.webdriver.remote.webelement

Examples: -------- To send a simple key event:: - >>> form_textfield = driver.find_element(By.NAME, 'username') - >>> form_textfield.send_keys("admin") + >>> form_textfield = driver.find_element(By.NAME, 'username') + >>> form_textfield.send_keys("admin") or to set a file input field:: - >>> file_input = driver.find_element(By.NAME, 'profilePic') - >>> file_input.send_keys("path/to/profilepic.gif") - >>> # Generally it's better to wrap the file path in one of the methods + >>> file_input = driver.find_element(By.NAME, 'profilePic') + >>> file_input.send_keys("path/to/profilepic.gif") + >>> # Generally it's better to wrap the file path in one of the methods >>> # in os.path to return the actual path to support cross OS testing. - >>> # file_input.send_keys(os.path.abspath("path/to/profilepic.gif")) - """ + >>> # file_input.send_keys(os.path.abspath("path/to/profilepic.gif")) + >>> # When using Cygwin, the path need to be provided in Windows format. + >>> # file_input.send_keys(f"C:/cygwin{os.path.abspath('path/to/profilepic.gif').replace('/', '\\')}") + """ # transfer file to another machine only if remote driver is used # the same behaviour as for java binding if self.parent._is_remote: local_files = list( map( lambda keys_to_send: self.parent.file_detector.is_local_file(str(keys_to_send)), - "".join(map(str, value)).split("\n"), + "".join(map(str, value)).split("\n"), ) ) if None not in local_files: remote_files = [] for file in local_files: remote_files.append(self._upload(file)) - value = tuple("\n".join(remote_files)) + value = tuple("\n".join(remote_files)) self._execute( - Command.SEND_KEYS_TO_ELEMENT, {"text": "".join(keys_to_typing(value)), "value": keys_to_typing(value)} + Command.SEND_KEYS_TO_ELEMENT, {"text": "".join(keys_to_typing(value)), "value": keys_to_typing(value)} )
+ @property def shadow_root(self) -> ShadowRoot: - """Returns a shadow root of the element if there is one or an error. + """Returns a shadow root of the element if there is one or an error. Only works from Chromium 96, Firefox 96, and Safari 16.4 onwards. Returns: @@ -358,26 +548,29 @@

Source code for selenium.webdriver.remote.webelement

>>> try: ... shadow_root = element.shadow_root >>> except NoSuchShadowRoot: - ... print("No shadow root attached to element") - """ - return self._execute(Command.GET_SHADOW_ROOT)["value"] + ... print("No shadow root attached to element") + """ + return self._execute(Command.GET_SHADOW_ROOT)["value"] # RenderedWebElement Items -
[docs] def is_displayed(self) -> bool: - """Whether the element is visible to a user. +
+[docs] + def is_displayed(self) -> bool: + """Whether the element is visible to a user. Example: -------- >>> is_displayed = element.is_displayed() - """ - # Only go into this conditional for browsers that don't use the atom themselves + """ + # Only go into this conditional for browsers that don't use the atom themselves if isDisplayed_js is None: _load_js() - return self.parent.execute_script(f"/* isDisplayed */return ({isDisplayed_js}).apply(null, arguments);", self)
+ return self.parent.execute_script(f"/* isDisplayed */return ({isDisplayed_js}).apply(null, arguments);", self)
+ @property def location_once_scrolled_into_view(self) -> dict: - """THIS PROPERTY MAY CHANGE WITHOUT WARNING. Use this to discover where + """THIS PROPERTY MAY CHANGE WITHOUT WARNING. Use this to discover where on the screen an element is so that we can click it. This method should cause the element to be scrolled into view. @@ -389,19 +582,19 @@

Source code for selenium.webdriver.remote.webelement

Example: -------- >>> loc = element.location_once_scrolled_into_view - """ + """ old_loc = self._execute( Command.W3C_EXECUTE_SCRIPT, { - "script": "arguments[0].scrollIntoView(true); return arguments[0].getBoundingClientRect()", - "args": [self], + "script": "arguments[0].scrollIntoView(true); return arguments[0].getBoundingClientRect()", + "args": [self], }, - )["value"] - return {"x": round(old_loc["x"]), "y": round(old_loc["y"])} + )["value"] + return {"x": round(old_loc["x"]), "y": round(old_loc["y"])} @property def size(self) -> dict: - """The size of the element. + """The size of the element. Returns: -------- @@ -410,16 +603,18 @@

Source code for selenium.webdriver.remote.webelement

Example: -------- >>> size = element.size - """ - size = self._execute(Command.GET_ELEMENT_RECT)["value"] - new_size = {"height": size["height"], "width": size["width"]} + """ + size = self._execute(Command.GET_ELEMENT_RECT)["value"] + new_size = {"height": size["height"], "width": size["width"]} return new_size -
[docs] def value_of_css_property(self, property_name) -> str: - """The value of a CSS property. +
+[docs] + def value_of_css_property(self, property_name) -> str: + """The value of a CSS property. Parameters: - ---------- + ----------- property_name : str - The name of the CSS property to get the value of. @@ -429,13 +624,14 @@

Source code for selenium.webdriver.remote.webelement

Example: -------- - >>> value = element.value_of_css_property('color') - """ - return self._execute(Command.GET_ELEMENT_VALUE_OF_CSS_PROPERTY, {"propertyName": property_name})["value"]
+ >>> value = element.value_of_css_property('color') + """ + return self._execute(Command.GET_ELEMENT_VALUE_OF_CSS_PROPERTY, {"propertyName": property_name})["value"]
+ @property def location(self) -> dict: - """The location of the element in the renderable canvas. + """The location of the element in the renderable canvas. Returns: -------- @@ -444,14 +640,14 @@

Source code for selenium.webdriver.remote.webelement

Example: -------- >>> loc = element.location - """ - old_loc = self._execute(Command.GET_ELEMENT_RECT)["value"] - new_loc = {"x": round(old_loc["x"]), "y": round(old_loc["y"])} + """ + old_loc = self._execute(Command.GET_ELEMENT_RECT)["value"] + new_loc = {"x": round(old_loc["x"]), "y": round(old_loc["y"])} return new_loc @property def rect(self) -> dict: - """A dictionary with the size and location of the element. + """A dictionary with the size and location of the element. Returns: -------- @@ -460,12 +656,12 @@

Source code for selenium.webdriver.remote.webelement

Example: -------- >>> rect = element.rect - """ - return self._execute(Command.GET_ELEMENT_RECT)["value"] + """ + return self._execute(Command.GET_ELEMENT_RECT)["value"] @property def aria_role(self) -> str: - """Returns the ARIA role of the current web element. + """Returns the ARIA role of the current web element. Returns: -------- @@ -474,12 +670,12 @@

Source code for selenium.webdriver.remote.webelement

Example: -------- >>> role = element.aria_role - """ - return self._execute(Command.GET_ELEMENT_ARIA_ROLE)["value"] + """ + return self._execute(Command.GET_ELEMENT_ARIA_ROLE)["value"] @property def accessible_name(self) -> str: - """Returns the ARIA Level of the current webelement. + """Returns the ARIA Level of the current webelement. Returns: -------- @@ -488,12 +684,12 @@

Source code for selenium.webdriver.remote.webelement

Example: -------- >>> name = element.accessible_name - """ - return self._execute(Command.GET_ELEMENT_ARIA_LABEL)["value"] + """ + return self._execute(Command.GET_ELEMENT_ARIA_LABEL)["value"] @property def screenshot_as_base64(self) -> str: - """Gets the screenshot of the current element as a base64 encoded + """Gets the screenshot of the current element as a base64 encoded string. Returns: @@ -503,12 +699,12 @@

Source code for selenium.webdriver.remote.webelement

Example: -------- >>> img_b64 = element.screenshot_as_base64 - """ - return self._execute(Command.ELEMENT_SCREENSHOT)["value"] + """ + return self._execute(Command.ELEMENT_SCREENSHOT)["value"] @property def screenshot_as_png(self) -> bytes: - """Gets the screenshot of the current element as a binary data. + """Gets the screenshot of the current element as a binary data. Returns: -------- @@ -517,11 +713,13 @@

Source code for selenium.webdriver.remote.webelement

Example: -------- >>> element_png = element.screenshot_as_png - """ - return b64decode(self.screenshot_as_base64.encode("ascii")) + """ + return b64decode(self.screenshot_as_base64.encode("ascii")) -
[docs] def screenshot(self, filename) -> bool: - """Saves a screenshot of the current element to a PNG image file. +
+[docs] + def screenshot(self, filename) -> bool: + """Saves a screenshot of the current element to a PNG image file. Returns False if there is any IOError, else returns True. Use full paths in your filename. @@ -530,23 +728,23 @@

Source code for selenium.webdriver.remote.webelement

bool : True if the screenshot was saved successfully, False otherwise. Parameters: - ---------- + ----------- filename : str The full path you wish to save your screenshot to. This should end with a `.png` extension. Element: -------- - >>> element.screenshot('/Screenshots/foo.png') - """ - if not filename.lower().endswith(".png"): + >>> element.screenshot('/Screenshots/foo.png') + """ + if not filename.lower().endswith(".png"): warnings.warn( - "name used for saved screenshot does not match file type. It should end with a `.png` extension", + "name used for saved screenshot does not match file type. It should end with a `.png` extension", UserWarning, ) png = self.screenshot_as_png try: - with open(filename, "wb") as f: + with open(filename, "wb") as f: f.write(png) except OSError: return False @@ -554,21 +752,22 @@

Source code for selenium.webdriver.remote.webelement

del png return True
+ @property def parent(self): - """Internal reference to the WebDriver instance this element was found + """Internal reference to the WebDriver instance this element was found from. Example: -------- - >>> element = driver.find_element(By.ID, 'foo') + >>> element = driver.find_element(By.ID, 'foo') >>> parent_element = element.parent - """ + """ return self._parent @property def id(self) -> str: - """Internal ID used by selenium. + """Internal ID used by selenium. This is mainly for internal use. Simple use cases such as checking if 2 webelements refer to the same element, can be done using ``==``:: @@ -576,22 +775,22 @@

Source code for selenium.webdriver.remote.webelement

Example: -------- >>> if element1 == element2: - ... print("These 2 are equal") - """ + ... print("These 2 are equal") + """ return self._id def __eq__(self, element): - return hasattr(element, "id") and self._id == element.id + return hasattr(element, "id") and self._id == element.id def __ne__(self, element): return not self.__eq__(element) # Private Methods def _execute(self, command, params=None): - """Executes a command against the underlying HTML element. + """Executes a command against the underlying HTML element. Parameters: - ---------- + ----------- command : any The name of the command to _execute as a string. @@ -600,18 +799,20 @@

Source code for selenium.webdriver.remote.webelement

Returns: ------- - The command's JSON response loaded into a dictionary object. - """ + The command's JSON response loaded into a dictionary object. + """ if not params: params = {} - params["id"] = self._id + params["id"] = self._id return self._parent.execute(command, params) -
[docs] def find_element(self, by=By.ID, value=None) -> WebElement: - """Find an element given a By strategy and locator. +
+[docs] + def find_element(self, by=By.ID, value=None) -> WebElement: + """Find an element given a By strategy and locator. Parameters: - ---------- + ----------- by : selenium.webdriver.common.by.By The locating strategy to use. Default is `By.ID`. Supported values include: - By.ID: Locate by element ID. @@ -619,28 +820,31 @@

Source code for selenium.webdriver.remote.webelement

- By.XPATH: Locate by an XPath expression. - By.CSS_SELECTOR: Locate by a CSS selector. - By.CLASS_NAME: Locate by the `class` attribute. - - By.TAG_NAME: Locate by the tag name (e.g., "input", "button"). + - By.TAG_NAME: Locate by the tag name (e.g., "input", "button"). - By.LINK_TEXT: Locate a link element by its exact text. - By.PARTIAL_LINK_TEXT: Locate a link element by partial text match. - RelativeBy: Locate elements relative to a specified root element. Example: -------- - element = driver.find_element(By.ID, 'foo') + element = driver.find_element(By.ID, 'foo') Returns: ------- WebElement The first matching `WebElement` found on the page. - """ + """ by, value = self._parent.locator_converter.convert(by, value) - return self._execute(Command.FIND_CHILD_ELEMENT, {"using": by, "value": value})["value"]
+ return self._execute(Command.FIND_CHILD_ELEMENT, {"using": by, "value": value})["value"]
-
[docs] def find_elements(self, by=By.ID, value=None) -> List[WebElement]: - """Find elements given a By strategy and locator. + +
+[docs] + def find_elements(self, by=By.ID, value=None) -> List[WebElement]: + """Find elements given a By strategy and locator. Parameters: - ---------- + ----------- by : selenium.webdriver.common.by.By The locating strategy to use. Default is `By.ID`. Supported values include: - By.ID: Locate by element ID. @@ -648,82 +852,74 @@

Source code for selenium.webdriver.remote.webelement

- By.XPATH: Locate by an XPath expression. - By.CSS_SELECTOR: Locate by a CSS selector. - By.CLASS_NAME: Locate by the `class` attribute. - - By.TAG_NAME: Locate by the tag name (e.g., "input", "button"). + - By.TAG_NAME: Locate by the tag name (e.g., "input", "button"). - By.LINK_TEXT: Locate a link element by its exact text. - By.PARTIAL_LINK_TEXT: Locate a link element by partial text match. - RelativeBy: Locate elements relative to a specified root element. Example: -------- - >>> element = driver.find_element(By.ID, 'foo') + >>> element = driver.find_elements(By.ID, 'foo') Returns: ------- - WebElement + List[WebElement] list of `WebElements` matching locator strategy found on the page. - """ + """ by, value = self._parent.locator_converter.convert(by, value) - return self._execute(Command.FIND_CHILD_ELEMENTS, {"using": by, "value": value})["value"]
+ return self._execute(Command.FIND_CHILD_ELEMENTS, {"using": by, "value": value})["value"]
+ def __hash__(self) -> int: - return int(md5_hash(self._id.encode("utf-8")).hexdigest(), 16) + return int(md5_hash(self._id.encode("utf-8")).hexdigest(), 16) def _upload(self, filename): fp = BytesIO() - zipped = zipfile.ZipFile(fp, "w", zipfile.ZIP_DEFLATED) + zipped = zipfile.ZipFile(fp, "w", zipfile.ZIP_DEFLATED) zipped.write(filename, os.path.split(filename)[1]) zipped.close() content = encodebytes(fp.getvalue()) if not isinstance(content, str): - content = content.decode("utf-8") + content = content.decode("utf-8") try: - return self._execute(Command.UPLOAD_FILE, {"file": content})["value"] + return self._execute(Command.UPLOAD_FILE, {"file": content})["value"] except WebDriverException as e: - if "Unrecognized command: POST" in str(e): + if "Unrecognized command: POST" in str(e): return filename - if "Command not found: POST " in str(e): + if "Command not found: POST " in str(e): return filename - if '{"status":405,"value":["GET","HEAD","DELETE"]}' in str(e): + if '{"status":405,"value":["GET","HEAD","DELETE"]}' in str(e): return filename raise
+
-
-
+
-
+
+ + + \ No newline at end of file diff --git a/docs/api/py/_modules/selenium/webdriver/remote/websocket_connection.html b/docs/api/py/_modules/selenium/webdriver/remote/websocket_connection.html index ab98be767476a..41771557052a8 100644 --- a/docs/api/py/_modules/selenium/webdriver/remote/websocket_connection.html +++ b/docs/api/py/_modules/selenium/webdriver/remote/websocket_connection.html @@ -1,54 +1,210 @@ - + - selenium.webdriver.remote.websocket_connection — Selenium 4.29.0.202501201850 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + selenium.webdriver.remote.websocket_connection — Selenium 4.30.0 documentation - + + + + + + + + + + + + + + + + + + + + + + + + Skip to content +
+ +
+ + +
- - - - - - - + +
+
+ +
+ +
+
+
+
+ + +
+
+
+ +
+
-

Source code for selenium.webdriver.remote.websocket_connection

+  

Source code for selenium.webdriver.remote.websocket_connection

 # Licensed to the Software Freedom Conservancy (SFC) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
 # regarding copyright ownership.  The SFC licenses this file
 # to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
+# "License"); you may not use this file except in compliance
 # with the License.  You may obtain a copy of the License at
 #
 #   http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing,
 # software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
@@ -63,7 +219,9 @@ 

Source code for selenium.webdriver.remote.websocket_connection

logger = logging.getLogger(__name__) -
[docs]class WebSocketConnection: +
+[docs] +class WebSocketConnection: _response_wait_timeout = 30 _response_wait_interval = 0.1 @@ -81,33 +239,41 @@

Source code for selenium.webdriver.remote.websocket_connection

self._start_ws() self._wait_until(lambda: self._started) -
[docs] def close(self): +
+[docs] + def close(self): self._ws_thread.join(timeout=self._response_wait_timeout) self._ws.close() self._started = False self._ws = None
-
[docs] def execute(self, command): + +
+[docs] + def execute(self, command): self._id += 1 payload = self._serialize_command(command) - payload["id"] = self._id + payload["id"] = self._id if self.session_id: - payload["sessionId"] = self.session_id + payload["sessionId"] = self.session_id data = json.dumps(payload) - logger.debug(f"-> {data}"[: self._max_log_message_size]) + logger.debug(f"-> {data}"[: self._max_log_message_size]) self._ws.send(data) self._wait_until(lambda: self._id in self._messages) response = self._messages.pop(self._id) - if "error" in response: - raise Exception(response["error"]) + if "error" in response: + raise Exception(response["error"]) else: - result = response["result"] + result = response["result"] return self._deserialize_result(result, command)
-
[docs] def add_callback(self, event, callback): + +
+[docs] + def add_callback(self, event, callback): event_name = event.event_class if event_name not in self.callbacks: self.callbacks[event_name] = [] @@ -118,9 +284,12 @@

Source code for selenium.webdriver.remote.websocket_connection

self.callbacks[event_name].append(_callback) return id(_callback)
+ on = add_callback -
[docs] def remove_callback(self, event, callback_id): +
+[docs] + def remove_callback(self, event, callback_id): event_name = event.event_class if event_name in self.callbacks: for callback in self.callbacks[event_name]: @@ -128,13 +297,14 @@

Source code for selenium.webdriver.remote.websocket_connection

self.callbacks[event_name].remove(callback) return
+ def _serialize_command(self, command): return next(command) def _deserialize_result(self, result, command): try: _ = command.send(result) - raise Exception("The command's generator function did not exit when expected!") + raise Exception("The command's generator function did not exit when expected!") except StopIteration as exit: return exit.value @@ -146,12 +316,12 @@

Source code for selenium.webdriver.remote.websocket_connection

self._process_message(message) def on_error(ws, error): - logger.debug(f"error: {error}") + logger.debug(f"error: {error}") ws.close() def run_socket(): - if self.url.startswith("wss://"): - self._ws.run_forever(sslopt={"cert_reqs": CERT_NONE}, suppress_origin=True) + if self.url.startswith("wss://"): + self._ws.run_forever(sslopt={"cert_reqs": CERT_NONE}, suppress_origin=True) else: self._ws.run_forever(suppress_origin=True) @@ -161,14 +331,14 @@

Source code for selenium.webdriver.remote.websocket_connection

def _process_message(self, message): message = json.loads(message) - logger.debug(f"<- {message}"[: self._max_log_message_size]) + logger.debug(f"<- {message}"[: self._max_log_message_size]) - if "id" in message: - self._messages[message["id"]] = message + if "id" in message: + self._messages[message["id"]] = message - if "method" in message: - params = message["params"] - for callback in self.callbacks.get(message["method"], []): + if "method" in message: + params = message["params"] + for callback in self.callbacks.get(message["method"], []): callback(params) def _wait_until(self, condition): @@ -182,44 +352,35 @@

Source code for selenium.webdriver.remote.websocket_connection

else: timeout -= interval sleep(interval)
+
-
-
+
-
+
+ + + \ No newline at end of file diff --git a/docs/api/py/_modules/selenium/webdriver/safari/options.html b/docs/api/py/_modules/selenium/webdriver/safari/options.html index b21ec61637b46..054679d662918 100644 --- a/docs/api/py/_modules/selenium/webdriver/safari/options.html +++ b/docs/api/py/_modules/selenium/webdriver/safari/options.html @@ -1,54 +1,210 @@ - + - selenium.webdriver.safari.options — Selenium 4.29.0.202501201850 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + selenium.webdriver.safari.options — Selenium 4.30.0 documentation - + + + + + + + + + + + + + + + + + + + + + + + + Skip to content +
+ +
+ + +
- - - - - - - + +
+
+ +
+ +
+
+
+
+ + +
+
+
+ +
+
-

Source code for selenium.webdriver.safari.options

+  

Source code for selenium.webdriver.safari.options

 # Licensed to the Software Freedom Conservancy (SFC) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
 # regarding copyright ownership.  The SFC licenses this file
 # to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
+# "License"); you may not use this file except in compliance
 # with the License.  You may obtain a copy of the License at
 #
 #   http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing,
 # software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
@@ -59,7 +215,7 @@ 

Source code for selenium.webdriver.safari.options

class _SafariOptionsDescriptor: - """_SafariOptionsDescriptor is an implementation of Descriptor protocol: + """_SafariOptionsDescriptor is an implementation of Descriptor protocol: : Any look-up or assignment to the below attributes in `Options` class will be intercepted by `__get__` and `__set__` method respectively. @@ -78,117 +234,110 @@

Source code for selenium.webdriver.safari.options

`self.automatic_inspection` = True `__set__` method sets/updates the value of the key `safari:automaticInspection` in `_caps` dictionary in `Options` class. - """ + """ def __init__(self, name, expected_type): self.name = name self.expected_type = expected_type def __get__(self, obj, cls): - if self.name == "Safari Technology Preview": - return obj._caps.get("browserName") == self.name + if self.name == "Safari Technology Preview": + return obj._caps.get("browserName") == self.name return obj._caps.get(self.name) def __set__(self, obj, value): if not isinstance(value, self.expected_type): - raise TypeError(f"{self.name} must be of type {self.expected_type}") - if self.name == "Safari Technology Preview": - obj._caps["browserName"] = self.name if value else "safari" + raise TypeError(f"{self.name} must be of type {self.expected_type}") + if self.name == "Safari Technology Preview": + obj._caps["browserName"] = self.name if value else "safari" else: obj._caps[self.name] = value -
[docs]class Options(ArgOptions): +
+[docs] +class Options(ArgOptions): # @see https://developer.apple.com/documentation/webkit/about_webdriver_for_safari - AUTOMATIC_INSPECTION = "safari:automaticInspection" - AUTOMATIC_PROFILING = "safari:automaticProfiling" - SAFARI_TECH_PREVIEW = "Safari Technology Preview" + AUTOMATIC_INSPECTION = "safari:automaticInspection" + AUTOMATIC_PROFILING = "safari:automaticProfiling" + SAFARI_TECH_PREVIEW = "Safari Technology Preview" # creating descriptor objects automatic_inspection = _SafariOptionsDescriptor(AUTOMATIC_INSPECTION, bool) - """Get or Set Automatic Inspection value: + """Get or Set Automatic Inspection value: - Usage - ----- + Usage: + ------ - Get - `self.automatic_inspection` - Set - `self.automatic_inspection` = `value` - Parameters - ---------- + Parameters: + ----------- `value`: `bool` - """ + """ automatic_profiling = _SafariOptionsDescriptor(AUTOMATIC_PROFILING, bool) - """Get or Set Automatic Profiling value: + """Get or Set Automatic Profiling value: - Usage - ----- + Usage: + ------ - Get - `self.automatic_profiling` - Set - `self.automatic_profiling` = `value` - Parameters - ---------- + Parameters: + ----------- `value`: `bool` - """ + """ use_technology_preview = _SafariOptionsDescriptor(SAFARI_TECH_PREVIEW, bool) - """Get and Set Technology Preview: + """Get and Set Technology Preview: - Usage - ----- + Usage: + ------ - Get - `self.use_technology_preview` - Set - `self.use_technology_preview` = `value` - Parameters - ---------- + Parameters: + ----------- `value`: `bool` - """ + """ @property def default_capabilities(self) -> Dict[str, str]: return DesiredCapabilities.SAFARI.copy()
+
-
-
+
-
+
+ + + \ No newline at end of file diff --git a/docs/api/py/_modules/selenium/webdriver/safari/permissions.html b/docs/api/py/_modules/selenium/webdriver/safari/permissions.html index f0f25f9de884e..d4d34d8482b61 100644 --- a/docs/api/py/_modules/selenium/webdriver/safari/permissions.html +++ b/docs/api/py/_modules/selenium/webdriver/safari/permissions.html @@ -1,102 +1,251 @@ - + - selenium.webdriver.safari.permissions — Selenium 4.29.0.202501201850 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + selenium.webdriver.safari.permissions — Selenium 4.30.0 documentation - + + + + + + + + + + + + + + + + + + + + + + + + Skip to content +
+ +
+ + +
- - - - - - - + +
+
+ +
+ +
+
+
+
+ + +
+
+
+ +
+
-

Source code for selenium.webdriver.safari.permissions

+  

Source code for selenium.webdriver.safari.permissions

 # Licensed to the Software Freedom Conservancy (SFC) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
 # regarding copyright ownership.  The SFC licenses this file
 # to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
+# "License"); you may not use this file except in compliance
 # with the License.  You may obtain a copy of the License at
 #
 #   http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing,
 # software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-"""The Permission implementation."""
+"""The Permission implementation."""
+
 
+
+[docs] +class Permission: + """Set of supported permissions.""" -
[docs]class Permission: - """Set of supported permissions.""" + GET_USER_MEDIA = "getUserMedia"
- GET_USER_MEDIA = "getUserMedia"
-
-
+
-
+
+ + + \ No newline at end of file diff --git a/docs/api/py/_modules/selenium/webdriver/safari/remote_connection.html b/docs/api/py/_modules/selenium/webdriver/safari/remote_connection.html index d213f46de7ea4..d4fefcc1e2d98 100644 --- a/docs/api/py/_modules/selenium/webdriver/safari/remote_connection.html +++ b/docs/api/py/_modules/selenium/webdriver/safari/remote_connection.html @@ -1,54 +1,210 @@ - + - selenium.webdriver.safari.remote_connection — Selenium 4.29.0.202501201850 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + selenium.webdriver.safari.remote_connection — Selenium 4.30.0 documentation - + + + + + + + + + + + + + + + + + + + + + + + + Skip to content +
+ +
+ + +
- - - - - - - + +
+
+ +
+ +
+
+
+
+ + +
+
+
+ +
+
-

Source code for selenium.webdriver.safari.remote_connection

+  

Source code for selenium.webdriver.safari.remote_connection

 # Licensed to the Software Freedom Conservancy (SFC) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
 # regarding copyright ownership.  The SFC licenses this file
 # to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
+# "License"); you may not use this file except in compliance
 # with the License.  You may obtain a copy of the License at
 #
 #   http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing,
 # software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
@@ -60,8 +216,10 @@ 

Source code for selenium.webdriver.safari.remote_connection

from selenium.webdriver.remote.remote_connection import RemoteConnection -
[docs]class SafariRemoteConnection(RemoteConnection): - browser_name = DesiredCapabilities.SAFARI["browserName"] +
+[docs] +class SafariRemoteConnection(RemoteConnection): + browser_name = DesiredCapabilities.SAFARI["browserName"] def __init__( self, @@ -78,47 +236,38 @@

Source code for selenium.webdriver.safari.remote_connection

client_config=client_config, ) - self._commands["GET_PERMISSIONS"] = ("GET", "/session/$sessionId/apple/permissions") - self._commands["SET_PERMISSIONS"] = ("POST", "/session/$sessionId/apple/permissions") - self._commands["ATTACH_DEBUGGER"] = ("POST", "/session/$sessionId/apple/attach_debugger")
+ self._commands["GET_PERMISSIONS"] = ("GET", "/session/$sessionId/apple/permissions") + self._commands["SET_PERMISSIONS"] = ("POST", "/session/$sessionId/apple/permissions") + self._commands["ATTACH_DEBUGGER"] = ("POST", "/session/$sessionId/apple/attach_debugger")
+
-
-
+
-
+
+ + + \ No newline at end of file diff --git a/docs/api/py/_modules/selenium/webdriver/safari/service.html b/docs/api/py/_modules/selenium/webdriver/safari/service.html index b8e22b738c485..43d1276ac1d4d 100644 --- a/docs/api/py/_modules/selenium/webdriver/safari/service.html +++ b/docs/api/py/_modules/selenium/webdriver/safari/service.html @@ -1,54 +1,210 @@ - + - selenium.webdriver.safari.service — Selenium 4.29.0.202501201850 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + selenium.webdriver.safari.service — Selenium 4.30.0 documentation - + + + + + + + + + + + + + + + + + + + + + + + + Skip to content +
+ +
+ + +
- - - - - - - + +
+
+ +
+
+ +
+
+
+
+
+ + +
+
+
+ +
+
-

Source code for selenium.webdriver.safari.service

+  

Source code for selenium.webdriver.safari.service

 # Licensed to the Software Freedom Conservancy (SFC) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
 # regarding copyright ownership.  The SFC licenses this file
 # to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
+# "License"); you may not use this file except in compliance
 # with the License.  You may obtain a copy of the License at
 #
 #   http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing,
 # software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
@@ -61,8 +217,10 @@ 

Source code for selenium.webdriver.safari.service

from selenium.webdriver.common import service -
[docs]class Service(service.Service): - """A Service class that is responsible for the starting and stopping of +
+[docs] +class Service(service.Service): + """A Service class that is responsible for the starting and stopping of `safaridriver` This is only supported on MAC OSX. :param executable_path: install path of the safaridriver executable, defaults to `/usr/bin/safaridriver`. @@ -71,7 +229,7 @@

Source code for selenium.webdriver.safari.service

:param env: (Optional) Mapping of environment variables for the new process, defaults to `os.environ`. :param enable_logging: (Optional) Enable logging of the service. Logs can be located at `~/Library/Logs/com.apple.WebDriver/` :param driver_path_env_key: (Optional) Environment variable to use to get the path to the driver executable. - """ + """ def __init__( self, @@ -85,10 +243,10 @@

Source code for selenium.webdriver.safari.service

**kwargs, ) -> None: self.service_args = service_args or [] - driver_path_env_key = driver_path_env_key or "SE_SAFARIDRIVER" + driver_path_env_key = driver_path_env_key or "SE_SAFARIDRIVER" if enable_logging: - self.service_args.append("--diagnose") + self.service_args.append("--diagnose") self.reuse_service = reuse_service super().__init__( @@ -99,13 +257,16 @@

Source code for selenium.webdriver.safari.service

**kwargs, ) -
[docs] def command_line_args(self) -> List[str]: - return ["-p", f"{self.port}"] + self.service_args
+
+[docs] + def command_line_args(self) -> List[str]: + return ["-p", f"{self.port}"] + self.service_args
+ @property def service_url(self) -> str: - """Gets the url of the SafariDriver Service.""" - return f"http://localhost:{self.port}" + """Gets the url of the SafariDriver Service.""" + return f"http://localhost:{self.port}" @property def reuse_service(self) -> bool: @@ -114,46 +275,37 @@

Source code for selenium.webdriver.safari.service

@reuse_service.setter def reuse_service(self, reuse: bool) -> None: if not isinstance(reuse, bool): - raise TypeError("reuse must be a boolean") + raise TypeError("reuse must be a boolean") self._reuse_service = reuse
+
-
-
+
-
+
+ + + \ No newline at end of file diff --git a/docs/api/py/_modules/selenium/webdriver/safari/webdriver.html b/docs/api/py/_modules/selenium/webdriver/safari/webdriver.html index 98065e7750c7a..5b2612fa9f0de 100644 --- a/docs/api/py/_modules/selenium/webdriver/safari/webdriver.html +++ b/docs/api/py/_modules/selenium/webdriver/safari/webdriver.html @@ -1,54 +1,210 @@ - + - selenium.webdriver.safari.webdriver — Selenium 4.29.0.202501201850 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + selenium.webdriver.safari.webdriver — Selenium 4.30.0 documentation - + + + + + + + + + + + + + + + + + + + + + + + + Skip to content +
+ +
+ + +
- - - - - - - + +
+
+ +
+ +
+
+
+
+ + +
+
+
+ +
+
-

Source code for selenium.webdriver.safari.webdriver

+  

Source code for selenium.webdriver.safari.webdriver

 # Licensed to the Software Freedom Conservancy (SFC) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
 # regarding copyright ownership.  The SFC licenses this file
 # to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
+# "License"); you may not use this file except in compliance
 # with the License.  You may obtain a copy of the License at
 #
 #   http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing,
 # software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
@@ -62,8 +218,10 @@ 

Source code for selenium.webdriver.safari.webdriver

from .service import Service -
[docs]class WebDriver(RemoteWebDriver): - """Controls the SafariDriver and allows you to drive the browser.""" +
+[docs] +class WebDriver(RemoteWebDriver): + """Controls the SafariDriver and allows you to drive the browser.""" def __init__( self, @@ -71,7 +229,7 @@

Source code for selenium.webdriver.safari.webdriver

options: Options = None, service: Service = None, ) -> None: - """Creates a new Safari driver instance and launches or finds a running + """Creates a new Safari driver instance and launches or finds a running safaridriver service. :Args: @@ -79,7 +237,7 @@

Source code for selenium.webdriver.safari.webdriver

HTTP keep-alive. Defaults to True. - options - Instance of ``options.Options``. - service - Service object for handling the browser driver if you need to pass extra details - """ + """ self.service = service if service else Service() options = options if options else Options() @@ -102,32 +260,40 @@

Source code for selenium.webdriver.safari.webdriver

self._is_remote = False -
[docs] def quit(self): - """Closes the browser and shuts down the SafariDriver executable.""" +
+[docs] + def quit(self): + """Closes the browser and shuts down the SafariDriver executable.""" try: super().quit() except Exception: - # We don't care about the message because something probably has gone wrong + # We don't care about the message because something probably has gone wrong pass finally: if not self.service.reuse_service: self.service.stop()
+ # safaridriver extension commands. The canonical command support matrix is here: # https://developer.apple.com/library/content/documentation/NetworkingInternetWeb/Conceptual/WebDriverEndpointDoc/Commands/Commands.html # First available in Safari 11.1 and Safari Technology Preview 41. -
[docs] def set_permission(self, permission, value): +
+[docs] + def set_permission(self, permission, value): if not isinstance(value, bool): - raise WebDriverException("Value of a session permission must be set to True or False.") + raise WebDriverException("Value of a session permission must be set to True or False.") payload = {permission: value} - self.execute("SET_PERMISSIONS", {"permissions": payload})
+ self.execute("SET_PERMISSIONS", {"permissions": payload})
+ # First available in Safari 11.1 and Safari Technology Preview 41. -
[docs] def get_permission(self, permission): - payload = self.execute("GET_PERMISSIONS")["value"] - permissions = payload["permissions"] +
+[docs] + def get_permission(self, permission): + payload = self.execute("GET_PERMISSIONS")["value"] + permissions = payload["permissions"] if not permissions: return None @@ -140,48 +306,43 @@

Source code for selenium.webdriver.safari.webdriver

return value
+ # First available in Safari 11.1 and Safari Technology Preview 42. -
[docs] def debug(self): - self.execute("ATTACH_DEBUGGER") - self.execute_script("debugger;")
+
+[docs] + def debug(self): + self.execute("ATTACH_DEBUGGER") + self.execute_script("debugger;")
+
+
-
-
+
-
+
+ + + \ No newline at end of file diff --git a/docs/api/py/_modules/selenium/webdriver/support/abstract_event_listener.html b/docs/api/py/_modules/selenium/webdriver/support/abstract_event_listener.html index fd975e646008b..1d8e318719f4a 100644 --- a/docs/api/py/_modules/selenium/webdriver/support/abstract_event_listener.html +++ b/docs/api/py/_modules/selenium/webdriver/support/abstract_event_listener.html @@ -1,156 +1,362 @@ - + - selenium.webdriver.support.abstract_event_listener — Selenium 4.29.0.202501201850 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + selenium.webdriver.support.abstract_event_listener — Selenium 4.30.0 documentation - + + + + + + + + + + + + + + + + + + + + + + + + Skip to content +
+ +
+ + +
- - - - - - - + +
+
+ +
+
+ +
+
+
+
+
+ + +
+
+
+ +
+
-

Source code for selenium.webdriver.support.abstract_event_listener

+  

Source code for selenium.webdriver.support.abstract_event_listener

 # Licensed to the Software Freedom Conservancy (SFC) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
 # regarding copyright ownership.  The SFC licenses this file
 # to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
+# "License"); you may not use this file except in compliance
 # with the License.  You may obtain a copy of the License at
 #
 #   http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing,
 # software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
 
 
-
[docs]class AbstractEventListener: - """Event listener must subclass and implement this fully or partially.""" +
+[docs] +class AbstractEventListener: + """Event listener must subclass and implement this fully or partially.""" -
[docs] def before_navigate_to(self, url: str, driver) -> None: +
+[docs] + def before_navigate_to(self, url: str, driver) -> None: pass
-
[docs] def after_navigate_to(self, url: str, driver) -> None: + +
+[docs] + def after_navigate_to(self, url: str, driver) -> None: pass
-
[docs] def before_navigate_back(self, driver) -> None: + +
+[docs] + def before_navigate_back(self, driver) -> None: pass
-
[docs] def after_navigate_back(self, driver) -> None: + +
+[docs] + def after_navigate_back(self, driver) -> None: pass
-
[docs] def before_navigate_forward(self, driver) -> None: + +
+[docs] + def before_navigate_forward(self, driver) -> None: + pass
+ + +
+[docs] + def after_navigate_forward(self, driver) -> None: pass
-
[docs] def after_navigate_forward(self, driver) -> None: + +
+[docs] + def before_find(self, by, value, driver) -> None: pass
-
[docs] def before_find(self, by, value, driver) -> None: + +
+[docs] + def after_find(self, by, value, driver) -> None: pass
-
[docs] def after_find(self, by, value, driver) -> None: + +
+[docs] + def before_click(self, element, driver) -> None: pass
-
[docs] def before_click(self, element, driver) -> None: + +
+[docs] + def after_click(self, element, driver) -> None: pass
-
[docs] def after_click(self, element, driver) -> None: + +
+[docs] + def before_change_value_of(self, element, driver) -> None: pass
-
[docs] def before_change_value_of(self, element, driver) -> None: + +
+[docs] + def after_change_value_of(self, element, driver) -> None: pass
-
[docs] def after_change_value_of(self, element, driver) -> None: + +
+[docs] + def before_execute_script(self, script, driver) -> None: pass
-
[docs] def before_execute_script(self, script, driver) -> None: + +
+[docs] + def after_execute_script(self, script, driver) -> None: pass
-
[docs] def after_execute_script(self, script, driver) -> None: + +
+[docs] + def before_close(self, driver) -> None: pass
-
[docs] def before_close(self, driver) -> None: + +
+[docs] + def after_close(self, driver) -> None: pass
-
[docs] def after_close(self, driver) -> None: + +
+[docs] + def before_quit(self, driver) -> None: pass
-
[docs] def before_quit(self, driver) -> None: + +
+[docs] + def after_quit(self, driver) -> None: pass
-
[docs] def after_quit(self, driver) -> None: + +
+[docs] + def on_exception(self, exception, driver) -> None: pass
+
-
[docs] def on_exception(self, exception, driver) -> None: - pass
-
-
+
-
+
+ + + \ No newline at end of file diff --git a/docs/api/py/_modules/selenium/webdriver/support/color.html b/docs/api/py/_modules/selenium/webdriver/support/color.html index 2c2a7cca69657..e0b3a776f3336 100644 --- a/docs/api/py/_modules/selenium/webdriver/support/color.html +++ b/docs/api/py/_modules/selenium/webdriver/support/color.html @@ -1,54 +1,210 @@ - + - selenium.webdriver.support.color — Selenium 4.29.0.202501201850 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + selenium.webdriver.support.color — Selenium 4.30.0 documentation - + + + + + + + + + + + + + + + + + + + + + + + + Skip to content +
+ +
+ + +
- - - - - - - + +
+
+ +
+ +
+
+
+
+ + +
+
+
+ +
+
-

Source code for selenium.webdriver.support.color

+  

Source code for selenium.webdriver.support.color

 # Licensed to the Software Freedom Conservancy (SFC) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
 # regarding copyright ownership.  The SFC licenses this file
 # to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
+# "License"); you may not use this file except in compliance
 # with the License.  You may obtain a copy of the License at
 #
 #   http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing,
 # software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
@@ -76,20 +232,22 @@ 

Source code for selenium.webdriver.support.color

ParseableFloat = Any ParseableInt = Any -RGB_PATTERN = r"^\s*rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)\s*$" +RGB_PATTERN = r"^\s*rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)\s*$" RGB_PCT_PATTERN = ( - r"^\s*rgb\(\s*(\d{1,3}|\d{1,2}\.\d+)%\s*,\s*(\d{1,3}|\d{1,2}\.\d+)%\s*,\s*(\d{1,3}|\d{1,2}\.\d+)%\s*\)\s*$" + r"^\s*rgb\(\s*(\d{1,3}|\d{1,2}\.\d+)%\s*,\s*(\d{1,3}|\d{1,2}\.\d+)%\s*,\s*(\d{1,3}|\d{1,2}\.\d+)%\s*\)\s*$" ) -RGBA_PATTERN = r"^\s*rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(0|1|0\.\d+)\s*\)\s*$" -RGBA_PCT_PATTERN = r"^\s*rgba\(\s*(\d{1,3}|\d{1,2}\.\d+)%\s*,\s*(\d{1,3}|\d{1,2}\.\d+)%\s*,\s*(\d{1,3}|\d{1,2}\.\d+)%\s*,\s*(0|1|0\.\d+)\s*\)\s*$" -HEX_PATTERN = r"#([A-Fa-f0-9]{2})([A-Fa-f0-9]{2})([A-Fa-f0-9]{2})" -HEX3_PATTERN = r"#([A-Fa-f0-9])([A-Fa-f0-9])([A-Fa-f0-9])" -HSL_PATTERN = r"^\s*hsl\(\s*(\d{1,3})\s*,\s*(\d{1,3})%\s*,\s*(\d{1,3})%\s*\)\s*$" -HSLA_PATTERN = r"^\s*hsla\(\s*(\d{1,3})\s*,\s*(\d{1,3})%\s*,\s*(\d{1,3})%\s*,\s*(0|1|0\.\d+)\s*\)\s*$" +RGBA_PATTERN = r"^\s*rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(0|1|0\.\d+)\s*\)\s*$" +RGBA_PCT_PATTERN = r"^\s*rgba\(\s*(\d{1,3}|\d{1,2}\.\d+)%\s*,\s*(\d{1,3}|\d{1,2}\.\d+)%\s*,\s*(\d{1,3}|\d{1,2}\.\d+)%\s*,\s*(0|1|0\.\d+)\s*\)\s*$" +HEX_PATTERN = r"#([A-Fa-f0-9]{2})([A-Fa-f0-9]{2})([A-Fa-f0-9]{2})" +HEX3_PATTERN = r"#([A-Fa-f0-9])([A-Fa-f0-9])([A-Fa-f0-9])" +HSL_PATTERN = r"^\s*hsl\(\s*(\d{1,3})\s*,\s*(\d{1,3})%\s*,\s*(\d{1,3})%\s*\)\s*$" +HSLA_PATTERN = r"^\s*hsla\(\s*(\d{1,3})\s*,\s*(\d{1,3})%\s*,\s*(\d{1,3})%\s*,\s*(0|1|0\.\d+)\s*\)\s*$" -
[docs]class Color: - """Color conversion support class. +
+[docs] +class Color: + """Color conversion support class. Example: @@ -97,12 +255,14 @@

Source code for selenium.webdriver.support.color

from selenium.webdriver.support.color import Color - print(Color.from_string('#00ff33').rgba) - print(Color.from_string('rgb(1, 255, 3)').hex) - print(Color.from_string('blue').rgba) - """ + print(Color.from_string('#00ff33').rgba) + print(Color.from_string('rgb(1, 255, 3)').hex) + print(Color.from_string('blue').rgba) + """ -
[docs] @classmethod +
+[docs] + @classmethod def from_string(cls, str_: str) -> Color: import re @@ -142,7 +302,8 @@

Source code for selenium.webdriver.support.color

return cls._from_hsl(*m.groups) if str_.upper() in Colors: return Colors[str_.upper()] - raise ValueError("Could not convert %s into color" % str_)
+ raise ValueError("Could not convert %s into color" % str_)
+ @classmethod def _from_hsl(cls, h: ParseableFloat, s: ParseableFloat, light: ParseableFloat, a: ParseableFloat = 1) -> Color: @@ -182,19 +343,19 @@

Source code for selenium.webdriver.support.color

self.red = int(red) self.green = int(green) self.blue = int(blue) - self.alpha = "1" if float(alpha) == 1 else str(float(alpha) or 0) + self.alpha = "1" if float(alpha) == 1 else str(float(alpha) or 0) @property def rgb(self) -> str: - return f"rgb({self.red}, {self.green}, {self.blue})" + return f"rgb({self.red}, {self.green}, {self.blue})" @property def rgba(self) -> str: - return f"rgba({self.red}, {self.green}, {self.blue}, {self.alpha})" + return f"rgba({self.red}, {self.green}, {self.blue}, {self.alpha})" @property def hex(self) -> str: - return f"#{self.red:02x}{self.green:02x}{self.blue:02x}" + return f"#{self.red:02x}{self.green:02x}{self.blue:02x}" def __eq__(self, other: object) -> bool: if isinstance(other, Color): @@ -211,203 +372,194 @@

Source code for selenium.webdriver.support.color

return hash((self.red, self.green, self.blue, self.alpha)) def __repr__(self) -> str: - return f"Color(red={self.red}, green={self.green}, blue={self.blue}, alpha={self.alpha})" + return f"Color(red={self.red}, green={self.green}, blue={self.blue}, alpha={self.alpha})" def __str__(self) -> str: - return f"Color: {self.rgba}"
+ return f"Color: {self.rgba}"
+ # Basic, extended and transparent colour keywords as defined by the W3C HTML4 spec # See http://www.w3.org/TR/css3-color/#html4 Colors = { - "TRANSPARENT": Color(0, 0, 0, 0), - "ALICEBLUE": Color(240, 248, 255), - "ANTIQUEWHITE": Color(250, 235, 215), - "AQUA": Color(0, 255, 255), - "AQUAMARINE": Color(127, 255, 212), - "AZURE": Color(240, 255, 255), - "BEIGE": Color(245, 245, 220), - "BISQUE": Color(255, 228, 196), - "BLACK": Color(0, 0, 0), - "BLANCHEDALMOND": Color(255, 235, 205), - "BLUE": Color(0, 0, 255), - "BLUEVIOLET": Color(138, 43, 226), - "BROWN": Color(165, 42, 42), - "BURLYWOOD": Color(222, 184, 135), - "CADETBLUE": Color(95, 158, 160), - "CHARTREUSE": Color(127, 255, 0), - "CHOCOLATE": Color(210, 105, 30), - "CORAL": Color(255, 127, 80), - "CORNFLOWERBLUE": Color(100, 149, 237), - "CORNSILK": Color(255, 248, 220), - "CRIMSON": Color(220, 20, 60), - "CYAN": Color(0, 255, 255), - "DARKBLUE": Color(0, 0, 139), - "DARKCYAN": Color(0, 139, 139), - "DARKGOLDENROD": Color(184, 134, 11), - "DARKGRAY": Color(169, 169, 169), - "DARKGREEN": Color(0, 100, 0), - "DARKGREY": Color(169, 169, 169), - "DARKKHAKI": Color(189, 183, 107), - "DARKMAGENTA": Color(139, 0, 139), - "DARKOLIVEGREEN": Color(85, 107, 47), - "DARKORANGE": Color(255, 140, 0), - "DARKORCHID": Color(153, 50, 204), - "DARKRED": Color(139, 0, 0), - "DARKSALMON": Color(233, 150, 122), - "DARKSEAGREEN": Color(143, 188, 143), - "DARKSLATEBLUE": Color(72, 61, 139), - "DARKSLATEGRAY": Color(47, 79, 79), - "DARKSLATEGREY": Color(47, 79, 79), - "DARKTURQUOISE": Color(0, 206, 209), - "DARKVIOLET": Color(148, 0, 211), - "DEEPPINK": Color(255, 20, 147), - "DEEPSKYBLUE": Color(0, 191, 255), - "DIMGRAY": Color(105, 105, 105), - "DIMGREY": Color(105, 105, 105), - "DODGERBLUE": Color(30, 144, 255), - "FIREBRICK": Color(178, 34, 34), - "FLORALWHITE": Color(255, 250, 240), - "FORESTGREEN": Color(34, 139, 34), - "FUCHSIA": Color(255, 0, 255), - "GAINSBORO": Color(220, 220, 220), - "GHOSTWHITE": Color(248, 248, 255), - "GOLD": Color(255, 215, 0), - "GOLDENROD": Color(218, 165, 32), - "GRAY": Color(128, 128, 128), - "GREY": Color(128, 128, 128), - "GREEN": Color(0, 128, 0), - "GREENYELLOW": Color(173, 255, 47), - "HONEYDEW": Color(240, 255, 240), - "HOTPINK": Color(255, 105, 180), - "INDIANRED": Color(205, 92, 92), - "INDIGO": Color(75, 0, 130), - "IVORY": Color(255, 255, 240), - "KHAKI": Color(240, 230, 140), - "LAVENDER": Color(230, 230, 250), - "LAVENDERBLUSH": Color(255, 240, 245), - "LAWNGREEN": Color(124, 252, 0), - "LEMONCHIFFON": Color(255, 250, 205), - "LIGHTBLUE": Color(173, 216, 230), - "LIGHTCORAL": Color(240, 128, 128), - "LIGHTCYAN": Color(224, 255, 255), - "LIGHTGOLDENRODYELLOW": Color(250, 250, 210), - "LIGHTGRAY": Color(211, 211, 211), - "LIGHTGREEN": Color(144, 238, 144), - "LIGHTGREY": Color(211, 211, 211), - "LIGHTPINK": Color(255, 182, 193), - "LIGHTSALMON": Color(255, 160, 122), - "LIGHTSEAGREEN": Color(32, 178, 170), - "LIGHTSKYBLUE": Color(135, 206, 250), - "LIGHTSLATEGRAY": Color(119, 136, 153), - "LIGHTSLATEGREY": Color(119, 136, 153), - "LIGHTSTEELBLUE": Color(176, 196, 222), - "LIGHTYELLOW": Color(255, 255, 224), - "LIME": Color(0, 255, 0), - "LIMEGREEN": Color(50, 205, 50), - "LINEN": Color(250, 240, 230), - "MAGENTA": Color(255, 0, 255), - "MAROON": Color(128, 0, 0), - "MEDIUMAQUAMARINE": Color(102, 205, 170), - "MEDIUMBLUE": Color(0, 0, 205), - "MEDIUMORCHID": Color(186, 85, 211), - "MEDIUMPURPLE": Color(147, 112, 219), - "MEDIUMSEAGREEN": Color(60, 179, 113), - "MEDIUMSLATEBLUE": Color(123, 104, 238), - "MEDIUMSPRINGGREEN": Color(0, 250, 154), - "MEDIUMTURQUOISE": Color(72, 209, 204), - "MEDIUMVIOLETRED": Color(199, 21, 133), - "MIDNIGHTBLUE": Color(25, 25, 112), - "MINTCREAM": Color(245, 255, 250), - "MISTYROSE": Color(255, 228, 225), - "MOCCASIN": Color(255, 228, 181), - "NAVAJOWHITE": Color(255, 222, 173), - "NAVY": Color(0, 0, 128), - "OLDLACE": Color(253, 245, 230), - "OLIVE": Color(128, 128, 0), - "OLIVEDRAB": Color(107, 142, 35), - "ORANGE": Color(255, 165, 0), - "ORANGERED": Color(255, 69, 0), - "ORCHID": Color(218, 112, 214), - "PALEGOLDENROD": Color(238, 232, 170), - "PALEGREEN": Color(152, 251, 152), - "PALETURQUOISE": Color(175, 238, 238), - "PALEVIOLETRED": Color(219, 112, 147), - "PAPAYAWHIP": Color(255, 239, 213), - "PEACHPUFF": Color(255, 218, 185), - "PERU": Color(205, 133, 63), - "PINK": Color(255, 192, 203), - "PLUM": Color(221, 160, 221), - "POWDERBLUE": Color(176, 224, 230), - "PURPLE": Color(128, 0, 128), - "REBECCAPURPLE": Color(128, 51, 153), - "RED": Color(255, 0, 0), - "ROSYBROWN": Color(188, 143, 143), - "ROYALBLUE": Color(65, 105, 225), - "SADDLEBROWN": Color(139, 69, 19), - "SALMON": Color(250, 128, 114), - "SANDYBROWN": Color(244, 164, 96), - "SEAGREEN": Color(46, 139, 87), - "SEASHELL": Color(255, 245, 238), - "SIENNA": Color(160, 82, 45), - "SILVER": Color(192, 192, 192), - "SKYBLUE": Color(135, 206, 235), - "SLATEBLUE": Color(106, 90, 205), - "SLATEGRAY": Color(112, 128, 144), - "SLATEGREY": Color(112, 128, 144), - "SNOW": Color(255, 250, 250), - "SPRINGGREEN": Color(0, 255, 127), - "STEELBLUE": Color(70, 130, 180), - "TAN": Color(210, 180, 140), - "TEAL": Color(0, 128, 128), - "THISTLE": Color(216, 191, 216), - "TOMATO": Color(255, 99, 71), - "TURQUOISE": Color(64, 224, 208), - "VIOLET": Color(238, 130, 238), - "WHEAT": Color(245, 222, 179), - "WHITE": Color(255, 255, 255), - "WHITESMOKE": Color(245, 245, 245), - "YELLOW": Color(255, 255, 0), - "YELLOWGREEN": Color(154, 205, 50), + "TRANSPARENT": Color(0, 0, 0, 0), + "ALICEBLUE": Color(240, 248, 255), + "ANTIQUEWHITE": Color(250, 235, 215), + "AQUA": Color(0, 255, 255), + "AQUAMARINE": Color(127, 255, 212), + "AZURE": Color(240, 255, 255), + "BEIGE": Color(245, 245, 220), + "BISQUE": Color(255, 228, 196), + "BLACK": Color(0, 0, 0), + "BLANCHEDALMOND": Color(255, 235, 205), + "BLUE": Color(0, 0, 255), + "BLUEVIOLET": Color(138, 43, 226), + "BROWN": Color(165, 42, 42), + "BURLYWOOD": Color(222, 184, 135), + "CADETBLUE": Color(95, 158, 160), + "CHARTREUSE": Color(127, 255, 0), + "CHOCOLATE": Color(210, 105, 30), + "CORAL": Color(255, 127, 80), + "CORNFLOWERBLUE": Color(100, 149, 237), + "CORNSILK": Color(255, 248, 220), + "CRIMSON": Color(220, 20, 60), + "CYAN": Color(0, 255, 255), + "DARKBLUE": Color(0, 0, 139), + "DARKCYAN": Color(0, 139, 139), + "DARKGOLDENROD": Color(184, 134, 11), + "DARKGRAY": Color(169, 169, 169), + "DARKGREEN": Color(0, 100, 0), + "DARKGREY": Color(169, 169, 169), + "DARKKHAKI": Color(189, 183, 107), + "DARKMAGENTA": Color(139, 0, 139), + "DARKOLIVEGREEN": Color(85, 107, 47), + "DARKORANGE": Color(255, 140, 0), + "DARKORCHID": Color(153, 50, 204), + "DARKRED": Color(139, 0, 0), + "DARKSALMON": Color(233, 150, 122), + "DARKSEAGREEN": Color(143, 188, 143), + "DARKSLATEBLUE": Color(72, 61, 139), + "DARKSLATEGRAY": Color(47, 79, 79), + "DARKSLATEGREY": Color(47, 79, 79), + "DARKTURQUOISE": Color(0, 206, 209), + "DARKVIOLET": Color(148, 0, 211), + "DEEPPINK": Color(255, 20, 147), + "DEEPSKYBLUE": Color(0, 191, 255), + "DIMGRAY": Color(105, 105, 105), + "DIMGREY": Color(105, 105, 105), + "DODGERBLUE": Color(30, 144, 255), + "FIREBRICK": Color(178, 34, 34), + "FLORALWHITE": Color(255, 250, 240), + "FORESTGREEN": Color(34, 139, 34), + "FUCHSIA": Color(255, 0, 255), + "GAINSBORO": Color(220, 220, 220), + "GHOSTWHITE": Color(248, 248, 255), + "GOLD": Color(255, 215, 0), + "GOLDENROD": Color(218, 165, 32), + "GRAY": Color(128, 128, 128), + "GREY": Color(128, 128, 128), + "GREEN": Color(0, 128, 0), + "GREENYELLOW": Color(173, 255, 47), + "HONEYDEW": Color(240, 255, 240), + "HOTPINK": Color(255, 105, 180), + "INDIANRED": Color(205, 92, 92), + "INDIGO": Color(75, 0, 130), + "IVORY": Color(255, 255, 240), + "KHAKI": Color(240, 230, 140), + "LAVENDER": Color(230, 230, 250), + "LAVENDERBLUSH": Color(255, 240, 245), + "LAWNGREEN": Color(124, 252, 0), + "LEMONCHIFFON": Color(255, 250, 205), + "LIGHTBLUE": Color(173, 216, 230), + "LIGHTCORAL": Color(240, 128, 128), + "LIGHTCYAN": Color(224, 255, 255), + "LIGHTGOLDENRODYELLOW": Color(250, 250, 210), + "LIGHTGRAY": Color(211, 211, 211), + "LIGHTGREEN": Color(144, 238, 144), + "LIGHTGREY": Color(211, 211, 211), + "LIGHTPINK": Color(255, 182, 193), + "LIGHTSALMON": Color(255, 160, 122), + "LIGHTSEAGREEN": Color(32, 178, 170), + "LIGHTSKYBLUE": Color(135, 206, 250), + "LIGHTSLATEGRAY": Color(119, 136, 153), + "LIGHTSLATEGREY": Color(119, 136, 153), + "LIGHTSTEELBLUE": Color(176, 196, 222), + "LIGHTYELLOW": Color(255, 255, 224), + "LIME": Color(0, 255, 0), + "LIMEGREEN": Color(50, 205, 50), + "LINEN": Color(250, 240, 230), + "MAGENTA": Color(255, 0, 255), + "MAROON": Color(128, 0, 0), + "MEDIUMAQUAMARINE": Color(102, 205, 170), + "MEDIUMBLUE": Color(0, 0, 205), + "MEDIUMORCHID": Color(186, 85, 211), + "MEDIUMPURPLE": Color(147, 112, 219), + "MEDIUMSEAGREEN": Color(60, 179, 113), + "MEDIUMSLATEBLUE": Color(123, 104, 238), + "MEDIUMSPRINGGREEN": Color(0, 250, 154), + "MEDIUMTURQUOISE": Color(72, 209, 204), + "MEDIUMVIOLETRED": Color(199, 21, 133), + "MIDNIGHTBLUE": Color(25, 25, 112), + "MINTCREAM": Color(245, 255, 250), + "MISTYROSE": Color(255, 228, 225), + "MOCCASIN": Color(255, 228, 181), + "NAVAJOWHITE": Color(255, 222, 173), + "NAVY": Color(0, 0, 128), + "OLDLACE": Color(253, 245, 230), + "OLIVE": Color(128, 128, 0), + "OLIVEDRAB": Color(107, 142, 35), + "ORANGE": Color(255, 165, 0), + "ORANGERED": Color(255, 69, 0), + "ORCHID": Color(218, 112, 214), + "PALEGOLDENROD": Color(238, 232, 170), + "PALEGREEN": Color(152, 251, 152), + "PALETURQUOISE": Color(175, 238, 238), + "PALEVIOLETRED": Color(219, 112, 147), + "PAPAYAWHIP": Color(255, 239, 213), + "PEACHPUFF": Color(255, 218, 185), + "PERU": Color(205, 133, 63), + "PINK": Color(255, 192, 203), + "PLUM": Color(221, 160, 221), + "POWDERBLUE": Color(176, 224, 230), + "PURPLE": Color(128, 0, 128), + "REBECCAPURPLE": Color(128, 51, 153), + "RED": Color(255, 0, 0), + "ROSYBROWN": Color(188, 143, 143), + "ROYALBLUE": Color(65, 105, 225), + "SADDLEBROWN": Color(139, 69, 19), + "SALMON": Color(250, 128, 114), + "SANDYBROWN": Color(244, 164, 96), + "SEAGREEN": Color(46, 139, 87), + "SEASHELL": Color(255, 245, 238), + "SIENNA": Color(160, 82, 45), + "SILVER": Color(192, 192, 192), + "SKYBLUE": Color(135, 206, 235), + "SLATEBLUE": Color(106, 90, 205), + "SLATEGRAY": Color(112, 128, 144), + "SLATEGREY": Color(112, 128, 144), + "SNOW": Color(255, 250, 250), + "SPRINGGREEN": Color(0, 255, 127), + "STEELBLUE": Color(70, 130, 180), + "TAN": Color(210, 180, 140), + "TEAL": Color(0, 128, 128), + "THISTLE": Color(216, 191, 216), + "TOMATO": Color(255, 99, 71), + "TURQUOISE": Color(64, 224, 208), + "VIOLET": Color(238, 130, 238), + "WHEAT": Color(245, 222, 179), + "WHITE": Color(255, 255, 255), + "WHITESMOKE": Color(245, 245, 245), + "YELLOW": Color(255, 255, 0), + "YELLOWGREEN": Color(154, 205, 50), }
-
-
+
-
+
+ + + \ No newline at end of file diff --git a/docs/api/py/_modules/selenium/webdriver/support/event_firing_webdriver.html b/docs/api/py/_modules/selenium/webdriver/support/event_firing_webdriver.html index 8f69fb2c61707..e7f66057edd8b 100644 --- a/docs/api/py/_modules/selenium/webdriver/support/event_firing_webdriver.html +++ b/docs/api/py/_modules/selenium/webdriver/support/event_firing_webdriver.html @@ -1,54 +1,210 @@ - + - selenium.webdriver.support.event_firing_webdriver — Selenium 4.29.0.202501201850 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + selenium.webdriver.support.event_firing_webdriver — Selenium 4.30.0 documentation - + + + + + + + + + + + + + + + + + + + + + + + + Skip to content +
+ +
+ + +
- - - - - - - + +
+
+ +
+ +
+
+
+
+ + +
+
+
+ +
+
-

Source code for selenium.webdriver.support.event_firing_webdriver

+  

Source code for selenium.webdriver.support.event_firing_webdriver

 # Licensed to the Software Freedom Conservancy (SFC) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
 # regarding copyright ownership.  The SFC licenses this file
 # to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
+# "License"); you may not use this file except in compliance
 # with the License.  You may obtain a copy of the License at
 #
 #   http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing,
 # software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
@@ -76,12 +232,14 @@ 

Source code for selenium.webdriver.support.event_firing_webdriver

return result -
[docs]class EventFiringWebDriver: - """A wrapper around an arbitrary WebDriver instance which supports firing - events.""" +
+[docs] +class EventFiringWebDriver: + """A wrapper around an arbitrary WebDriver instance which supports firing + events.""" def __init__(self, driver: WebDriver, event_listener: AbstractEventListener) -> None: - """Creates a new instance of the EventFiringWebDriver. + """Creates a new instance of the EventFiringWebDriver. :Args: - driver : A WebDriver instance @@ -96,65 +254,92 @@

Source code for selenium.webdriver.support.event_firing_webdriver

class MyListener(AbstractEventListener): def before_navigate_to(self, url, driver): - print("Before navigate to %s" % url) + print("Before navigate to %s" % url) def after_navigate_to(self, url, driver): - print("After navigate to %s" % url) + print("After navigate to %s" % url) driver = Firefox() ef_driver = EventFiringWebDriver(driver, MyListener()) - ef_driver.get("http://www.google.co.in/") - """ + ef_driver.get("http://www.google.co.in/") + """ if not isinstance(driver, WebDriver): - raise WebDriverException("A WebDriver instance must be supplied") + raise WebDriverException("A WebDriver instance must be supplied") if not isinstance(event_listener, AbstractEventListener): - raise WebDriverException("Event listener must be a subclass of AbstractEventListener") + raise WebDriverException("Event listener must be a subclass of AbstractEventListener") self._driver = driver self._driver._wrap_value = self._wrap_value self._listener = event_listener @property def wrapped_driver(self) -> WebDriver: - """Returns the WebDriver instance wrapped by this - EventsFiringWebDriver.""" + """Returns the WebDriver instance wrapped by this + EventsFiringWebDriver.""" return self._driver -
[docs] def get(self, url: str) -> None: - self._dispatch("navigate_to", (url, self._driver), "get", (url,))
+
+[docs] + def get(self, url: str) -> None: + self._dispatch("navigate_to", (url, self._driver), "get", (url,))
-
[docs] def back(self) -> None: - self._dispatch("navigate_back", (self._driver,), "back", ())
-
[docs] def forward(self) -> None: - self._dispatch("navigate_forward", (self._driver,), "forward", ())
+
+[docs] + def back(self) -> None: + self._dispatch("navigate_back", (self._driver,), "back", ())
-
[docs] def execute_script(self, script, *args): + +
+[docs] + def forward(self) -> None: + self._dispatch("navigate_forward", (self._driver,), "forward", ())
+ + +
+[docs] + def execute_script(self, script, *args): unwrapped_args = (script,) + self._unwrap_element_args(args) - return self._dispatch("execute_script", (script, self._driver), "execute_script", unwrapped_args)
+ return self._dispatch("execute_script", (script, self._driver), "execute_script", unwrapped_args)
-
[docs] def execute_async_script(self, script, *args): + +
+[docs] + def execute_async_script(self, script, *args): unwrapped_args = (script,) + self._unwrap_element_args(args) - return self._dispatch("execute_script", (script, self._driver), "execute_async_script", unwrapped_args)
+ return self._dispatch("execute_script", (script, self._driver), "execute_async_script", unwrapped_args)
+ + +
+[docs] + def close(self) -> None: + self._dispatch("close", (self._driver,), "close", ())
-
[docs] def close(self) -> None: - self._dispatch("close", (self._driver,), "close", ())
-
[docs] def quit(self) -> None: - self._dispatch("quit", (self._driver,), "quit", ())
+
+[docs] + def quit(self) -> None: + self._dispatch("quit", (self._driver,), "quit", ())
-
[docs] def find_element(self, by=By.ID, value=None) -> WebElement: - return self._dispatch("find", (by, value, self._driver), "find_element", (by, value))
-
[docs] def find_elements(self, by=By.ID, value=None) -> List[WebElement]: - return self._dispatch("find", (by, value, self._driver), "find_elements", (by, value))
+
+[docs] + def find_element(self, by=By.ID, value=None) -> WebElement: + return self._dispatch("find", (by, value, self._driver), "find_element", (by, value))
+ + +
+[docs] + def find_elements(self, by=By.ID, value=None) -> List[WebElement]: + return self._dispatch("find", (by, value, self._driver), "find_elements", (by, value))
+ def _dispatch(self, l_call: str, l_args: Tuple[Any, ...], d_call: str, d_args: Tuple[Any, ...]): - getattr(self._listener, f"before_{l_call}")(*l_args) + getattr(self._listener, f"before_{l_call}")(*l_args) try: result = getattr(self._driver, d_call)(*d_args) except Exception as exc: self._listener.on_exception(exc, self._driver) raise - getattr(self._listener, f"after_{l_call}")(*l_args) + getattr(self._listener, f"after_{l_call}")(*l_args) return _wrap_elements(result, self) def _unwrap_element_args(self, args): @@ -172,7 +357,7 @@

Source code for selenium.webdriver.support.event_firing_webdriver

return WebDriver._wrap_value(self._driver, value) def __setattr__(self, item, value): - if item.startswith("_") or not hasattr(self._driver, item): + if item.startswith("_") or not hasattr(self._driver, item): object.__setattr__(self, item, value) else: try: @@ -198,11 +383,14 @@

Source code for selenium.webdriver.support.event_firing_webdriver

raise
-
[docs]class EventFiringWebElement: - """A wrapper around WebElement instance which supports firing events.""" + +
+[docs] +class EventFiringWebElement: + """A wrapper around WebElement instance which supports firing events.""" def __init__(self, webelement: WebElement, ef_driver: EventFiringWebDriver) -> None: - """Creates a new instance of the EventFiringWebElement.""" + """Creates a new instance of the EventFiringWebElement.""" self._webelement = webelement self._ef_driver = ef_driver self._driver = ef_driver.wrapped_driver @@ -210,37 +398,52 @@

Source code for selenium.webdriver.support.event_firing_webdriver

@property def wrapped_element(self) -> WebElement: - """Returns the WebElement wrapped by this EventFiringWebElement - instance.""" + """Returns the WebElement wrapped by this EventFiringWebElement + instance.""" return self._webelement -
[docs] def click(self) -> None: - self._dispatch("click", (self._webelement, self._driver), "click", ())
+
+[docs] + def click(self) -> None: + self._dispatch("click", (self._webelement, self._driver), "click", ())
+ + +
+[docs] + def clear(self) -> None: + self._dispatch("change_value_of", (self._webelement, self._driver), "clear", ())
-
[docs] def clear(self) -> None: - self._dispatch("change_value_of", (self._webelement, self._driver), "clear", ())
-
[docs] def send_keys(self, *value) -> None: - self._dispatch("change_value_of", (self._webelement, self._driver), "send_keys", value)
+
+[docs] + def send_keys(self, *value) -> None: + self._dispatch("change_value_of", (self._webelement, self._driver), "send_keys", value)
-
[docs] def find_element(self, by=By.ID, value=None) -> WebElement: - return self._dispatch("find", (by, value, self._driver), "find_element", (by, value))
-
[docs] def find_elements(self, by=By.ID, value=None) -> List[WebElement]: - return self._dispatch("find", (by, value, self._driver), "find_elements", (by, value))
+
+[docs] + def find_element(self, by=By.ID, value=None) -> WebElement: + return self._dispatch("find", (by, value, self._driver), "find_element", (by, value))
+ + +
+[docs] + def find_elements(self, by=By.ID, value=None) -> List[WebElement]: + return self._dispatch("find", (by, value, self._driver), "find_elements", (by, value))
+ def _dispatch(self, l_call, l_args, d_call, d_args): - getattr(self._listener, f"before_{l_call}")(*l_args) + getattr(self._listener, f"before_{l_call}")(*l_args) try: result = getattr(self._webelement, d_call)(*d_args) except Exception as exc: self._listener.on_exception(exc, self._driver) raise - getattr(self._listener, f"after_{l_call}")(*l_args) + getattr(self._listener, f"after_{l_call}")(*l_args) return _wrap_elements(result, self._ef_driver) def __setattr__(self, item, value): - if item.startswith("_") or not hasattr(self._webelement, item): + if item.startswith("_") or not hasattr(self._webelement, item): object.__setattr__(self, item, value) else: try: @@ -266,46 +469,37 @@

Source code for selenium.webdriver.support.event_firing_webdriver

raise
+ # Register a virtual subclass. WebElement.register(EventFiringWebElement)
-
-
+
-
+
+ + + \ No newline at end of file diff --git a/docs/api/py/_modules/selenium/webdriver/support/expected_conditions.html b/docs/api/py/_modules/selenium/webdriver/support/expected_conditions.html index 6291052c228d0..48682e27d8dbc 100644 --- a/docs/api/py/_modules/selenium/webdriver/support/expected_conditions.html +++ b/docs/api/py/_modules/selenium/webdriver/support/expected_conditions.html @@ -1,54 +1,210 @@ - + - selenium.webdriver.support.expected_conditions — Selenium 4.29.0.202501201850 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + selenium.webdriver.support.expected_conditions — Selenium 4.30.0 documentation - + + + + + + + + + + + + + + + + + + + + + + + + Skip to content +
+ +
+ + +
- - - - - - - + +
+
+ +
+ +
+
+
+
+ + +
+
+
+ +
+
-

Source code for selenium.webdriver.support.expected_conditions

+  

Source code for selenium.webdriver.support.expected_conditions

 # Licensed to the Software Freedom Conservancy (SFC) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
 # regarding copyright ownership.  The SFC licenses this file
 # to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
+# "License"); you may not use this file except in compliance
 # with the License.  You may obtain a copy of the License at
 #
 #   http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing,
 # software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
@@ -72,29 +228,31 @@ 

Source code for selenium.webdriver.support.expected_conditions

from selenium.webdriver.remote.webdriver import WebDriver from selenium.webdriver.remote.webdriver import WebElement -""" - * Canned "Expected Conditions" which are generally useful within webdriver +""" + * Canned "Expected Conditions" which are generally useful within webdriver * tests. -""" +""" -D = TypeVar("D") -T = TypeVar("T") +D = TypeVar("D") +T = TypeVar("T") WebDriverOrWebElement = Union[WebDriver, WebElement] -
[docs]def title_is(title: str) -> Callable[[WebDriver], bool]: - """An expectation for checking the title of a page. +
+[docs] +def title_is(title: str) -> Callable[[WebDriver], bool]: + """An expectation for checking the title of a page. Parameters: - ---------- + ----------- title : str The expected title, which must be an exact match. Returns: ------- boolean : True if the title matches, False otherwise. - """ + """ def _predicate(driver: WebDriver): return driver.title == title @@ -102,19 +260,22 @@

Source code for selenium.webdriver.support.expected_conditions

return _predicate
-
[docs]def title_contains(title: str) -> Callable[[WebDriver], bool]: - """An expectation for checking that the title contains a case-sensitive + +
+[docs] +def title_contains(title: str) -> Callable[[WebDriver], bool]: + """An expectation for checking that the title contains a case-sensitive substring. Parameters: - ---------- + ----------- title : str The fragment of title expected. Returns: ------- boolean : True when the title matches, False otherwise. - """ + """ def _predicate(driver: WebDriver): return title in driver.title @@ -122,12 +283,15 @@

Source code for selenium.webdriver.support.expected_conditions

return _predicate
-
[docs]def presence_of_element_located(locator: Tuple[str, str]) -> Callable[[WebDriverOrWebElement], WebElement]: - """An expectation for checking that an element is present on the DOM of a + +
+[docs] +def presence_of_element_located(locator: Tuple[str, str]) -> Callable[[WebDriverOrWebElement], WebElement]: + """An expectation for checking that an element is present on the DOM of a page. This does not necessarily mean that the element is visible. Parameters: - ---------- + ----------- locator : Tuple[str, str] Used to find the element. @@ -141,8 +305,8 @@

Source code for selenium.webdriver.support.expected_conditions

>>> from selenium.webdriver.support.ui import WebDriverWait >>> from selenium.webdriver.support import expected_conditions as EC >>> element = WebDriverWait(driver, 10).until( - ... EC.presence_of_element_located((By.NAME, "q"))) - """ + ... EC.presence_of_element_located((By.NAME, "q"))) + """ def _predicate(driver: WebDriverOrWebElement): return driver.find_element(*locator) @@ -150,19 +314,22 @@

Source code for selenium.webdriver.support.expected_conditions

return _predicate
-
[docs]def url_contains(url: str) -> Callable[[WebDriver], bool]: - """An expectation for checking that the current url contains a case- + +
+[docs] +def url_contains(url: str) -> Callable[[WebDriver], bool]: + """An expectation for checking that the current url contains a case- sensitive substring. Parameters: - ---------- + ----------- url : str The fragment of url expected. Returns: ------- boolean : True when the url matches, False otherwise. - """ + """ def _predicate(driver: WebDriver): return url in driver.current_url @@ -170,11 +337,14 @@

Source code for selenium.webdriver.support.expected_conditions

return _predicate
-
[docs]def url_matches(pattern: str) -> Callable[[WebDriver], bool]: - """An expectation for checking the current url. + +
+[docs] +def url_matches(pattern: str) -> Callable[[WebDriver], bool]: + """An expectation for checking the current url. Parameters: - ---------- + ----------- pattern : str The pattern to match with the current url. @@ -185,7 +355,7 @@

Source code for selenium.webdriver.support.expected_conditions

Notes: ------ More powerful than url_contains, as it allows for regular expressions. - """ + """ def _predicate(driver: WebDriver): return re.search(pattern, driver.current_url) is not None @@ -193,18 +363,21 @@

Source code for selenium.webdriver.support.expected_conditions

return _predicate
-
[docs]def url_to_be(url: str) -> Callable[[WebDriver], bool]: - """An expectation for checking the current url. + +
+[docs] +def url_to_be(url: str) -> Callable[[WebDriver], bool]: + """An expectation for checking the current url. Parameters: - ---------- + ----------- url : str The expected url, which must be an exact match. Returns: ------- boolean : True when the url matches, False otherwise. - """ + """ def _predicate(driver: WebDriver): return url == driver.current_url @@ -212,19 +385,22 @@

Source code for selenium.webdriver.support.expected_conditions

return _predicate
-
[docs]def url_changes(url: str) -> Callable[[WebDriver], bool]: - """An expectation for checking the current url is different than a given + +
+[docs] +def url_changes(url: str) -> Callable[[WebDriver], bool]: + """An expectation for checking the current url is different than a given string. Parameters: - ---------- + ----------- url : str The expected url, which must not be an exact match. Returns: ------- boolean : True when the url does not match, False otherwise - """ + """ def _predicate(driver: WebDriver): return url != driver.current_url @@ -232,15 +408,18 @@

Source code for selenium.webdriver.support.expected_conditions

return _predicate
-
[docs]def visibility_of_element_located( + +
+[docs] +def visibility_of_element_located( locator: Tuple[str, str] ) -> Callable[[WebDriverOrWebElement], Union[Literal[False], WebElement]]: - """An expectation for checking that an element is present on the DOM of a + """An expectation for checking that an element is present on the DOM of a page and visible. Visibility means that the element is not only displayed but also has a height and width that is greater than 0. Parameters: - ---------- + ----------- locator : Tuple[str, str] Used to find the element. @@ -254,8 +433,8 @@

Source code for selenium.webdriver.support.expected_conditions

>>> from selenium.webdriver.support.ui import WebDriverWait >>> from selenium.webdriver.support import expected_conditions as EC >>> element = WebDriverWait(driver, 10).until( - ... EC.visibility_of_element_located((By.NAME, "q"))) - """ + ... EC.visibility_of_element_located((By.NAME, "q"))) + """ def _predicate(driver: WebDriverOrWebElement): try: @@ -266,12 +445,15 @@

Source code for selenium.webdriver.support.expected_conditions

return _predicate
-
[docs]def visibility_of(element: WebElement) -> Callable[[Any], Union[Literal[False], WebElement]]: - """An expectation for checking that an element, known to be present on the + +
+[docs] +def visibility_of(element: WebElement) -> Callable[[Any], Union[Literal[False], WebElement]]: + """An expectation for checking that an element, known to be present on the DOM of a page, is visible. Parameters: - ---------- + ----------- element : WebElement The WebElement to check. @@ -285,14 +467,14 @@

Source code for selenium.webdriver.support.expected_conditions

>>> from selenium.webdriver.support.ui import WebDriverWait >>> from selenium.webdriver.support import expected_conditions as EC >>> element = WebDriverWait(driver, 10).until( - ... EC.visibility_of(driver.find_element(By.NAME, "q"))) + ... EC.visibility_of(driver.find_element(By.NAME, "q"))) Notes: ------ Visibility means that the element is not only displayed but also has a height and width that is greater than 0. element is the WebElement returns the (same) WebElement once it is visible - """ + """ def _predicate(_): return _element_if_visible(element) @@ -300,12 +482,13 @@

Source code for selenium.webdriver.support.expected_conditions

return _predicate
+ def _element_if_visible(element: WebElement, visibility: bool = True) -> Union[Literal[False], WebElement]: - """An expectation for checking that an element, known to be present on the + """An expectation for checking that an element, known to be present on the DOM of a page, is of the expected visibility. Parameters: - ---------- + ----------- element : WebElement The WebElement to check. visibility : bool @@ -314,16 +497,18 @@

Source code for selenium.webdriver.support.expected_conditions

Returns: ------- WebElement : The WebElement once it is visible or not visible. - """ + """ return element if element.is_displayed() == visibility else False -
[docs]def presence_of_all_elements_located(locator: Tuple[str, str]) -> Callable[[WebDriverOrWebElement], List[WebElement]]: - """An expectation for checking that there is at least one element present +
+[docs] +def presence_of_all_elements_located(locator: Tuple[str, str]) -> Callable[[WebDriverOrWebElement], List[WebElement]]: + """An expectation for checking that there is at least one element present on a web page. Parameters: - ---------- + ----------- locator : Tuple[str, str] Used to find the element. @@ -337,8 +522,8 @@

Source code for selenium.webdriver.support.expected_conditions

>>> from selenium.webdriver.support.ui import WebDriverWait >>> from selenium.webdriver.support import expected_conditions as EC >>> elements = WebDriverWait(driver, 10).until( - ... EC.presence_of_all_elements_located((By.CLASS_NAME, "foo"))) - """ + ... EC.presence_of_all_elements_located((By.CLASS_NAME, "foo"))) + """ def _predicate(driver: WebDriverOrWebElement): return driver.find_elements(*locator) @@ -346,12 +531,15 @@

Source code for selenium.webdriver.support.expected_conditions

return _predicate
-
[docs]def visibility_of_any_elements_located(locator: Tuple[str, str]) -> Callable[[WebDriverOrWebElement], List[WebElement]]: - """An expectation for checking that there is at least one element visible + +
+[docs] +def visibility_of_any_elements_located(locator: Tuple[str, str]) -> Callable[[WebDriverOrWebElement], List[WebElement]]: + """An expectation for checking that there is at least one element visible on a web page. Parameters: - ---------- + ----------- locator : Tuple[str, str] Used to find the element. @@ -365,8 +553,8 @@

Source code for selenium.webdriver.support.expected_conditions

>>> from selenium.webdriver.support.ui import WebDriverWait >>> from selenium.webdriver.support import expected_conditions as EC >>> elements = WebDriverWait(driver, 10).until( - ... EC.visibility_of_any_elements_located((By.CLASS_NAME, "foo"))) - """ + ... EC.visibility_of_any_elements_located((By.CLASS_NAME, "foo"))) + """ def _predicate(driver: WebDriverOrWebElement): return [element for element in driver.find_elements(*locator) if _element_if_visible(element)] @@ -374,15 +562,18 @@

Source code for selenium.webdriver.support.expected_conditions

return _predicate
-
[docs]def visibility_of_all_elements_located( + +
+[docs] +def visibility_of_all_elements_located( locator: Tuple[str, str] ) -> Callable[[WebDriverOrWebElement], Union[List[WebElement], Literal[False]]]: - """An expectation for checking that all elements are present on the DOM of + """An expectation for checking that all elements are present on the DOM of a page and visible. Visibility means that the elements are not only displayed but also has a height and width that is greater than 0. Parameters: - ---------- + ----------- locator : Tuple[str, str] Used to find the elements. @@ -396,8 +587,8 @@

Source code for selenium.webdriver.support.expected_conditions

>>> from selenium.webdriver.support.ui import WebDriverWait >>> from selenium.webdriver.support import expected_conditions as EC >>> elements = WebDriverWait(driver, 10).until( - ... EC.visibility_of_all_elements_located((By.CLASS_NAME, "foo"))) - """ + ... EC.visibility_of_all_elements_located((By.CLASS_NAME, "foo"))) + """ def _predicate(driver: WebDriverOrWebElement): try: @@ -412,12 +603,15 @@

Source code for selenium.webdriver.support.expected_conditions

return _predicate
-
[docs]def text_to_be_present_in_element(locator: Tuple[str, str], text_: str) -> Callable[[WebDriverOrWebElement], bool]: - """An expectation for checking if the given text is present in the + +
+[docs] +def text_to_be_present_in_element(locator: Tuple[str, str], text_: str) -> Callable[[WebDriverOrWebElement], bool]: + """An expectation for checking if the given text is present in the specified element. Parameters: - ---------- + ----------- locator : Tuple[str, str] Used to find the element. text_ : str @@ -433,8 +627,8 @@

Source code for selenium.webdriver.support.expected_conditions

>>> from selenium.webdriver.support.ui import WebDriverWait >>> from selenium.webdriver.support import expected_conditions as EC >>> is_text_in_element = WebDriverWait(driver, 10).until( - ... EC.text_to_be_present_in_element((By.CLASS_NAME, "foo"), "bar")) - """ + ... EC.text_to_be_present_in_element((By.CLASS_NAME, "foo"), "bar")) + """ def _predicate(driver: WebDriverOrWebElement): try: @@ -446,18 +640,21 @@

Source code for selenium.webdriver.support.expected_conditions

return _predicate
-
[docs]def text_to_be_present_in_element_value( + +
+[docs] +def text_to_be_present_in_element_value( locator: Tuple[str, str], text_: str ) -> Callable[[WebDriverOrWebElement], bool]: - """An expectation for checking if the given text is present in the - element's value. + """An expectation for checking if the given text is present in the + element's value. Parameters: - ---------- + ----------- locator : Tuple[str, str] Used to find the element. text_ : str - The text to be present in the element's value. + The text to be present in the element's value. Returns: ------- @@ -469,12 +666,12 @@

Source code for selenium.webdriver.support.expected_conditions

>>> from selenium.webdriver.support.ui import WebDriverWait >>> from selenium.webdriver.support import expected_conditions as EC >>> is_text_in_element_value = WebDriverWait(driver, 10).until( - ... EC.text_to_be_present_in_element_value((By.CLASS_NAME, "foo"), "bar")) - """ + ... EC.text_to_be_present_in_element_value((By.CLASS_NAME, "foo"), "bar")) + """ def _predicate(driver: WebDriverOrWebElement): try: - element_text = driver.find_element(*locator).get_attribute("value") + element_text = driver.find_element(*locator).get_attribute("value") return text_ in element_text except StaleElementReferenceException: return False @@ -482,20 +679,23 @@

Source code for selenium.webdriver.support.expected_conditions

return _predicate
-
[docs]def text_to_be_present_in_element_attribute( + +
+[docs] +def text_to_be_present_in_element_attribute( locator: Tuple[str, str], attribute_: str, text_: str ) -> Callable[[WebDriverOrWebElement], bool]: - """An expectation for checking if the given text is present in the - element's attribute. + """An expectation for checking if the given text is present in the + element's attribute. Parameters: - ---------- + ----------- locator : Tuple[str, str] Used to find the element. attribute_ : str The attribute to check the text in. text_ : str - The text to be present in the element's attribute. + The text to be present in the element's attribute. Returns: ------- @@ -507,9 +707,9 @@

Source code for selenium.webdriver.support.expected_conditions

>>> from selenium.webdriver.support.ui import WebDriverWait >>> from selenium.webdriver.support import expected_conditions as EC >>> is_text_in_element_attribute = WebDriverWait(driver, 10).until( - ... EC.text_to_be_present_in_element_attribute((By.CLASS_NAME, "foo"), - ... "bar", "baz")) - """ + ... EC.text_to_be_present_in_element_attribute((By.CLASS_NAME, "foo"), + ... "bar", "baz")) + """ def _predicate(driver: WebDriverOrWebElement): try: @@ -523,13 +723,18 @@

Source code for selenium.webdriver.support.expected_conditions

return _predicate
-
[docs]def frame_to_be_available_and_switch_to_it(locator: Union[Tuple[str, str], str]) -> Callable[[WebDriver], bool]: - """An expectation for checking whether the given frame is available to + +
+[docs] +def frame_to_be_available_and_switch_to_it( + locator: Union[Tuple[str, str], str, WebElement] +) -> Callable[[WebDriver], bool]: + """An expectation for checking whether the given frame is available to switch to. Parameters: - ---------- - locator : Union[Tuple[str, str], str] + ----------- + locator : Union[Tuple[str, str], str, WebElement] Used to find the frame. Returns: @@ -541,13 +746,13 @@

Source code for selenium.webdriver.support.expected_conditions

>>> from selenium.webdriver.support.ui import WebDriverWait >>> from selenium.webdriver.support import expected_conditions as EC >>> WebDriverWait(driver, 10).until( - ... EC.frame_to_be_available_and_switch_to_it("frame_name")) + ... EC.frame_to_be_available_and_switch_to_it("frame_name")) Notes: ------ If the frame is available it switches the given driver to the specified frame. - """ + """ def _predicate(driver: WebDriver): try: @@ -562,14 +767,17 @@

Source code for selenium.webdriver.support.expected_conditions

return _predicate
-
[docs]def invisibility_of_element_located( + +
+[docs] +def invisibility_of_element_located( locator: Union[WebElement, Tuple[str, str]] ) -> Callable[[WebDriverOrWebElement], Union[WebElement, bool]]: - """An Expectation for checking that an element is either invisible or not + """An Expectation for checking that an element is either invisible or not present on the DOM. Parameters: - ---------- + ----------- locator : Union[WebElement, Tuple[str, str]] Used to find the element. @@ -583,7 +791,7 @@

Source code for selenium.webdriver.support.expected_conditions

>>> from selenium.webdriver.support.ui import WebDriverWait >>> from selenium.webdriver.support import expected_conditions as EC >>> is_invisible = WebDriverWait(driver, 10).until( - ... EC.invisibility_of_element_located((By.CLASS_NAME, "foo"))) + ... EC.invisibility_of_element_located((By.CLASS_NAME, "foo"))) Notes: ------ @@ -592,7 +800,7 @@

Source code for selenium.webdriver.support.expected_conditions

invisible. - In the case of StaleElementReference, returns true because stale element reference implies that element is no longer visible. - """ + """ def _predicate(driver: WebDriverOrWebElement): try: @@ -611,14 +819,17 @@

Source code for selenium.webdriver.support.expected_conditions

return _predicate
-
[docs]def invisibility_of_element( + +
+[docs] +def invisibility_of_element( element: Union[WebElement, Tuple[str, str]] ) -> Callable[[WebDriverOrWebElement], Union[WebElement, bool]]: - """An Expectation for checking that an element is either invisible or not + """An Expectation for checking that an element is either invisible or not present on the DOM. Parameters: - ---------- + ----------- element : Union[WebElement, Tuple[str, str]] Used to find the element. @@ -632,19 +843,22 @@

Source code for selenium.webdriver.support.expected_conditions

>>> from selenium.webdriver.support.ui import WebDriverWait >>> from selenium.webdriver.support import expected_conditions as EC >>> is_invisible_or_not_present = WebDriverWait(driver, 10).until( - ... EC.invisibility_of_element(driver.find_element(By.CLASS_NAME, "foo"))) - """ + ... EC.invisibility_of_element(driver.find_element(By.CLASS_NAME, "foo"))) + """ return invisibility_of_element_located(element)
-
[docs]def element_to_be_clickable( + +
+[docs] +def element_to_be_clickable( mark: Union[WebElement, Tuple[str, str]] ) -> Callable[[WebDriverOrWebElement], Union[Literal[False], WebElement]]: - """An Expectation for checking an element is visible and enabled such that + """An Expectation for checking an element is visible and enabled such that you can click it. Parameters: - ---------- + ----------- mark : Union[WebElement, Tuple[str, str]] Used to find the element. @@ -658,10 +872,10 @@

Source code for selenium.webdriver.support.expected_conditions

>>> from selenium.webdriver.support.ui import WebDriverWait >>> from selenium.webdriver.support import expected_conditions as EC >>> element = WebDriverWait(driver, 10).until( - ... EC.element_to_be_clickable((By.CLASS_NAME, "foo"))) - """ + ... EC.element_to_be_clickable((By.CLASS_NAME, "foo"))) + """ - # renamed argument to 'mark', to indicate that both locator + # renamed argument to 'mark', to indicate that both locator # and WebElement args are valid def _predicate(driver: WebDriverOrWebElement): target = mark @@ -675,11 +889,14 @@

Source code for selenium.webdriver.support.expected_conditions

return _predicate
-
[docs]def staleness_of(element: WebElement) -> Callable[[Any], bool]: - """Wait until an element is no longer attached to the DOM. + +
+[docs] +def staleness_of(element: WebElement) -> Callable[[Any], bool]: + """Wait until an element is no longer attached to the DOM. Parameters: - ---------- + ----------- element : WebElement The element to wait for. @@ -693,8 +910,8 @@

Source code for selenium.webdriver.support.expected_conditions

>>> from selenium.webdriver.support.ui import WebDriverWait >>> from selenium.webdriver.support import expected_conditions as EC >>> is_element_stale = WebDriverWait(driver, 10).until( - ... EC.staleness_of(driver.find_element(By.CLASS_NAME, "foo"))) - """ + ... EC.staleness_of(driver.find_element(By.CLASS_NAME, "foo"))) + """ def _predicate(_): try: @@ -707,11 +924,14 @@

Source code for selenium.webdriver.support.expected_conditions

return _predicate
-
[docs]def element_to_be_selected(element: WebElement) -> Callable[[Any], bool]: - """An expectation for checking the selection is selected. + +
+[docs] +def element_to_be_selected(element: WebElement) -> Callable[[Any], bool]: + """An expectation for checking the selection is selected. Parameters: - ---------- + ----------- element : WebElement The WebElement to check. @@ -725,8 +945,8 @@

Source code for selenium.webdriver.support.expected_conditions

>>> from selenium.webdriver.support.ui import WebDriverWait >>> from selenium.webdriver.support import expected_conditions as EC >>> is_selected = WebDriverWait(driver, 10).until( - ... EC.element_to_be_selected(driver.find_element(By.CLASS_NAME, "foo"))) - """ + ... EC.element_to_be_selected(driver.find_element(By.CLASS_NAME, "foo"))) + """ def _predicate(_): return element.is_selected() @@ -734,11 +954,14 @@

Source code for selenium.webdriver.support.expected_conditions

return _predicate
-
[docs]def element_located_to_be_selected(locator: Tuple[str, str]) -> Callable[[WebDriverOrWebElement], bool]: - """An expectation for the element to be located is selected. + +
+[docs] +def element_located_to_be_selected(locator: Tuple[str, str]) -> Callable[[WebDriverOrWebElement], bool]: + """An expectation for the element to be located is selected. Parameters: - ---------- + ----------- locator : Tuple[str, str] Used to find the element. @@ -752,8 +975,8 @@

Source code for selenium.webdriver.support.expected_conditions

>>> from selenium.webdriver.support.ui import WebDriverWait >>> from selenium.webdriver.support import expected_conditions as EC >>> is_selected = WebDriverWait(driver, 10).until( - ... EC.element_located_to_be_selected((By.CLASS_NAME, "foo"))) - """ + ... EC.element_located_to_be_selected((By.CLASS_NAME, "foo"))) + """ def _predicate(driver: WebDriverOrWebElement): return driver.find_element(*locator).is_selected() @@ -761,18 +984,21 @@

Source code for selenium.webdriver.support.expected_conditions

return _predicate
-
[docs]def element_selection_state_to_be(element: WebElement, is_selected: bool) -> Callable[[Any], bool]: - """An expectation for checking if the given element is selected. + +
+[docs] +def element_selection_state_to_be(element: WebElement, is_selected: bool) -> Callable[[Any], bool]: + """An expectation for checking if the given element is selected. Parameters: - ---------- + ----------- element : WebElement The WebElement to check. is_selected : bool Returns: ------- - boolean : True if the element's selection state is the same as is_selected + boolean : True if the element's selection state is the same as is_selected Example: -------- @@ -780,8 +1006,8 @@

Source code for selenium.webdriver.support.expected_conditions

>>> from selenium.webdriver.support.ui import WebDriverWait >>> from selenium.webdriver.support import expected_conditions as EC >>> is_selected = WebDriverWait(driver, 10).until( - ... EC.element_selection_state_to_be(driver.find_element(By.CLASS_NAME, "foo"), True)) - """ + ... EC.element_selection_state_to_be(driver.find_element(By.CLASS_NAME, "foo"), True)) + """ def _predicate(_): return element.is_selected() == is_selected @@ -789,21 +1015,24 @@

Source code for selenium.webdriver.support.expected_conditions

return _predicate
-
[docs]def element_located_selection_state_to_be( + +
+[docs] +def element_located_selection_state_to_be( locator: Tuple[str, str], is_selected: bool ) -> Callable[[WebDriverOrWebElement], bool]: - """An expectation to locate an element and check if the selection state + """An expectation to locate an element and check if the selection state specified is in that state. Parameters: - ---------- + ----------- locator : Tuple[str, str] Used to find the element. is_selected : bool Returns: ------- - boolean : True if the element's selection state is the same as is_selected + boolean : True if the element's selection state is the same as is_selected Example: -------- @@ -811,8 +1040,8 @@

Source code for selenium.webdriver.support.expected_conditions

>>> from selenium.webdriver.support.ui import WebDriverWait >>> from selenium.webdriver.support import expected_conditions as EC >>> is_selected = WebDriverWait(driver, 10).until( - ... EC.element_located_selection_state_to_be((By.CLASS_NAME, "foo"), True)) - """ + ... EC.element_located_selection_state_to_be((By.CLASS_NAME, "foo"), True)) + """ def _predicate(driver: WebDriverOrWebElement): try: @@ -824,11 +1053,14 @@

Source code for selenium.webdriver.support.expected_conditions

return _predicate
-
[docs]def number_of_windows_to_be(num_windows: int) -> Callable[[WebDriver], bool]: - """An expectation for the number of windows to be a certain value. + +
+[docs] +def number_of_windows_to_be(num_windows: int) -> Callable[[WebDriver], bool]: + """An expectation for the number of windows to be a certain value. Parameters: - ---------- + ----------- num_windows : int The expected number of windows. @@ -842,7 +1074,7 @@

Source code for selenium.webdriver.support.expected_conditions

>>> from selenium.webdriver.support import expected_conditions as EC >>> is_number_of_windows = WebDriverWait(driver, 10).until( ... EC.number_of_windows_to_be(2)) - """ + """ def _predicate(driver: WebDriver): return len(driver.window_handles) == num_windows @@ -850,12 +1082,15 @@

Source code for selenium.webdriver.support.expected_conditions

return _predicate
-
[docs]def new_window_is_opened(current_handles: List[str]) -> Callable[[WebDriver], bool]: - """An expectation that a new window will be opened and have the number of + +
+[docs] +def new_window_is_opened(current_handles: List[str]) -> Callable[[WebDriver], bool]: + """An expectation that a new window will be opened and have the number of windows handles increase. Parameters: - ---------- + ----------- current_handles : List[str] The current window handles. @@ -870,7 +1105,7 @@

Source code for selenium.webdriver.support.expected_conditions

>>> from selenium.webdriver.support import expected_conditions as EC >>> is_new_window_opened = WebDriverWait(driver, 10).until( ... EC.new_window_is_opened(driver.window_handles)) - """ + """ def _predicate(driver: WebDriver): return len(driver.window_handles) > len(current_handles) @@ -878,8 +1113,11 @@

Source code for selenium.webdriver.support.expected_conditions

return _predicate
-
[docs]def alert_is_present() -> Callable[[WebDriver], Union[Alert, Literal[False]]]: - """An expectation for checking if an alert is currently present and + +
+[docs] +def alert_is_present() -> Callable[[WebDriver], Union[Alert, Literal[False]]]: + """An expectation for checking if an alert is currently present and switching to it. Returns: @@ -895,7 +1133,7 @@

Source code for selenium.webdriver.support.expected_conditions

Notes: ------ If the alert is present it switches the given driver to it. - """ + """ def _predicate(driver: WebDriver): try: @@ -906,12 +1144,15 @@

Source code for selenium.webdriver.support.expected_conditions

return _predicate
-
[docs]def element_attribute_to_include(locator: Tuple[str, str], attribute_: str) -> Callable[[WebDriverOrWebElement], bool]: - """An expectation for checking if the given attribute is included in the + +
+[docs] +def element_attribute_to_include(locator: Tuple[str, str], attribute_: str) -> Callable[[WebDriverOrWebElement], bool]: + """An expectation for checking if the given attribute is included in the specified element. Parameters: - ---------- + ----------- locator : Tuple[str, str] Used to find the element. attribute_ : str @@ -927,8 +1168,8 @@

Source code for selenium.webdriver.support.expected_conditions

>>> from selenium.webdriver.support.ui import WebDriverWait >>> from selenium.webdriver.support import expected_conditions as EC >>> is_attribute_in_element = WebDriverWait(driver, 10).until( - ... EC.element_attribute_to_include((By.CLASS_NAME, "foo"), "bar")) - """ + ... EC.element_attribute_to_include((By.CLASS_NAME, "foo"), "bar")) + """ def _predicate(driver: WebDriverOrWebElement): try: @@ -940,11 +1181,14 @@

Source code for selenium.webdriver.support.expected_conditions

return _predicate
-
[docs]def any_of(*expected_conditions: Callable[[D], T]) -> Callable[[D], Union[Literal[False], T]]: - """An expectation that any of multiple expected conditions is true. + +
+[docs] +def any_of(*expected_conditions: Callable[[D], T]) -> Callable[[D], Union[Literal[False], T]]: + """An expectation that any of multiple expected conditions is true. Parameters: - ---------- + ----------- expected_conditions : Callable[[D], T] The list of expected conditions to check. @@ -958,14 +1202,14 @@

Source code for selenium.webdriver.support.expected_conditions

>>> from selenium.webdriver.support.ui import WebDriverWait >>> from selenium.webdriver.support import expected_conditions as EC >>> element = WebDriverWait(driver, 10).until( - ... EC.any_of(EC.presence_of_element_located((By.NAME, "q"), - ... EC.visibility_of_element_located((By.NAME, "q")))) + ... EC.any_of(EC.presence_of_element_located((By.NAME, "q"), + ... EC.visibility_of_element_located((By.NAME, "q")))) Notes: ------ - Equivalent to a logical 'OR'. Returns results of the first matching + Equivalent to a logical 'OR'. Returns results of the first matching condition, or False if none do. - """ + """ def any_of_condition(driver: D): for expected_condition in expected_conditions: @@ -980,13 +1224,16 @@

Source code for selenium.webdriver.support.expected_conditions

return any_of_condition
-
[docs]def all_of( + +
+[docs] +def all_of( *expected_conditions: Callable[[D], Union[T, Literal[False]]] ) -> Callable[[D], Union[List[T], Literal[False]]]: - """An expectation that all of multiple expected conditions is true. + """An expectation that all of multiple expected conditions is true. Parameters: - ---------- + ----------- expected_conditions : Callable[[D], Union[T, Literal[False]]] The list of expected conditions to check. @@ -1000,15 +1247,15 @@

Source code for selenium.webdriver.support.expected_conditions

>>> from selenium.webdriver.support.ui import WebDriverWait >>> from selenium.webdriver.support import expected_conditions as EC >>> elements = WebDriverWait(driver, 10).until( - ... EC.all_of(EC.presence_of_element_located((By.NAME, "q"), - ... EC.visibility_of_element_located((By.NAME, "q")))) + ... EC.all_of(EC.presence_of_element_located((By.NAME, "q"), + ... EC.visibility_of_element_located((By.NAME, "q")))) Notes: ------ - Equivalent to a logical 'AND'. + Equivalent to a logical 'AND'. Returns: When any ExpectedCondition is not met: False. - When all ExpectedConditions are met: A List with each ExpectedCondition's return value. - """ + When all ExpectedConditions are met: A List with each ExpectedCondition's return value. + """ def all_of_condition(driver: D): results: List[T] = [] @@ -1025,11 +1272,14 @@

Source code for selenium.webdriver.support.expected_conditions

return all_of_condition
-
[docs]def none_of(*expected_conditions: Callable[[D], Any]) -> Callable[[D], bool]: - """An expectation that none of 1 or multiple expected conditions is true. + +
+[docs] +def none_of(*expected_conditions: Callable[[D], Any]) -> Callable[[D], bool]: + """An expectation that none of 1 or multiple expected conditions is true. Parameters: - ---------- + ----------- expected_conditions : Callable[[D], Any] The list of expected conditions to check. @@ -1043,13 +1293,13 @@

Source code for selenium.webdriver.support.expected_conditions

>>> from selenium.webdriver.support.ui import WebDriverWait >>> from selenium.webdriver.support import expected_conditions as EC >>> element = WebDriverWait(driver, 10).until( - ... EC.none_of(EC.presence_of_element_located((By.NAME, "q"), - ... EC.visibility_of_element_located((By.NAME, "q")))) + ... EC.none_of(EC.presence_of_element_located((By.NAME, "q"), + ... EC.visibility_of_element_located((By.NAME, "q")))) Notes: ------ - Equivalent to a logical 'NOT-OR'. Returns a Boolean - """ + Equivalent to a logical 'NOT-OR'. Returns a Boolean + """ def none_of_condition(driver: D): for expected_condition in expected_conditions: @@ -1062,44 +1312,35 @@

Source code for selenium.webdriver.support.expected_conditions

return True return none_of_condition
+
-
-
+
-
+
+ + + \ No newline at end of file diff --git a/docs/api/py/_modules/selenium/webdriver/support/relative_locator.html b/docs/api/py/_modules/selenium/webdriver/support/relative_locator.html index 5c99a71354254..e81e13ea05c06 100644 --- a/docs/api/py/_modules/selenium/webdriver/support/relative_locator.html +++ b/docs/api/py/_modules/selenium/webdriver/support/relative_locator.html @@ -1,54 +1,210 @@ - + - selenium.webdriver.support.relative_locator — Selenium 4.29.0.202501201850 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + selenium.webdriver.support.relative_locator — Selenium 4.30.0 documentation - + + + + + + + + + + + + + + + + + + + + + + + + Skip to content +
+ +
+ + +
- - - - - - - + +
+
+ +
+ +
+
+
+
+ + +
+
+
+ +
+
-

Source code for selenium.webdriver.support.relative_locator

+  

Source code for selenium.webdriver.support.relative_locator

 # Licensed to the Software Freedom Conservancy (SFC) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
 # regarding copyright ownership.  The SFC licenses this file
 # to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
+# "License"); you may not use this file except in compliance
 # with the License.  You may obtain a copy of the License at
 #
 #   http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing,
 # software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
@@ -66,11 +222,13 @@ 

Source code for selenium.webdriver.support.relative_locator

from selenium.webdriver.remote.webelement import WebElement -
[docs]def with_tag_name(tag_name: str) -> "RelativeBy": - """Start searching for relative objects using a tag name. +
+[docs] +def with_tag_name(tag_name: str) -> "RelativeBy": + """Start searching for relative objects using a tag name. Parameters: - ---------- + ----------- tag_name : str The DOM tag of element to start searching. @@ -88,20 +246,23 @@

Source code for selenium.webdriver.support.relative_locator

------ - This method is deprecated and may be removed in future versions. - Please use `locate_with` instead. - """ + """ warnings.warn( - "This method is deprecated and may be removed in future versions. " "Please use `locate_with` instead." + "This method is deprecated and may be removed in future versions. " "Please use `locate_with` instead." ) if not tag_name: - raise WebDriverException("tag_name can not be null") + raise WebDriverException("tag_name can not be null") return RelativeBy({By.CSS_SELECTOR: tag_name})
-
[docs]def locate_with(by: ByType, using: str) -> "RelativeBy": - """Start searching for relative objects your search criteria with By. + +
+[docs] +def locate_with(by: ByType, using: str) -> "RelativeBy": + """Start searching for relative objects your search criteria with By. Parameters: - ---------- + ----------- by : ByType The method to find the element. @@ -115,57 +276,62 @@

Source code for selenium.webdriver.support.relative_locator

Example: -------- - >>> lowest = driver.find_element(By.ID, "below") - >>> elements = driver.find_elements(locate_with(By.CSS_SELECTOR, "p").above(lowest)) - """ - assert by is not None, "Please pass in a by argument" - assert using is not None, "Please pass in a using argument" + >>> lowest = driver.find_element(By.ID, "below") + >>> elements = driver.find_elements(locate_with(By.CSS_SELECTOR, "p").above(lowest)) + """ + assert by is not None, "Please pass in a by argument" + assert using is not None, "Please pass in a using argument" return RelativeBy({by: using})
-
[docs]class RelativeBy: - """Gives the opportunity to find elements based on their relative location + +
+[docs] +class RelativeBy: + """Gives the opportunity to find elements based on their relative location on the page from a root element. It is recommended that you use the helper function to create it. Example: -------- - >>> lowest = driver.find_element(By.ID, "below") - >>> elements = driver.find_elements(locate_with(By.CSS_SELECTOR, "p").above(lowest)) - >>> ids = [el.get_attribute('id') for el in elements] - >>> assert "above" in ids - >>> assert "mid" in ids - """ + >>> lowest = driver.find_element(By.ID, "below") + >>> elements = driver.find_elements(locate_with(By.CSS_SELECTOR, "p").above(lowest)) + >>> ids = [el.get_attribute('id') for el in elements] + >>> assert "above" in ids + >>> assert "mid" in ids + """ LocatorType = Dict[ByType, str] def __init__(self, root: Optional[Dict[ByType, str]] = None, filters: Optional[List] = None): - """Creates a new RelativeBy object. It is preferred if you use the + """Creates a new RelativeBy object. It is preferred if you use the `locate_with` method as this signature could change. Attributes: - ---------- + ----------- root : Dict[By, str] - A dict with `By` enum as the key and the search query as the value filters : List - A list of the filters that will be searched. If none are passed in please use the fluent API on the object to create the filters - """ + """ self.root = root self.filters = filters or [] @overload - def above(self, element_or_locator: Union[WebElement, LocatorType]) -> "RelativeBy": ... + def above(self, element_or_locator: Union[WebElement, LocatorType]) -> "RelativeBy": ... @overload - def above(self, element_or_locator: None = None) -> "NoReturn": ... + def above(self, element_or_locator: None = None) -> "NoReturn": ... -
[docs] def above(self, element_or_locator: Union[WebElement, LocatorType, None] = None) -> "RelativeBy": - """Add a filter to look for elements above. +
+[docs] + def above(self, element_or_locator: Union[WebElement, LocatorType, None] = None) -> "RelativeBy": + """Add a filter to look for elements above. Parameters: - ---------- + ----------- element_or_locator : Union[WebElement, Dict, None] Element to look above @@ -180,26 +346,29 @@

Source code for selenium.webdriver.support.relative_locator

Example: -------- - >>> lowest = driver.find_element(By.ID, "below") - >>> elements = driver.find_elements(locate_with(By.CSS_SELECTOR, "p").above(lowest)) - """ + >>> lowest = driver.find_element(By.ID, "below") + >>> elements = driver.find_elements(locate_with(By.CSS_SELECTOR, "p").above(lowest)) + """ if not element_or_locator: - raise WebDriverException("Element or locator must be given when calling above method") + raise WebDriverException("Element or locator must be given when calling above method") - self.filters.append({"kind": "above", "args": [element_or_locator]}) + self.filters.append({"kind": "above", "args": [element_or_locator]}) return self
+ @overload - def below(self, element_or_locator: Union[WebElement, LocatorType]) -> "RelativeBy": ... + def below(self, element_or_locator: Union[WebElement, LocatorType]) -> "RelativeBy": ... @overload - def below(self, element_or_locator: None = None) -> "NoReturn": ... + def below(self, element_or_locator: None = None) -> "NoReturn": ... -
[docs] def below(self, element_or_locator: Union[WebElement, Dict, None] = None) -> "RelativeBy": - """Add a filter to look for elements below. +
+[docs] + def below(self, element_or_locator: Union[WebElement, Dict, None] = None) -> "RelativeBy": + """Add a filter to look for elements below. Parameters: - ---------- + ----------- element_or_locator : Union[WebElement, Dict, None] Element to look below @@ -214,26 +383,29 @@

Source code for selenium.webdriver.support.relative_locator

Example: -------- - >>> highest = driver.find_element(By.ID, "high") - >>> elements = driver.find_elements(locate_with(By.CSS_SELECTOR, "p").below(highest)) - """ + >>> highest = driver.find_element(By.ID, "high") + >>> elements = driver.find_elements(locate_with(By.CSS_SELECTOR, "p").below(highest)) + """ if not element_or_locator: - raise WebDriverException("Element or locator must be given when calling below method") + raise WebDriverException("Element or locator must be given when calling below method") - self.filters.append({"kind": "below", "args": [element_or_locator]}) + self.filters.append({"kind": "below", "args": [element_or_locator]}) return self
+ @overload - def to_left_of(self, element_or_locator: Union[WebElement, LocatorType]) -> "RelativeBy": ... + def to_left_of(self, element_or_locator: Union[WebElement, LocatorType]) -> "RelativeBy": ... @overload - def to_left_of(self, element_or_locator: None = None) -> "NoReturn": ... + def to_left_of(self, element_or_locator: None = None) -> "NoReturn": ... -
[docs] def to_left_of(self, element_or_locator: Union[WebElement, Dict, None] = None) -> "RelativeBy": - """Add a filter to look for elements to the left of. +
+[docs] + def to_left_of(self, element_or_locator: Union[WebElement, Dict, None] = None) -> "RelativeBy": + """Add a filter to look for elements to the left of. Parameters: - ---------- + ----------- element_or_locator : Union[WebElement, Dict, None] Element to look to the left of @@ -248,26 +420,29 @@

Source code for selenium.webdriver.support.relative_locator

Example: -------- - >>> right = driver.find_element(By.ID, "right") - >>> elements = driver.find_elements(locate_with(By.CSS_SELECTOR, "p").to_left_of(right)) - """ + >>> right = driver.find_element(By.ID, "right") + >>> elements = driver.find_elements(locate_with(By.CSS_SELECTOR, "p").to_left_of(right)) + """ if not element_or_locator: - raise WebDriverException("Element or locator must be given when calling to_left_of method") + raise WebDriverException("Element or locator must be given when calling to_left_of method") - self.filters.append({"kind": "left", "args": [element_or_locator]}) + self.filters.append({"kind": "left", "args": [element_or_locator]}) return self
+ @overload - def to_right_of(self, element_or_locator: Union[WebElement, LocatorType]) -> "RelativeBy": ... + def to_right_of(self, element_or_locator: Union[WebElement, LocatorType]) -> "RelativeBy": ... @overload - def to_right_of(self, element_or_locator: None = None) -> "NoReturn": ... + def to_right_of(self, element_or_locator: None = None) -> "NoReturn": ... -
[docs] def to_right_of(self, element_or_locator: Union[WebElement, Dict, None] = None) -> "RelativeBy": - """Add a filter to look for elements right of. +
+[docs] + def to_right_of(self, element_or_locator: Union[WebElement, Dict, None] = None) -> "RelativeBy": + """Add a filter to look for elements right of. Parameters: - ---------- + ----------- element_or_locator : Union[WebElement, Dict, None] Element to look right of @@ -282,98 +457,113 @@

Source code for selenium.webdriver.support.relative_locator

Example: -------- - >>> left = driver.find_element(By.ID, "left") - >>> elements = driver.find_elements(locate_with(By.CSS_SELECTOR, "p").to_right_of(left)) - """ + >>> left = driver.find_element(By.ID, "left") + >>> elements = driver.find_elements(locate_with(By.CSS_SELECTOR, "p").to_right_of(left)) + """ if not element_or_locator: - raise WebDriverException("Element or locator must be given when calling to_right_of method") + raise WebDriverException("Element or locator must be given when calling to_right_of method") - self.filters.append({"kind": "right", "args": [element_or_locator]}) + self.filters.append({"kind": "right", "args": [element_or_locator]}) return self
+ @overload - def straight_above(self, element_or_locator: Union[WebElement, LocatorType]) -> "RelativeBy": ... + def straight_above(self, element_or_locator: Union[WebElement, LocatorType]) -> "RelativeBy": ... @overload - def straight_above(self, element_or_locator: None = None) -> "NoReturn": ... + def straight_above(self, element_or_locator: None = None) -> "NoReturn": ... -
[docs] def straight_above(self, element_or_locator: Union[WebElement, LocatorType, None] = None) -> "RelativeBy": - """Add a filter to look for elements above. +
+[docs] + def straight_above(self, element_or_locator: Union[WebElement, LocatorType, None] = None) -> "RelativeBy": + """Add a filter to look for elements above. :Args: - element_or_locator: Element to look above - """ + """ if not element_or_locator: - raise WebDriverException("Element or locator must be given when calling above method") + raise WebDriverException("Element or locator must be given when calling above method") - self.filters.append({"kind": "straightAbove", "args": [element_or_locator]}) + self.filters.append({"kind": "straightAbove", "args": [element_or_locator]}) return self
+ @overload - def straight_below(self, element_or_locator: Union[WebElement, LocatorType]) -> "RelativeBy": ... + def straight_below(self, element_or_locator: Union[WebElement, LocatorType]) -> "RelativeBy": ... @overload - def straight_below(self, element_or_locator: None = None) -> "NoReturn": ... + def straight_below(self, element_or_locator: None = None) -> "NoReturn": ... -
[docs] def straight_below(self, element_or_locator: Union[WebElement, Dict, None] = None) -> "RelativeBy": - """Add a filter to look for elements below. +
+[docs] + def straight_below(self, element_or_locator: Union[WebElement, Dict, None] = None) -> "RelativeBy": + """Add a filter to look for elements below. :Args: - element_or_locator: Element to look below - """ + """ if not element_or_locator: - raise WebDriverException("Element or locator must be given when calling below method") + raise WebDriverException("Element or locator must be given when calling below method") - self.filters.append({"kind": "straightBelow", "args": [element_or_locator]}) + self.filters.append({"kind": "straightBelow", "args": [element_or_locator]}) return self
+ @overload - def straight_left_of(self, element_or_locator: Union[WebElement, LocatorType]) -> "RelativeBy": ... + def straight_left_of(self, element_or_locator: Union[WebElement, LocatorType]) -> "RelativeBy": ... @overload - def straight_left_of(self, element_or_locator: None = None) -> "NoReturn": ... + def straight_left_of(self, element_or_locator: None = None) -> "NoReturn": ... -
[docs] def straight_left_of(self, element_or_locator: Union[WebElement, Dict, None] = None) -> "RelativeBy": - """Add a filter to look for elements to the left of. +
+[docs] + def straight_left_of(self, element_or_locator: Union[WebElement, Dict, None] = None) -> "RelativeBy": + """Add a filter to look for elements to the left of. :Args: - element_or_locator: Element to look to the left of - """ + """ if not element_or_locator: - raise WebDriverException("Element or locator must be given when calling to_left_of method") + raise WebDriverException("Element or locator must be given when calling to_left_of method") - self.filters.append({"kind": "straightLeft", "args": [element_or_locator]}) + self.filters.append({"kind": "straightLeft", "args": [element_or_locator]}) return self
+ @overload - def straight_right_of(self, element_or_locator: Union[WebElement, LocatorType]) -> "RelativeBy": ... + def straight_right_of(self, element_or_locator: Union[WebElement, LocatorType]) -> "RelativeBy": ... @overload - def straight_right_of(self, element_or_locator: None = None) -> "NoReturn": ... + def straight_right_of(self, element_or_locator: None = None) -> "NoReturn": ... -
[docs] def straight_right_of(self, element_or_locator: Union[WebElement, Dict, None] = None) -> "RelativeBy": - """Add a filter to look for elements right of. +
+[docs] + def straight_right_of(self, element_or_locator: Union[WebElement, Dict, None] = None) -> "RelativeBy": + """Add a filter to look for elements right of. :Args: - element_or_locator: Element to look right of - """ + """ if not element_or_locator: - raise WebDriverException("Element or locator must be given when calling to_right_of method") + raise WebDriverException("Element or locator must be given when calling to_right_of method") - self.filters.append({"kind": "straightRight", "args": [element_or_locator]}) + self.filters.append({"kind": "straightRight", "args": [element_or_locator]}) return self
+ @overload - def near(self, element_or_locator: Union[WebElement, LocatorType], distance: int = 50) -> "RelativeBy": ... + def near(self, element_or_locator: Union[WebElement, LocatorType], distance: int = 50) -> "RelativeBy": ... @overload - def near(self, element_or_locator: None = None, distance: int = 50) -> "NoReturn": ... + def near(self, element_or_locator: None = None, distance: int = 50) -> "NoReturn": ... -
[docs] def near(self, element_or_locator: Union[WebElement, LocatorType, None] = None, distance: int = 50) -> "RelativeBy": - """Add a filter to look for elements near. +
+[docs] + def near(self, element_or_locator: Union[WebElement, LocatorType, None] = None, distance: int = 50) -> "RelativeBy": + """Add a filter to look for elements near. Parameters: - ---------- + ----------- element_or_locator : Union[WebElement, Dict, None] Element to look near by the element or within a distance @@ -392,64 +582,59 @@

Source code for selenium.webdriver.support.relative_locator

Example: -------- - >>> near = driver.find_element(By.ID, "near") - >>> elements = driver.find_elements(locate_with(By.CSS_SELECTOR, "p").near(near, 50)) - """ + >>> near = driver.find_element(By.ID, "near") + >>> elements = driver.find_elements(locate_with(By.CSS_SELECTOR, "p").near(near, 50)) + """ if not element_or_locator: - raise WebDriverException("Element or locator must be given when calling near method") + raise WebDriverException("Element or locator must be given when calling near method") if distance <= 0: - raise WebDriverException("Distance must be positive") + raise WebDriverException("Distance must be positive") - self.filters.append({"kind": "near", "args": [element_or_locator, distance]}) + self.filters.append({"kind": "near", "args": [element_or_locator, distance]}) return self
-
[docs] def to_dict(self) -> Dict: - """Create a dict that will be passed to the driver to start searching - for the element.""" + +
+[docs] + def to_dict(self) -> Dict: + """Create a dict that will be passed to the driver to start searching + for the element.""" return { - "relative": { - "root": self.root, - "filters": self.filters, + "relative": { + "root": self.root, + "filters": self.filters, } - }
+ }
+
+
-
-
+
-
+
+ + + \ No newline at end of file diff --git a/docs/api/py/_modules/selenium/webdriver/support/select.html b/docs/api/py/_modules/selenium/webdriver/support/select.html index 3fe314354dadd..2de462d9a397a 100644 --- a/docs/api/py/_modules/selenium/webdriver/support/select.html +++ b/docs/api/py/_modules/selenium/webdriver/support/select.html @@ -1,54 +1,210 @@ - + - selenium.webdriver.support.select — Selenium 4.29.0.202501201850 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + selenium.webdriver.support.select — Selenium 4.30.0 documentation - + + + + + + + + + + + + + + + + + + + + + + + + Skip to content +
+ +
+ + +
- - - - - - - + +
+
+ +
+ +
+
+
+
+ + +
+
+
+ +
+
-

Source code for selenium.webdriver.support.select

+  

Source code for selenium.webdriver.support.select

 # Licensed to the Software Freedom Conservancy (SFC) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
 # regarding copyright ownership.  The SFC licenses this file
 # to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
+# "License"); you may not use this file except in compliance
 # with the License.  You may obtain a copy of the License at
 #
 #   http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing,
 # software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
@@ -61,9 +217,11 @@ 

Source code for selenium.webdriver.support.select

from selenium.webdriver.remote.webelement import WebElement -
[docs]class Select: +
+[docs] +class Select: def __init__(self, webelement: WebElement) -> None: - """Constructor. A check is made that the given element is, indeed, a + """Constructor. A check is made that the given element is, indeed, a SELECT tag. If it is not, then an UnexpectedTagNameException is thrown. :Args: @@ -71,46 +229,48 @@

Source code for selenium.webdriver.support.select

Example: from selenium.webdriver.support.ui import Select \n - Select(driver.find_element(By.TAG_NAME, "select")).select_by_index(2) - """ - if webelement.tag_name.lower() != "select": - raise UnexpectedTagNameException(f"Select only works on <select> elements, not on {webelement.tag_name}") + Select(driver.find_element(By.TAG_NAME, "select")).select_by_index(2) + """ + if webelement.tag_name.lower() != "select": + raise UnexpectedTagNameException(f"Select only works on <select> elements, not on {webelement.tag_name}") self._el = webelement - multi = self._el.get_dom_attribute("multiple") - self.is_multiple = multi and multi != "false" + multi = self._el.get_dom_attribute("multiple") + self.is_multiple = multi and multi != "false" @property def options(self) -> List[WebElement]: - """Returns a list of all options belonging to this select tag.""" - return self._el.find_elements(By.TAG_NAME, "option") + """Returns a list of all options belonging to this select tag.""" + return self._el.find_elements(By.TAG_NAME, "option") @property def all_selected_options(self) -> List[WebElement]: - """Returns a list of all selected options belonging to this select - tag.""" + """Returns a list of all selected options belonging to this select + tag.""" return [opt for opt in self.options if opt.is_selected()] @property def first_selected_option(self) -> WebElement: - """The first selected option in this select tag (or the currently - selected option in a normal select)""" + """The first selected option in this select tag (or the currently + selected option in a normal select)""" for opt in self.options: if opt.is_selected(): return opt - raise NoSuchElementException("No options are selected") + raise NoSuchElementException("No options are selected") -
[docs] def select_by_value(self, value: str) -> None: - """Select all options that have a value matching the argument. That is, - when given "foo" this would select an option like: +
+[docs] + def select_by_value(self, value: str) -> None: + """Select all options that have a value matching the argument. That is, + when given "foo" this would select an option like: - <option value="foo">Bar</option> + <option value="foo">Bar</option> :Args: - value - The value to match against throws NoSuchElementException If there is no option with specified value in SELECT - """ - css = f"option[value ={self._escape_string(value)}]" + """ + css = f"option[value ={self._escape_string(value)}]" opts = self._el.find_elements(By.CSS_SELECTOR, css) matched = False for opt in opts: @@ -119,36 +279,42 @@

Source code for selenium.webdriver.support.select

return matched = True if not matched: - raise NoSuchElementException(f"Cannot locate option with value: {value}")
+ raise NoSuchElementException(f"Cannot locate option with value: {value}")
+ -
[docs] def select_by_index(self, index: int) -> None: - """Select the option at the given index. This is done by examining the - "index" attribute of an element, and not merely by counting. +
+[docs] + def select_by_index(self, index: int) -> None: + """Select the option at the given index. This is done by examining the + "index" attribute of an element, and not merely by counting. :Args: - index - The option at this index will be selected throws NoSuchElementException If there is no option with specified index in SELECT - """ + """ match = str(index) for opt in self.options: - if opt.get_attribute("index") == match: + if opt.get_attribute("index") == match: self._set_selected(opt) return - raise NoSuchElementException(f"Could not locate element with index {index}")
+ raise NoSuchElementException(f"Could not locate element with index {index}")
-
[docs] def select_by_visible_text(self, text: str) -> None: - """Select all options that display text matching the argument. That is, - when given "Bar" this would select an option like: - <option value="foo">Bar</option> +
+[docs] + def select_by_visible_text(self, text: str) -> None: + """Select all options that display text matching the argument. That is, + when given "Bar" this would select an option like: + + <option value="foo">Bar</option> :Args: - text - The visible text to match against throws NoSuchElementException If there is no option with specified text in SELECT - """ - xpath = f".//option[normalize-space(.) = {self._escape_string(text)}]" + """ + xpath = f".//option[normalize-space(.) = {self._escape_string(text)}]" opts = self._el.find_elements(By.XPATH, xpath) matched = False for opt in opts: @@ -157,12 +323,12 @@

Source code for selenium.webdriver.support.select

return matched = True - if len(opts) == 0 and " " in text: + if len(opts) == 0 and " " in text: sub_string_without_space = self._get_longest_token(text) - if sub_string_without_space == "": + if sub_string_without_space == "": candidates = self.options else: - xpath = f".//option[contains(.,{self._escape_string(sub_string_without_space)})]" + xpath = f".//option[contains(.,{self._escape_string(sub_string_without_space)})]" candidates = self._el.find_elements(By.XPATH, xpath) for candidate in candidates: if text == candidate.text: @@ -172,83 +338,96 @@

Source code for selenium.webdriver.support.select

matched = True if not matched: - raise NoSuchElementException(f"Could not locate element with visible text: {text}")
+ raise NoSuchElementException(f"Could not locate element with visible text: {text}")
+ -
[docs] def deselect_all(self) -> None: - """Clear all selected entries. +
+[docs] + def deselect_all(self) -> None: + """Clear all selected entries. This is only valid when the SELECT supports multiple selections. throws NotImplementedError If the SELECT does not support multiple selections - """ + """ if not self.is_multiple: - raise NotImplementedError("You may only deselect all options of a multi-select") + raise NotImplementedError("You may only deselect all options of a multi-select") for opt in self.options: self._unset_selected(opt)
-
[docs] def deselect_by_value(self, value: str) -> None: - """Deselect all options that have a value matching the argument. That - is, when given "foo" this would deselect an option like: - <option value="foo">Bar</option> +
+[docs] + def deselect_by_value(self, value: str) -> None: + """Deselect all options that have a value matching the argument. That + is, when given "foo" this would deselect an option like: + + <option value="foo">Bar</option> :Args: - value - The value to match against throws NoSuchElementException If there is no option with specified value in SELECT - """ + """ if not self.is_multiple: - raise NotImplementedError("You may only deselect options of a multi-select") + raise NotImplementedError("You may only deselect options of a multi-select") matched = False - css = f"option[value = {self._escape_string(value)}]" + css = f"option[value = {self._escape_string(value)}]" opts = self._el.find_elements(By.CSS_SELECTOR, css) for opt in opts: self._unset_selected(opt) matched = True if not matched: - raise NoSuchElementException(f"Could not locate element with value: {value}")
+ raise NoSuchElementException(f"Could not locate element with value: {value}")
-
[docs] def deselect_by_index(self, index: int) -> None: - """Deselect the option at the given index. This is done by examining - the "index" attribute of an element, and not merely by counting. + +
+[docs] + def deselect_by_index(self, index: int) -> None: + """Deselect the option at the given index. This is done by examining + the "index" attribute of an element, and not merely by counting. :Args: - index - The option at this index will be deselected throws NoSuchElementException If there is no option with specified index in SELECT - """ + """ if not self.is_multiple: - raise NotImplementedError("You may only deselect options of a multi-select") + raise NotImplementedError("You may only deselect options of a multi-select") for opt in self.options: - if opt.get_attribute("index") == str(index): + if opt.get_attribute("index") == str(index): self._unset_selected(opt) return - raise NoSuchElementException(f"Could not locate element with index {index}")
+ raise NoSuchElementException(f"Could not locate element with index {index}")
+ -
[docs] def deselect_by_visible_text(self, text: str) -> None: - """Deselect all options that display text matching the argument. That - is, when given "Bar" this would deselect an option like: +
+[docs] + def deselect_by_visible_text(self, text: str) -> None: + """Deselect all options that display text matching the argument. That + is, when given "Bar" this would deselect an option like: - <option value="foo">Bar</option> + <option value="foo">Bar</option> :Args: - text - The visible text to match against - """ + """ if not self.is_multiple: - raise NotImplementedError("You may only deselect options of a multi-select") + raise NotImplementedError("You may only deselect options of a multi-select") matched = False - xpath = f".//option[normalize-space(.) = {self._escape_string(text)}]" + xpath = f".//option[normalize-space(.) = {self._escape_string(text)}]" opts = self._el.find_elements(By.XPATH, xpath) for opt in opts: self._unset_selected(opt) matched = True if not matched: - raise NoSuchElementException(f"Could not locate element with visible text: {text}")
+ raise NoSuchElementException(f"Could not locate element with visible text: {text}")
+ def _set_selected(self, option) -> None: if not option.is_selected(): if not option.is_enabled(): - raise NotImplementedError("You may not select a disabled option") + raise NotImplementedError("You may not select a disabled option") option.click() def _unset_selected(self, option) -> None: @@ -256,67 +435,58 @@

Source code for selenium.webdriver.support.select

option.click() def _escape_string(self, value: str) -> str: - if '"' in value and "'" in value: - substrings = value.split('"') - result = ["concat("] + if '"' in value and "'" in value: + substrings = value.split('"') + result = ["concat("] for substring in substrings: - result.append(f'"{substring}"') - result.append(", '\"', ") + result.append(f'"{substring}"') + result.append(", '\"', ") result = result[0:-1] - if value.endswith('"'): - result.append(", '\"'") - return "".join(result) + ")" + if value.endswith('"'): + result.append(", '\"'") + return "".join(result) + ")" - if '"' in value: - return f"'{value}'" + if '"' in value: + return f"'{value}'" - return f'"{value}"' + return f'"{value}"' def _get_longest_token(self, value: str) -> str: - items = value.split(" ") - longest = "" + items = value.split(" ") + longest = "" for item in items: if len(item) > len(longest): longest = item return longest
+
-
-
+
-
+
+ + + \ No newline at end of file diff --git a/docs/api/py/_modules/selenium/webdriver/support/wait.html b/docs/api/py/_modules/selenium/webdriver/support/wait.html index 27507522580f4..9ab6b4068d475 100644 --- a/docs/api/py/_modules/selenium/webdriver/support/wait.html +++ b/docs/api/py/_modules/selenium/webdriver/support/wait.html @@ -1,54 +1,210 @@ - + - selenium.webdriver.support.wait — Selenium 4.29.0.202501201850 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + selenium.webdriver.support.wait — Selenium 4.30.0 documentation - + + + + + + + + + + + + + + + + + + + + + + + + Skip to content +
+ +
+ + +
- - - - - - - + +
+
+ +
+ +
+
+
+
+ + +
+
+
+ +
+
-

Source code for selenium.webdriver.support.wait

+  

Source code for selenium.webdriver.support.wait

 # Licensed to the Software Freedom Conservancy (SFC) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
 # regarding copyright ownership.  The SFC licenses this file
 # to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
+# "License"); you may not use this file except in compliance
 # with the License.  You may obtain a copy of the License at
 #
 #   http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing,
 # software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
@@ -72,11 +228,13 @@ 

Source code for selenium.webdriver.support.wait

< POLL_FREQUENCY: float = 0.5 # How long to sleep in between calls to the method IGNORED_EXCEPTIONS: Tuple[Type[Exception]] = (NoSuchElementException,) # default to be ignored. -D = TypeVar("D", bound=Union[WebDriver, WebElement]) -T = TypeVar("T") +D = TypeVar("D", bound=Union[WebDriver, WebElement]) +T = TypeVar("T") -
[docs]class WebDriverWait(Generic[D]): +
+[docs] +class WebDriverWait(Generic[D]): def __init__( self, driver: D, @@ -84,10 +242,10 @@

Source code for selenium.webdriver.support.wait

< poll_frequency: float = POLL_FREQUENCY, ignored_exceptions: Optional[WaitExcTypes] = None, ): - """Constructor, takes a WebDriver instance and timeout in seconds. + """Constructor, takes a WebDriver instance and timeout in seconds. Attributes: - ---------- + ----------- driver - Instance of WebDriver (Ie, Firefox, Chrome or Remote) or a WebElement @@ -111,8 +269,8 @@

Source code for selenium.webdriver.support.wait

< >>> >>> # Wait until the element is no longer visible >>> is_disappeared = WebDriverWait(driver, 30, 1, (ElementNotVisibleException)) - ... .until_not(lambda x: x.find_element(By.ID, "someId").is_displayed()) - """ + ... .until_not(lambda x: x.find_element(By.ID, "someId").is_displayed()) + """ self._driver = driver self._timeout = float(timeout) self._poll = poll_frequency @@ -128,16 +286,18 @@

Source code for selenium.webdriver.support.wait

< self._ignored_exceptions = tuple(exceptions) def __repr__(self): - return f'<{type(self).__module__}.{type(self).__name__} (session="{self._driver.session_id}")>' + return f'<{type(self).__module__}.{type(self).__name__} (session="{self._driver.session_id}")>' -
[docs] def until(self, method: Callable[[D], Union[Literal[False], T]], message: str = "") -> T: - """Wait until the method returns a value that is not False. +
+[docs] + def until(self, method: Callable[[D], Union[Literal[False], T]], message: str = "") -> T: + """Wait until the method returns a value that is not False. Calls the method provided with the driver as an argument until the return value does not evaluate to ``False``. Parameters: - ---------- + ----------- method: callable(WebDriver) - A callable object that takes a WebDriver instance as an argument. @@ -152,8 +312,8 @@

Source code for selenium.webdriver.support.wait

< Raises: ------- TimeoutException - - If 'method' does not return a truthy value within the WebDriverWait - object's timeout + - If 'method' does not return a truthy value within the WebDriverWait + object's timeout Example: -------- @@ -163,9 +323,9 @@

Source code for selenium.webdriver.support.wait

< # Wait until an element is visible on the page >>> wait = WebDriverWait(driver, 10) - >>> element = wait.until(EC.visibility_of_element_located((By.ID, "exampleId"))) + >>> element = wait.until(EC.visibility_of_element_located((By.ID, "exampleId"))) >>> print(element.text) - """ + """ screen = None stacktrace = None @@ -176,21 +336,24 @@

Source code for selenium.webdriver.support.wait

< if value: return value except self._ignored_exceptions as exc: - screen = getattr(exc, "screen", None) - stacktrace = getattr(exc, "stacktrace", None) + screen = getattr(exc, "screen", None) + stacktrace = getattr(exc, "stacktrace", None) if time.monotonic() > end_time: break time.sleep(self._poll) raise TimeoutException(message, screen, stacktrace)
-
[docs] def until_not(self, method: Callable[[D], T], message: str = "") -> Union[T, Literal[True]]: - """Wait until the method returns a value that is not False. + +
+[docs] + def until_not(self, method: Callable[[D], T], message: str = "") -> Union[T, Literal[True]]: + """Wait until the method returns a value that is not False. Calls the method provided with the driver as an argument until the return value does not evaluate to ``False``. Parameters: - ---------- + ----------- method: callable(WebDriver) - A callable object that takes a WebDriver instance as an argument. @@ -205,8 +368,8 @@

Source code for selenium.webdriver.support.wait

< Raises: ------- TimeoutException - - If 'method' does not return False within the WebDriverWait - object's timeout + - If 'method' does not return False within the WebDriverWait + object's timeout Example: -------- @@ -217,8 +380,8 @@

Source code for selenium.webdriver.support.wait

< # Wait until an element is visible on the page >>> wait = WebDriverWait(driver, 10) >>> is_disappeared = wait.until_not(EC.visibility_of_element_located( - ... (By.ID, "exampleId"))) - """ + ... (By.ID, "exampleId"))) + """ end_time = time.monotonic() + self._timeout while True: try: @@ -230,45 +393,37 @@

Source code for selenium.webdriver.support.wait

< if time.monotonic() > end_time: break time.sleep(self._poll) - raise TimeoutException(message)
+ raise TimeoutException(message)
+
+
-
-
+
-
+
+ + + \ No newline at end of file diff --git a/docs/api/py/_modules/selenium/webdriver/webkitgtk/options.html b/docs/api/py/_modules/selenium/webdriver/webkitgtk/options.html index ca18c68bd20ed..4b04123935ac7 100644 --- a/docs/api/py/_modules/selenium/webdriver/webkitgtk/options.html +++ b/docs/api/py/_modules/selenium/webdriver/webkitgtk/options.html @@ -1,54 +1,210 @@ - + - selenium.webdriver.webkitgtk.options — Selenium 4.29.0.202501201850 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + selenium.webdriver.webkitgtk.options — Selenium 4.30.0 documentation - + + + + + + + + + + + + + + + + + + + + + + + + Skip to content +
+ +
+ + +
- - - - - - - + +
+
+ +
+
+ +
+
+
+
+
+ + +
+
+
+ +
+
-

Source code for selenium.webdriver.webkitgtk.options

+  

Source code for selenium.webdriver.webkitgtk.options

 # Licensed to the Software Freedom Conservancy (SFC) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
 # regarding copyright ownership.  The SFC licenses this file
 # to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
+# "License"); you may not use this file except in compliance
 # with the License.  You may obtain a copy of the License at
 #
 #   http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing,
 # software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
@@ -57,100 +213,96 @@ 

Source code for selenium.webdriver.webkitgtk.options

from selenium.webdriver.common.options import ArgOptions -
[docs]class Options(ArgOptions): - KEY = "webkitgtk:browserOptions" +
+[docs] +class Options(ArgOptions): + KEY = "webkitgtk:browserOptions" def __init__(self) -> None: super().__init__() - self._binary_location = "" + self._binary_location = "" self._overlay_scrollbars_enabled = True @property def binary_location(self) -> str: - """:Returns: The location of the browser binary otherwise an empty - string.""" + """:Returns: The location of the browser binary otherwise an empty + string.""" return self._binary_location @binary_location.setter def binary_location(self, value: str) -> None: - """Allows you to set the browser binary to launch. + """Allows you to set the browser binary to launch. :Args: - value : path to the browser binary - """ + """ self._binary_location = value @property def overlay_scrollbars_enabled(self): - """:Returns: Whether overlay scrollbars should be enabled.""" + """:Returns: Whether overlay scrollbars should be enabled.""" return self._overlay_scrollbars_enabled @overlay_scrollbars_enabled.setter def overlay_scrollbars_enabled(self, value) -> None: - """Allows you to enable or disable overlay scrollbars. + """Allows you to enable or disable overlay scrollbars. :Args: - value : True or False - """ + """ self._overlay_scrollbars_enabled = value -
[docs] def to_capabilities(self): - """Creates a capabilities with all the options that have been set and - returns a dictionary with everything.""" +
+[docs] + def to_capabilities(self): + """Creates a capabilities with all the options that have been set and + returns a dictionary with everything.""" caps = self._caps browser_options = {} if self.binary_location: - browser_options["binary"] = self.binary_location + browser_options["binary"] = self.binary_location if self.arguments: - browser_options["args"] = self.arguments - browser_options["useOverlayScrollbars"] = self.overlay_scrollbars_enabled + browser_options["args"] = self.arguments + browser_options["useOverlayScrollbars"] = self.overlay_scrollbars_enabled caps[Options.KEY] = browser_options return caps
+ @property def default_capabilities(self): return DesiredCapabilities.WEBKITGTK.copy()
+
-
-
+
-
+
+ + + \ No newline at end of file diff --git a/docs/api/py/_modules/selenium/webdriver/webkitgtk/service.html b/docs/api/py/_modules/selenium/webdriver/webkitgtk/service.html index 7701de39372ea..697241b05a52e 100644 --- a/docs/api/py/_modules/selenium/webdriver/webkitgtk/service.html +++ b/docs/api/py/_modules/selenium/webdriver/webkitgtk/service.html @@ -1,54 +1,210 @@ - + - selenium.webdriver.webkitgtk.service — Selenium 4.29.0.202501201850 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + selenium.webdriver.webkitgtk.service — Selenium 4.30.0 documentation - + + + + + + + + + + + + + + + + + + + + + + + + Skip to content +
+ +
+ + +
- - - - - - - + +
+
+ +
+
+ +
+
+
+
+
+ + +
+
+
+ +
+
-

Source code for selenium.webdriver.webkitgtk.service

+  

Source code for selenium.webdriver.webkitgtk.service

 # Licensed to the Software Freedom Conservancy (SFC) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
 # regarding copyright ownership.  The SFC licenses this file
 # to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
+# "License"); you may not use this file except in compliance
 # with the License.  You may obtain a copy of the License at
 #
 #   http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing,
 # software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
@@ -60,11 +216,13 @@ 

Source code for selenium.webdriver.webkitgtk.service

from selenium.webdriver.common import service -DEFAULT_EXECUTABLE_PATH: str = shutil.which("WebKitWebDriver") +DEFAULT_EXECUTABLE_PATH: str = shutil.which("WebKitWebDriver") -
[docs]class Service(service.Service): - """A Service class that is responsible for the starting and stopping of +
+[docs] +class Service(service.Service): + """A Service class that is responsible for the starting and stopping of `WebKitWebDriver`. :param executable_path: install path of the WebKitWebDriver executable, defaults to the first `WebKitWebDriver` in `$PATH`. @@ -72,7 +230,7 @@

Source code for selenium.webdriver.webkitgtk.service

:param service_args: (Optional) List of args to be passed to the subprocess when launching the executable. :param log_output: (Optional) File path for the file to be opened and passed as the subprocess stdout/stderr handler. :param env: (Optional) Mapping of environment variables for the new process, defaults to `os.environ`. - """ + """ def __init__( self, @@ -86,9 +244,9 @@

Source code for selenium.webdriver.webkitgtk.service

) -> None: self.service_args = service_args or [] if log_path is not None: - warnings.warn("log_path is deprecated, use log_output instead", DeprecationWarning, stacklevel=2) - log_path = open(log_path, "wb") - log_output = open(log_output, "wb") if log_output else None + warnings.warn("log_path is deprecated, use log_output instead", DeprecationWarning, stacklevel=2) + log_path = open(log_path, "wb") + log_output = open(log_output, "wb") if log_output else None super().__init__( executable_path=executable_path, port=port, @@ -97,46 +255,40 @@

Source code for selenium.webdriver.webkitgtk.service

**kwargs, ) -
[docs] def command_line_args(self) -> List[str]: - return ["-p", f"{self.port}"] + self.service_args
+
+[docs] + def command_line_args(self) -> List[str]: + return ["-p", f"{self.port}"] + self.service_args
+
+
-
-
+
-
+
+ + + \ No newline at end of file diff --git a/docs/api/py/_modules/selenium/webdriver/webkitgtk/webdriver.html b/docs/api/py/_modules/selenium/webdriver/webkitgtk/webdriver.html index 2550a272f7bf6..6a4f680e2e725 100644 --- a/docs/api/py/_modules/selenium/webdriver/webkitgtk/webdriver.html +++ b/docs/api/py/_modules/selenium/webdriver/webkitgtk/webdriver.html @@ -1,54 +1,210 @@ - + - selenium.webdriver.webkitgtk.webdriver — Selenium 4.29.0.202501201850 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + selenium.webdriver.webkitgtk.webdriver — Selenium 4.30.0 documentation - + + + + + + + + + + + + + + + + + + + + + + + + Skip to content +
+ +
+ + +
- - - - - - - + +
+
+ +
+
+ +
+
+
+
+
+ + +
+
+
+ +
+
-

Source code for selenium.webdriver.webkitgtk.webdriver

+  

Source code for selenium.webdriver.webkitgtk.webdriver

 # Licensed to the Software Freedom Conservancy (SFC) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
 # regarding copyright ownership.  The SFC licenses this file
 # to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
+# "License"); you may not use this file except in compliance
 # with the License.  You may obtain a copy of the License at
 #
 #   http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing,
 # software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
@@ -62,22 +218,24 @@ 

Source code for selenium.webdriver.webkitgtk.webdriver

from .service import Service -
[docs]class WebDriver(RemoteWebDriver): - """Controls the WebKitGTKDriver and allows you to drive the browser.""" +
+[docs] +class WebDriver(RemoteWebDriver): + """Controls the WebKitGTKDriver and allows you to drive the browser.""" def __init__( self, options=None, service: Service = None, ): - """Creates a new instance of the WebKitGTK driver. + """Creates a new instance of the WebKitGTK driver. Starts the service and then creates new instance of WebKitGTK Driver. :Args: - options : an instance of WebKitGTKOptions - service : Service object for handling the browser driver if you need to pass extra details - """ + """ options = options if options else Options() self.service = service if service else Service() @@ -87,53 +245,47 @@

Source code for selenium.webdriver.webkitgtk.webdriver

super().__init__(command_executor=self.service.service_url, options=options) self._is_remote = False -
[docs] def quit(self): - """Closes the browser and shuts down the WebKitGTKDriver executable - that is started when starting the WebKitGTKDriver.""" +
+[docs] + def quit(self): + """Closes the browser and shuts down the WebKitGTKDriver executable + that is started when starting the WebKitGTKDriver.""" try: super().quit() except http_client.BadStatusLine: pass finally: - self.service.stop()
+ self.service.stop()
+
+
-
-
+
-
+
+ + + \ No newline at end of file diff --git a/docs/api/py/_modules/selenium/webdriver/wpewebkit/options.html b/docs/api/py/_modules/selenium/webdriver/wpewebkit/options.html index 956d63e0640a9..1678dad20b156 100644 --- a/docs/api/py/_modules/selenium/webdriver/wpewebkit/options.html +++ b/docs/api/py/_modules/selenium/webdriver/wpewebkit/options.html @@ -1,54 +1,210 @@ - + - selenium.webdriver.wpewebkit.options — Selenium 4.29.0.202501201850 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + selenium.webdriver.wpewebkit.options — Selenium 4.30.0 documentation - + + + + + + + + + + + + + + + + + + + + + + + + Skip to content +
+ +
+ + +
- - - - - - - + +
+
+ +
+
+ +
+
+
+
+
+ + +
+
+
+ +
+
-

Source code for selenium.webdriver.wpewebkit.options

+  

Source code for selenium.webdriver.wpewebkit.options

 # Licensed to the Software Freedom Conservancy (SFC) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
 # regarding copyright ownership.  The SFC licenses this file
 # to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
+# "License"); you may not use this file except in compliance
 # with the License.  You may obtain a copy of the License at
 #
 #   http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing,
 # software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
@@ -59,86 +215,82 @@ 

Source code for selenium.webdriver.wpewebkit.options

from selenium.webdriver.common.options import ArgOptions -
[docs]class Options(ArgOptions): - KEY = "wpe:browserOptions" +
+[docs] +class Options(ArgOptions): + KEY = "wpe:browserOptions" def __init__(self) -> None: super().__init__() - self._binary_location = "" + self._binary_location = "" @property def binary_location(self) -> str: - """Returns the location of the browser binary otherwise an empty - string.""" + """Returns the location of the browser binary otherwise an empty + string.""" return self._binary_location @binary_location.setter def binary_location(self, value: str) -> None: - """Allows you to set the browser binary to launch. + """Allows you to set the browser binary to launch. :Args: - value : path to the browser binary - """ + """ if not isinstance(value, str): raise TypeError(self.BINARY_LOCATION_ERROR) self._binary_location = value -
[docs] def to_capabilities(self): - """Creates a capabilities with all the options that have been set and - returns a dictionary with everything.""" +
+[docs] + def to_capabilities(self): + """Creates a capabilities with all the options that have been set and + returns a dictionary with everything.""" caps = self._caps browser_options = {} if self.binary_location: - browser_options["binary"] = self.binary_location + browser_options["binary"] = self.binary_location if self.arguments: - browser_options["args"] = self.arguments + browser_options["args"] = self.arguments caps[Options.KEY] = browser_options return caps
+ @property def default_capabilities(self) -> Dict[str, str]: return DesiredCapabilities.WPEWEBKIT.copy()
+
-
-
+
-
+
+ + + \ No newline at end of file diff --git a/docs/api/py/_modules/selenium/webdriver/wpewebkit/service.html b/docs/api/py/_modules/selenium/webdriver/wpewebkit/service.html index ea6b4794ea605..f930b50e0dd77 100644 --- a/docs/api/py/_modules/selenium/webdriver/wpewebkit/service.html +++ b/docs/api/py/_modules/selenium/webdriver/wpewebkit/service.html @@ -1,54 +1,210 @@ - + - selenium.webdriver.wpewebkit.service — Selenium 4.29.0.202501201850 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + selenium.webdriver.wpewebkit.service — Selenium 4.30.0 documentation - + + + + + + + + + + + + + + + + + + + + + + + + Skip to content +
+ +
+ + +
- - - - - - - + +
+
+ +
+
+ +
+
+
+
+
+ + +
+
+
+ +
+
-

Source code for selenium.webdriver.wpewebkit.service

+  

Source code for selenium.webdriver.wpewebkit.service

 # Licensed to the Software Freedom Conservancy (SFC) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
 # regarding copyright ownership.  The SFC licenses this file
 # to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
+# "License"); you may not use this file except in compliance
 # with the License.  You may obtain a copy of the License at
 #
 #   http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing,
 # software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
@@ -59,11 +215,13 @@ 

Source code for selenium.webdriver.wpewebkit.service

from selenium.webdriver.common import service -DEFAULT_EXECUTABLE_PATH = shutil.which("WPEWebDriver") +DEFAULT_EXECUTABLE_PATH = shutil.which("WPEWebDriver") -
[docs]class Service(service.Service): - """A Service class that is responsible for the starting and stopping of +
+[docs] +class Service(service.Service): + """A Service class that is responsible for the starting and stopping of `WPEWebDriver`. :param executable_path: install path of the WPEWebDriver executable, defaults to the first `WPEWebDriver` in `$PATH`. @@ -71,7 +229,7 @@

Source code for selenium.webdriver.wpewebkit.service

:param service_args: (Optional) List of args to be passed to the subprocess when launching the executable. :param log_output: (Optional) File path for the file to be opened and passed as the subprocess stdout/stderr handler. :param env: (Optional) Mapping of environment variables for the new process, defaults to `os.environ`. - """ + """ def __init__( self, @@ -91,46 +249,40 @@

Source code for selenium.webdriver.wpewebkit.service

**kwargs, ) -
[docs] def command_line_args(self) -> List[str]: - return ["-p", f"{self.port}"] + self.service_args
+
+[docs] + def command_line_args(self) -> List[str]: + return ["-p", f"{self.port}"] + self.service_args
+
+
-
-
+
-
+
+ + + \ No newline at end of file diff --git a/docs/api/py/_modules/selenium/webdriver/wpewebkit/webdriver.html b/docs/api/py/_modules/selenium/webdriver/wpewebkit/webdriver.html index 44109cdda9d04..d59ed05109881 100644 --- a/docs/api/py/_modules/selenium/webdriver/wpewebkit/webdriver.html +++ b/docs/api/py/_modules/selenium/webdriver/wpewebkit/webdriver.html @@ -1,54 +1,210 @@ - + - selenium.webdriver.wpewebkit.webdriver — Selenium 4.29.0.202501201850 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + selenium.webdriver.wpewebkit.webdriver — Selenium 4.30.0 documentation - + + + + + + + + + + + + + + + + + + + + + + + + Skip to content +
+ +
+ + +
- - - - - - - + +
+
+ +
+
+ +
+
+
+
+
+ + +
+
+
+ +
+
-

Source code for selenium.webdriver.wpewebkit.webdriver

+  

Source code for selenium.webdriver.wpewebkit.webdriver

 # Licensed to the Software Freedom Conservancy (SFC) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
 # regarding copyright ownership.  The SFC licenses this file
 # to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
+# "License"); you may not use this file except in compliance
 # with the License.  You may obtain a copy of the License at
 #
 #   http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing,
 # software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
@@ -62,22 +218,24 @@ 

Source code for selenium.webdriver.wpewebkit.webdriver

from .service import Service -
[docs]class WebDriver(RemoteWebDriver): - """Controls the WPEWebKitDriver and allows you to drive the browser.""" +
+[docs] +class WebDriver(RemoteWebDriver): + """Controls the WPEWebKitDriver and allows you to drive the browser.""" def __init__( self, options=None, service: Service = None, ): - """Creates a new instance of the WPEWebKit driver. + """Creates a new instance of the WPEWebKit driver. Starts the service and then creates new instance of WPEWebKit Driver. :Args: - options : an instance of ``WPEWebKitOptions`` - service : Service object for handling the browser driver if you need to pass extra details - """ + """ options = options if options else Options() self.service = service if service else Service() @@ -87,53 +245,47 @@

Source code for selenium.webdriver.wpewebkit.webdriver

super().__init__(command_executor=self.service.service_url, options=options) self._is_remote = False -
[docs] def quit(self): - """Closes the browser and shuts down the WPEWebKitDriver executable - that is started when starting the WPEWebKitDriver.""" +
+[docs] + def quit(self): + """Closes the browser and shuts down the WPEWebKitDriver executable + that is started when starting the WPEWebKitDriver.""" try: super().quit() except http_client.BadStatusLine: pass finally: - self.service.stop()
+ self.service.stop()
+
+
-
-
+
-
+
+ + + \ No newline at end of file diff --git a/docs/api/py/_sources/common/selenium.common.exceptions.rst.txt b/docs/api/py/_sources/common/selenium.common.exceptions.rst.txt index e8456ff36f090..d5075406a938c 100644 --- a/docs/api/py/_sources/common/selenium.common.exceptions.rst.txt +++ b/docs/api/py/_sources/common/selenium.common.exceptions.rst.txt @@ -4,19 +4,6 @@ selenium.common.exceptions .. automodule:: selenium.common.exceptions - - - - - - - - - - - - - .. rubric:: Exceptions .. autosummary:: @@ -55,8 +42,4 @@ selenium.common.exceptions UnexpectedTagNameException UnknownMethodException WebDriverException - - - - - + \ No newline at end of file diff --git a/docs/api/py/_sources/index.rst.txt b/docs/api/py/_sources/index.rst.txt index 2133a11e05949..e29e108349845 100644 --- a/docs/api/py/_sources/index.rst.txt +++ b/docs/api/py/_sources/index.rst.txt @@ -14,12 +14,14 @@ The `selenium` package is used to automate web browser interaction from Python. +-----------------+--------------------------------------------------------------------------------------+ | **GitHub**: | https://github.com/SeleniumHQ/Selenium | +-----------------+--------------------------------------------------------------------------------------+ -| **PyPI**: | https://pypi.org/project/selenium/ | +| **PyPI**: | https://pypi.org/project/selenium | ++-----------------+--------------------------------------------------------------------------------------+ +| **API Docs**: | https://selenium.dev/selenium/docs/api/py/api.html | +-----------------+--------------------------------------------------------------------------------------+ | **IRC/Slack**: | `Selenium chat room `_ | +-----------------+--------------------------------------------------------------------------------------+ -Several browsers/drivers are supported (Firefox, Chrome, Internet Explorer), as well as the Remote protocol. +Several browsers/drivers are supported (Firefox, Chrome, Edge, Safari), as well as the Remote protocol. Supported Python Versions ========================= @@ -33,21 +35,22 @@ If you have `pip `_ on your system, you can simply install pip install -U selenium -Alternately, you can download the source distribution from `PyPI `, unarchive it, and run:: - - python -m pip install . - -Note: You may want to consider using `virtualenv `_ to create isolated Python environments. +You may want to consider using a `virtual environment `_ +to create isolated Python environments. Drivers ======= -Selenium requires a driver to interface with the chosen browser. Firefox, -for example, requires `geckodriver `_, which needs to be installed before the below examples can be run. Make sure it's in your `PATH`, e. g., place it in `/usr/bin` or `/usr/local/bin`. +Selenium requires a driver to interface with the chosen browser (chromedriver, edgedriver, geckodriver, etc). -Failure to observe this step will give you an error `selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable needs to be in PATH.` +In older versions of Selenium, it was necessary to install and manage these drivers yourself. You had to make sure the driver +executable was available on your system `PATH`, or specified explicitly in code. Modern versions of Selenium handle browser and +driver installation for you with `Selenium Manager `_. You generally +don't have to worry about driver installation or configuration now that it's done for you when you instantiate a WebDriver. +Selenium Manager works with most supported platforms and browsers. If it doesn't meet your needs, you can still install and +specify browsers and drivers yourself. -Other supported browsers will have their own drivers available. Links to some of the more popular browser drivers follow. +Links to some of the more popular browser drivers: +--------------+-----------------------------------------------------------------------+ | **Chrome**: | https://chromedriver.chromium.org/downloads | @@ -62,59 +65,65 @@ Other supported browsers will have their own drivers available. Links to some of Example 0: ========== -* open a new Firefox browser -* load the page at the given URL +* launch a new Chrome browser +* load a web page +* close the browser .. code-block:: python from selenium import webdriver - browser = webdriver.Firefox() - browser.get('http://selenium.dev/') + + driver = webdriver.Chrome() + driver.get('https://selenium.dev/') + driver.quit() Example 1: ========== -* open a new Firefox browser -* load the Yahoo homepage -* search for "seleniumhq" +* launch a new Chrome browser +* load the Selenium documentation page +* find the "Webdriver" link +* click the "WebDriver" link * close the browser .. code-block:: python from selenium import webdriver from selenium.webdriver.common.by import By - from selenium.webdriver.common.keys import Keys - browser = webdriver.Firefox() - browser.get('http://www.yahoo.com') - assert 'Yahoo' in browser.title + driver = webdriver.Chrome() + + driver.get('https://selenium.dev/documentation') + assert 'Selenium' in driver.title - elem = browser.find_element(By.NAME, 'p') # Find the search box - elem.send_keys('seleniumhq' + Keys.RETURN) + elem = driver.find_element(By.ID, 'm-documentationwebdriver') + elem.click() + assert 'WebDriver' in driver.title - browser.quit() + driver.quit() Example 2: ========== -Selenium WebDriver is often used as a basis for testing web applications. Here is a simple example using Python's standard `unittest `_ library: +Selenium WebDriver is often used as a basis for testing web applications. Here is a simple example using Python's standard `unittest `_ library: .. code-block:: python import unittest from selenium import webdriver + class GoogleTestCase(unittest.TestCase): def setUp(self): - self.browser = webdriver.Firefox() - self.addCleanup(self.browser.quit) + self.driver = webdriver.Firefox() + self.addCleanup(self.driver.quit) def test_page_title(self): - self.browser.get('http://www.google.com') - self.assertIn('Google', self.browser.title) + self.driver.get('https://www.google.com') + self.assertIn('Google', self.driver.title) if __name__ == '__main__': unittest.main(verbosity=2) @@ -143,9 +152,9 @@ Contributing - Create a branch for your work - Ensure `tox` is installed (using a `virtualenv` is recommended) - - `python3.8 -m venv .venv && . .venv/bin/activate && pip install tox` + - Run: `python -m venv venv && source venv/bin/activate && pip install tox` - After making changes, before committing execute `tox -e linting` - - If tox exits `0`, commit and push otherwise fix the newly introduced breakages. + - If tox exits `0`, commit and push. Otherwise fix the newly introduced style violations. - `flake8` requires manual fixes - - `black` will often rewrite the breakages automatically, however the files are unstaged and should staged again. - - `isort` will often rewrite the breakages automatically, however the files are unstaged and should staged again. + - `black` will rewrite the violations automatically, however the files are unstaged and should staged again. + - `isort` will rewrite the violations automatically, however the files are unstaged and should staged again. diff --git a/docs/api/py/_sources/webdriver/selenium.webdriver.common.action_chains.rst.txt b/docs/api/py/_sources/webdriver/selenium.webdriver.common.action_chains.rst.txt index 8535d1512c97b..cae140b36dbf3 100644 --- a/docs/api/py/_sources/webdriver/selenium.webdriver.common.action_chains.rst.txt +++ b/docs/api/py/_sources/webdriver/selenium.webdriver.common.action_chains.rst.txt @@ -4,26 +4,9 @@ selenium.webdriver.common.action\_chains .. automodule:: selenium.webdriver.common.action_chains - - - - - - - - - .. rubric:: Classes .. autosummary:: ActionChains - - - - - - - - - + \ No newline at end of file diff --git a/docs/api/py/_sources/webdriver/selenium.webdriver.common.actions.action_builder.rst.txt b/docs/api/py/_sources/webdriver/selenium.webdriver.common.actions.action_builder.rst.txt index 561bd4b491a85..97fc0f346e253 100644 --- a/docs/api/py/_sources/webdriver/selenium.webdriver.common.actions.action_builder.rst.txt +++ b/docs/api/py/_sources/webdriver/selenium.webdriver.common.actions.action_builder.rst.txt @@ -4,26 +4,9 @@ selenium.webdriver.common.actions.action\_builder .. automodule:: selenium.webdriver.common.actions.action_builder - - - - - - - - - .. rubric:: Classes .. autosummary:: ActionBuilder - - - - - - - - - + \ No newline at end of file diff --git a/docs/api/py/_sources/webdriver/selenium.webdriver.common.actions.input_device.rst.txt b/docs/api/py/_sources/webdriver/selenium.webdriver.common.actions.input_device.rst.txt index d412f70bbc58f..6abcca14760d3 100644 --- a/docs/api/py/_sources/webdriver/selenium.webdriver.common.actions.input_device.rst.txt +++ b/docs/api/py/_sources/webdriver/selenium.webdriver.common.actions.input_device.rst.txt @@ -4,26 +4,9 @@ selenium.webdriver.common.actions.input\_device .. automodule:: selenium.webdriver.common.actions.input_device - - - - - - - - - .. rubric:: Classes .. autosummary:: InputDevice - - - - - - - - - + \ No newline at end of file diff --git a/docs/api/py/_sources/webdriver/selenium.webdriver.common.actions.interaction.rst.txt b/docs/api/py/_sources/webdriver/selenium.webdriver.common.actions.interaction.rst.txt index 60b05c4c6a7f7..df48964610669 100644 --- a/docs/api/py/_sources/webdriver/selenium.webdriver.common.actions.interaction.rst.txt +++ b/docs/api/py/_sources/webdriver/selenium.webdriver.common.actions.interaction.rst.txt @@ -4,27 +4,10 @@ selenium.webdriver.common.actions.interaction .. automodule:: selenium.webdriver.common.actions.interaction - - - - - - - - - .. rubric:: Classes .. autosummary:: Interaction Pause - - - - - - - - - + \ No newline at end of file diff --git a/docs/api/py/_sources/webdriver/selenium.webdriver.common.actions.key_actions.rst.txt b/docs/api/py/_sources/webdriver/selenium.webdriver.common.actions.key_actions.rst.txt index f87ee6b933177..0f9b6efe14eb0 100644 --- a/docs/api/py/_sources/webdriver/selenium.webdriver.common.actions.key_actions.rst.txt +++ b/docs/api/py/_sources/webdriver/selenium.webdriver.common.actions.key_actions.rst.txt @@ -4,26 +4,9 @@ selenium.webdriver.common.actions.key\_actions .. automodule:: selenium.webdriver.common.actions.key_actions - - - - - - - - - .. rubric:: Classes .. autosummary:: KeyActions - - - - - - - - - + \ No newline at end of file diff --git a/docs/api/py/_sources/webdriver/selenium.webdriver.common.actions.key_input.rst.txt b/docs/api/py/_sources/webdriver/selenium.webdriver.common.actions.key_input.rst.txt index a951d76ab89b6..fe297b5bdfb4a 100644 --- a/docs/api/py/_sources/webdriver/selenium.webdriver.common.actions.key_input.rst.txt +++ b/docs/api/py/_sources/webdriver/selenium.webdriver.common.actions.key_input.rst.txt @@ -4,27 +4,10 @@ selenium.webdriver.common.actions.key\_input .. automodule:: selenium.webdriver.common.actions.key_input - - - - - - - - - .. rubric:: Classes .. autosummary:: KeyInput TypingInteraction - - - - - - - - - + \ No newline at end of file diff --git a/docs/api/py/_sources/webdriver/selenium.webdriver.common.actions.mouse_button.rst.txt b/docs/api/py/_sources/webdriver/selenium.webdriver.common.actions.mouse_button.rst.txt index ac97ade46a5b2..f1c413d9c256e 100644 --- a/docs/api/py/_sources/webdriver/selenium.webdriver.common.actions.mouse_button.rst.txt +++ b/docs/api/py/_sources/webdriver/selenium.webdriver.common.actions.mouse_button.rst.txt @@ -4,26 +4,9 @@ selenium.webdriver.common.actions.mouse\_button .. automodule:: selenium.webdriver.common.actions.mouse_button - - - - - - - - - .. rubric:: Classes .. autosummary:: MouseButton - - - - - - - - - + \ No newline at end of file diff --git a/docs/api/py/_sources/webdriver/selenium.webdriver.common.actions.pointer_actions.rst.txt b/docs/api/py/_sources/webdriver/selenium.webdriver.common.actions.pointer_actions.rst.txt index 955b4661feaa2..3db524c4c4bbc 100644 --- a/docs/api/py/_sources/webdriver/selenium.webdriver.common.actions.pointer_actions.rst.txt +++ b/docs/api/py/_sources/webdriver/selenium.webdriver.common.actions.pointer_actions.rst.txt @@ -4,26 +4,9 @@ selenium.webdriver.common.actions.pointer\_actions .. automodule:: selenium.webdriver.common.actions.pointer_actions - - - - - - - - - .. rubric:: Classes .. autosummary:: PointerActions - - - - - - - - - + \ No newline at end of file diff --git a/docs/api/py/_sources/webdriver/selenium.webdriver.common.actions.pointer_input.rst.txt b/docs/api/py/_sources/webdriver/selenium.webdriver.common.actions.pointer_input.rst.txt index 4ba365486099c..dd585ba9ff865 100644 --- a/docs/api/py/_sources/webdriver/selenium.webdriver.common.actions.pointer_input.rst.txt +++ b/docs/api/py/_sources/webdriver/selenium.webdriver.common.actions.pointer_input.rst.txt @@ -4,26 +4,9 @@ selenium.webdriver.common.actions.pointer\_input .. automodule:: selenium.webdriver.common.actions.pointer_input - - - - - - - - - .. rubric:: Classes .. autosummary:: PointerInput - - - - - - - - - + \ No newline at end of file diff --git a/docs/api/py/_sources/webdriver/selenium.webdriver.common.actions.wheel_actions.rst.txt b/docs/api/py/_sources/webdriver/selenium.webdriver.common.actions.wheel_actions.rst.txt index 0d760ed9cce53..6ccc483debb36 100644 --- a/docs/api/py/_sources/webdriver/selenium.webdriver.common.actions.wheel_actions.rst.txt +++ b/docs/api/py/_sources/webdriver/selenium.webdriver.common.actions.wheel_actions.rst.txt @@ -4,26 +4,9 @@ selenium.webdriver.common.actions.wheel\_actions .. automodule:: selenium.webdriver.common.actions.wheel_actions - - - - - - - - - .. rubric:: Classes .. autosummary:: WheelActions - - - - - - - - - + \ No newline at end of file diff --git a/docs/api/py/_sources/webdriver/selenium.webdriver.common.actions.wheel_input.rst.txt b/docs/api/py/_sources/webdriver/selenium.webdriver.common.actions.wheel_input.rst.txt index 0694cb992b6b9..7aed1206f3ee1 100644 --- a/docs/api/py/_sources/webdriver/selenium.webdriver.common.actions.wheel_input.rst.txt +++ b/docs/api/py/_sources/webdriver/selenium.webdriver.common.actions.wheel_input.rst.txt @@ -4,27 +4,10 @@ selenium.webdriver.common.actions.wheel\_input .. automodule:: selenium.webdriver.common.actions.wheel_input - - - - - - - - - .. rubric:: Classes .. autosummary:: ScrollOrigin WheelInput - - - - - - - - - + \ No newline at end of file diff --git a/docs/api/py/_sources/webdriver/selenium.webdriver.common.alert.rst.txt b/docs/api/py/_sources/webdriver/selenium.webdriver.common.alert.rst.txt index afb8083b6b4c4..657baa76d3e5c 100644 --- a/docs/api/py/_sources/webdriver/selenium.webdriver.common.alert.rst.txt +++ b/docs/api/py/_sources/webdriver/selenium.webdriver.common.alert.rst.txt @@ -4,26 +4,9 @@ selenium.webdriver.common.alert .. automodule:: selenium.webdriver.common.alert - - - - - - - - - .. rubric:: Classes .. autosummary:: Alert - - - - - - - - - + \ No newline at end of file diff --git a/docs/api/py/_sources/webdriver/selenium.webdriver.common.bidi.cdp.rst.txt b/docs/api/py/_sources/webdriver/selenium.webdriver.common.bidi.cdp.rst.txt index c71aa6f95aa55..cd5dd3b88ac51 100644 --- a/docs/api/py/_sources/webdriver/selenium.webdriver.common.bidi.cdp.rst.txt +++ b/docs/api/py/_sources/webdriver/selenium.webdriver.common.bidi.cdp.rst.txt @@ -4,11 +4,6 @@ selenium.webdriver.common.bidi.cdp .. automodule:: selenium.webdriver.common.bidi.cdp - - - - - .. rubric:: Functions .. autosummary:: @@ -23,10 +18,6 @@ selenium.webdriver.common.bidi.cdp set_global_connection set_global_session - - - - .. rubric:: Classes .. autosummary:: @@ -36,10 +27,6 @@ selenium.webdriver.common.bidi.cdp CdpSession CmEventProxy - - - - .. rubric:: Exceptions .. autosummary:: @@ -47,8 +34,4 @@ selenium.webdriver.common.bidi.cdp BrowserError CdpConnectionClosed InternalError - - - - - + \ No newline at end of file diff --git a/docs/api/py/_sources/webdriver/selenium.webdriver.common.bidi.console.rst.txt b/docs/api/py/_sources/webdriver/selenium.webdriver.common.bidi.console.rst.txt index dd0ed5bca0af8..71217990be91d 100644 --- a/docs/api/py/_sources/webdriver/selenium.webdriver.common.bidi.console.rst.txt +++ b/docs/api/py/_sources/webdriver/selenium.webdriver.common.bidi.console.rst.txt @@ -4,26 +4,9 @@ selenium.webdriver.common.bidi.console .. automodule:: selenium.webdriver.common.bidi.console - - - - - - - - - .. rubric:: Classes .. autosummary:: Console - - - - - - - - - + \ No newline at end of file diff --git a/docs/api/py/_sources/webdriver/selenium.webdriver.common.bidi.script.rst.txt b/docs/api/py/_sources/webdriver/selenium.webdriver.common.bidi.script.rst.txt index 1bfd13e676dbf..3f64daa65a428 100644 --- a/docs/api/py/_sources/webdriver/selenium.webdriver.common.bidi.script.rst.txt +++ b/docs/api/py/_sources/webdriver/selenium.webdriver.common.bidi.script.rst.txt @@ -4,15 +4,6 @@ selenium.webdriver.common.bidi.script .. automodule:: selenium.webdriver.common.bidi.script - - - - - - - - - .. rubric:: Classes .. autosummary:: @@ -21,12 +12,4 @@ selenium.webdriver.common.bidi.script JavaScriptLogEntry LogEntryAdded Script - - - - - - - - - + \ No newline at end of file diff --git a/docs/api/py/_sources/webdriver/selenium.webdriver.common.bidi.session.rst.txt b/docs/api/py/_sources/webdriver/selenium.webdriver.common.bidi.session.rst.txt index 4b9be78d1a341..51117189705a9 100644 --- a/docs/api/py/_sources/webdriver/selenium.webdriver.common.bidi.session.rst.txt +++ b/docs/api/py/_sources/webdriver/selenium.webdriver.common.bidi.session.rst.txt @@ -4,27 +4,10 @@ selenium.webdriver.common.bidi.session .. automodule:: selenium.webdriver.common.bidi.session - - - - - .. rubric:: Functions .. autosummary:: session_subscribe session_unsubscribe - - - - - - - - - - - - - + \ No newline at end of file diff --git a/docs/api/py/_sources/webdriver/selenium.webdriver.common.by.rst.txt b/docs/api/py/_sources/webdriver/selenium.webdriver.common.by.rst.txt index aec48babce992..dd201d4fca49d 100644 --- a/docs/api/py/_sources/webdriver/selenium.webdriver.common.by.rst.txt +++ b/docs/api/py/_sources/webdriver/selenium.webdriver.common.by.rst.txt @@ -4,26 +4,9 @@ selenium.webdriver.common.by .. automodule:: selenium.webdriver.common.by - - - - - - - - - .. rubric:: Classes .. autosummary:: By - - - - - - - - - + \ No newline at end of file diff --git a/docs/api/py/_sources/webdriver/selenium.webdriver.common.desired_capabilities.rst.txt b/docs/api/py/_sources/webdriver/selenium.webdriver.common.desired_capabilities.rst.txt index 3a418c1515be2..12276e3eaab3e 100644 --- a/docs/api/py/_sources/webdriver/selenium.webdriver.common.desired_capabilities.rst.txt +++ b/docs/api/py/_sources/webdriver/selenium.webdriver.common.desired_capabilities.rst.txt @@ -4,26 +4,9 @@ selenium.webdriver.common.desired\_capabilities .. automodule:: selenium.webdriver.common.desired_capabilities - - - - - - - - - .. rubric:: Classes .. autosummary:: DesiredCapabilities - - - - - - - - - + \ No newline at end of file diff --git a/docs/api/py/_sources/webdriver/selenium.webdriver.common.driver_finder.rst.txt b/docs/api/py/_sources/webdriver/selenium.webdriver.common.driver_finder.rst.txt index 66b71bc4209e3..a4b6017313fc1 100644 --- a/docs/api/py/_sources/webdriver/selenium.webdriver.common.driver_finder.rst.txt +++ b/docs/api/py/_sources/webdriver/selenium.webdriver.common.driver_finder.rst.txt @@ -4,26 +4,9 @@ selenium.webdriver.common.driver\_finder .. automodule:: selenium.webdriver.common.driver_finder - - - - - - - - - .. rubric:: Classes .. autosummary:: DriverFinder - - - - - - - - - + \ No newline at end of file diff --git a/docs/api/py/_sources/webdriver/selenium.webdriver.common.keys.rst.txt b/docs/api/py/_sources/webdriver/selenium.webdriver.common.keys.rst.txt index d645b18372ca3..5d07df80607b0 100644 --- a/docs/api/py/_sources/webdriver/selenium.webdriver.common.keys.rst.txt +++ b/docs/api/py/_sources/webdriver/selenium.webdriver.common.keys.rst.txt @@ -4,26 +4,9 @@ selenium.webdriver.common.keys .. automodule:: selenium.webdriver.common.keys - - - - - - - - - .. rubric:: Classes .. autosummary:: Keys - - - - - - - - - + \ No newline at end of file diff --git a/docs/api/py/_sources/webdriver/selenium.webdriver.common.log.rst.txt b/docs/api/py/_sources/webdriver/selenium.webdriver.common.log.rst.txt index 63ce857cf0823..4debf604cc550 100644 --- a/docs/api/py/_sources/webdriver/selenium.webdriver.common.log.rst.txt +++ b/docs/api/py/_sources/webdriver/selenium.webdriver.common.log.rst.txt @@ -4,32 +4,15 @@ selenium.webdriver.common.log .. automodule:: selenium.webdriver.common.log - - - - - .. rubric:: Functions .. autosummary:: import_cdp - - - - .. rubric:: Classes .. autosummary:: Log - - - - - - - - - + \ No newline at end of file diff --git a/docs/api/py/_sources/webdriver/selenium.webdriver.common.options.rst.txt b/docs/api/py/_sources/webdriver/selenium.webdriver.common.options.rst.txt index b672fce952841..fd432045f55d8 100644 --- a/docs/api/py/_sources/webdriver/selenium.webdriver.common.options.rst.txt +++ b/docs/api/py/_sources/webdriver/selenium.webdriver.common.options.rst.txt @@ -4,15 +4,6 @@ selenium.webdriver.common.options .. automodule:: selenium.webdriver.common.options - - - - - - - - - .. rubric:: Classes .. autosummary:: @@ -20,12 +11,4 @@ selenium.webdriver.common.options ArgOptions BaseOptions PageLoadStrategy - - - - - - - - - + \ No newline at end of file diff --git a/docs/api/py/_sources/webdriver/selenium.webdriver.common.print_page_options.rst.txt b/docs/api/py/_sources/webdriver/selenium.webdriver.common.print_page_options.rst.txt index d3ccb00db56d7..b78ad2246a2ac 100644 --- a/docs/api/py/_sources/webdriver/selenium.webdriver.common.print_page_options.rst.txt +++ b/docs/api/py/_sources/webdriver/selenium.webdriver.common.print_page_options.rst.txt @@ -4,26 +4,9 @@ selenium.webdriver.common.print\_page\_options .. automodule:: selenium.webdriver.common.print_page_options - - - - - - - - - .. rubric:: Classes .. autosummary:: PrintOptions - - - - - - - - - + \ No newline at end of file diff --git a/docs/api/py/_sources/webdriver/selenium.webdriver.common.proxy.rst.txt b/docs/api/py/_sources/webdriver/selenium.webdriver.common.proxy.rst.txt index f1e5fc298a955..556cb39993c84 100644 --- a/docs/api/py/_sources/webdriver/selenium.webdriver.common.proxy.rst.txt +++ b/docs/api/py/_sources/webdriver/selenium.webdriver.common.proxy.rst.txt @@ -4,15 +4,6 @@ selenium.webdriver.common.proxy .. automodule:: selenium.webdriver.common.proxy - - - - - - - - - .. rubric:: Classes .. autosummary:: @@ -20,12 +11,4 @@ selenium.webdriver.common.proxy Proxy ProxyType ProxyTypeFactory - - - - - - - - - + \ No newline at end of file diff --git a/docs/api/py/_sources/webdriver/selenium.webdriver.common.selenium_manager.rst.txt b/docs/api/py/_sources/webdriver/selenium.webdriver.common.selenium_manager.rst.txt index 73f2cfa41f282..3a948f731325b 100644 --- a/docs/api/py/_sources/webdriver/selenium.webdriver.common.selenium_manager.rst.txt +++ b/docs/api/py/_sources/webdriver/selenium.webdriver.common.selenium_manager.rst.txt @@ -4,26 +4,9 @@ selenium.webdriver.common.selenium\_manager .. automodule:: selenium.webdriver.common.selenium_manager - - - - - - - - - .. rubric:: Classes .. autosummary:: SeleniumManager - - - - - - - - - + \ No newline at end of file diff --git a/docs/api/py/_sources/webdriver/selenium.webdriver.common.service.rst.txt b/docs/api/py/_sources/webdriver/selenium.webdriver.common.service.rst.txt index e4682c3ead6d4..08920b1cc27cc 100644 --- a/docs/api/py/_sources/webdriver/selenium.webdriver.common.service.rst.txt +++ b/docs/api/py/_sources/webdriver/selenium.webdriver.common.service.rst.txt @@ -4,26 +4,9 @@ selenium.webdriver.common.service .. automodule:: selenium.webdriver.common.service - - - - - - - - - .. rubric:: Classes .. autosummary:: Service - - - - - - - - - + \ No newline at end of file diff --git a/docs/api/py/_sources/webdriver/selenium.webdriver.common.timeouts.rst.txt b/docs/api/py/_sources/webdriver/selenium.webdriver.common.timeouts.rst.txt index 271ea93884ea5..36a746b5efebb 100644 --- a/docs/api/py/_sources/webdriver/selenium.webdriver.common.timeouts.rst.txt +++ b/docs/api/py/_sources/webdriver/selenium.webdriver.common.timeouts.rst.txt @@ -4,26 +4,9 @@ selenium.webdriver.common.timeouts .. automodule:: selenium.webdriver.common.timeouts - - - - - - - - - .. rubric:: Classes .. autosummary:: Timeouts - - - - - - - - - + \ No newline at end of file diff --git a/docs/api/py/_sources/webdriver/selenium.webdriver.common.utils.rst.txt b/docs/api/py/_sources/webdriver/selenium.webdriver.common.utils.rst.txt index bea8bba685a14..0142d6da55cca 100644 --- a/docs/api/py/_sources/webdriver/selenium.webdriver.common.utils.rst.txt +++ b/docs/api/py/_sources/webdriver/selenium.webdriver.common.utils.rst.txt @@ -4,11 +4,6 @@ selenium.webdriver.common.utils .. automodule:: selenium.webdriver.common.utils - - - - - .. rubric:: Functions .. autosummary:: @@ -19,16 +14,4 @@ selenium.webdriver.common.utils is_url_connectable join_host_port keys_to_typing - - - - - - - - - - - - - + \ No newline at end of file diff --git a/docs/api/py/_sources/webdriver/selenium.webdriver.common.virtual_authenticator.rst.txt b/docs/api/py/_sources/webdriver/selenium.webdriver.common.virtual_authenticator.rst.txt index a54bec0fd3405..1af862bc49219 100644 --- a/docs/api/py/_sources/webdriver/selenium.webdriver.common.virtual_authenticator.rst.txt +++ b/docs/api/py/_sources/webdriver/selenium.webdriver.common.virtual_authenticator.rst.txt @@ -4,11 +4,6 @@ selenium.webdriver.common.virtual\_authenticator .. automodule:: selenium.webdriver.common.virtual_authenticator - - - - - .. rubric:: Functions .. autosummary:: @@ -16,10 +11,6 @@ selenium.webdriver.common.virtual\_authenticator required_chromium_based_browser required_virtual_authenticator - - - - .. rubric:: Classes .. autosummary:: @@ -28,12 +19,4 @@ selenium.webdriver.common.virtual\_authenticator Protocol Transport VirtualAuthenticatorOptions - - - - - - - - - + \ No newline at end of file diff --git a/docs/api/py/_sources/webdriver/selenium.webdriver.common.window.rst.txt b/docs/api/py/_sources/webdriver/selenium.webdriver.common.window.rst.txt index 8a8ffcf6f5c1b..fbc829c247e75 100644 --- a/docs/api/py/_sources/webdriver/selenium.webdriver.common.window.rst.txt +++ b/docs/api/py/_sources/webdriver/selenium.webdriver.common.window.rst.txt @@ -4,26 +4,9 @@ selenium.webdriver.common.window .. automodule:: selenium.webdriver.common.window - - - - - - - - - .. rubric:: Classes .. autosummary:: WindowTypes - - - - - - - - - + \ No newline at end of file diff --git a/docs/api/py/_sources/webdriver_chrome/selenium.webdriver.chrome.options.rst.txt b/docs/api/py/_sources/webdriver_chrome/selenium.webdriver.chrome.options.rst.txt index cdaad4a8e912a..52906338c215a 100644 --- a/docs/api/py/_sources/webdriver_chrome/selenium.webdriver.chrome.options.rst.txt +++ b/docs/api/py/_sources/webdriver_chrome/selenium.webdriver.chrome.options.rst.txt @@ -4,26 +4,9 @@ selenium.webdriver.chrome.options .. automodule:: selenium.webdriver.chrome.options - - - - - - - - - .. rubric:: Classes .. autosummary:: Options - - - - - - - - - + \ No newline at end of file diff --git a/docs/api/py/_sources/webdriver_chrome/selenium.webdriver.chrome.remote_connection.rst.txt b/docs/api/py/_sources/webdriver_chrome/selenium.webdriver.chrome.remote_connection.rst.txt index 4f9770adc3116..943a7cfcec80f 100644 --- a/docs/api/py/_sources/webdriver_chrome/selenium.webdriver.chrome.remote_connection.rst.txt +++ b/docs/api/py/_sources/webdriver_chrome/selenium.webdriver.chrome.remote_connection.rst.txt @@ -4,26 +4,9 @@ selenium.webdriver.chrome.remote\_connection .. automodule:: selenium.webdriver.chrome.remote_connection - - - - - - - - - .. rubric:: Classes .. autosummary:: ChromeRemoteConnection - - - - - - - - - + \ No newline at end of file diff --git a/docs/api/py/_sources/webdriver_chrome/selenium.webdriver.chrome.service.rst.txt b/docs/api/py/_sources/webdriver_chrome/selenium.webdriver.chrome.service.rst.txt index b5cb2b64873ec..244b8258a82a9 100644 --- a/docs/api/py/_sources/webdriver_chrome/selenium.webdriver.chrome.service.rst.txt +++ b/docs/api/py/_sources/webdriver_chrome/selenium.webdriver.chrome.service.rst.txt @@ -4,26 +4,9 @@ selenium.webdriver.chrome.service .. automodule:: selenium.webdriver.chrome.service - - - - - - - - - .. rubric:: Classes .. autosummary:: Service - - - - - - - - - + \ No newline at end of file diff --git a/docs/api/py/_sources/webdriver_chrome/selenium.webdriver.chrome.webdriver.rst.txt b/docs/api/py/_sources/webdriver_chrome/selenium.webdriver.chrome.webdriver.rst.txt index c938e55b2f818..848f794fae3c4 100644 --- a/docs/api/py/_sources/webdriver_chrome/selenium.webdriver.chrome.webdriver.rst.txt +++ b/docs/api/py/_sources/webdriver_chrome/selenium.webdriver.chrome.webdriver.rst.txt @@ -4,26 +4,9 @@ selenium.webdriver.chrome.webdriver .. automodule:: selenium.webdriver.chrome.webdriver - - - - - - - - - .. rubric:: Classes .. autosummary:: WebDriver - - - - - - - - - + \ No newline at end of file diff --git a/docs/api/py/_sources/webdriver_chromium/selenium.webdriver.chromium.options.rst.txt b/docs/api/py/_sources/webdriver_chromium/selenium.webdriver.chromium.options.rst.txt index 058d37695dca5..4a991d85394f6 100644 --- a/docs/api/py/_sources/webdriver_chromium/selenium.webdriver.chromium.options.rst.txt +++ b/docs/api/py/_sources/webdriver_chromium/selenium.webdriver.chromium.options.rst.txt @@ -4,26 +4,9 @@ selenium.webdriver.chromium.options .. automodule:: selenium.webdriver.chromium.options - - - - - - - - - .. rubric:: Classes .. autosummary:: ChromiumOptions - - - - - - - - - + \ No newline at end of file diff --git a/docs/api/py/_sources/webdriver_chromium/selenium.webdriver.chromium.remote_connection.rst.txt b/docs/api/py/_sources/webdriver_chromium/selenium.webdriver.chromium.remote_connection.rst.txt index 3e902cc867f91..d3ee83ecffbee 100644 --- a/docs/api/py/_sources/webdriver_chromium/selenium.webdriver.chromium.remote_connection.rst.txt +++ b/docs/api/py/_sources/webdriver_chromium/selenium.webdriver.chromium.remote_connection.rst.txt @@ -4,26 +4,9 @@ selenium.webdriver.chromium.remote\_connection .. automodule:: selenium.webdriver.chromium.remote_connection - - - - - - - - - .. rubric:: Classes .. autosummary:: ChromiumRemoteConnection - - - - - - - - - + \ No newline at end of file diff --git a/docs/api/py/_sources/webdriver_chromium/selenium.webdriver.chromium.service.rst.txt b/docs/api/py/_sources/webdriver_chromium/selenium.webdriver.chromium.service.rst.txt index 106300eaf0899..6edb716130664 100644 --- a/docs/api/py/_sources/webdriver_chromium/selenium.webdriver.chromium.service.rst.txt +++ b/docs/api/py/_sources/webdriver_chromium/selenium.webdriver.chromium.service.rst.txt @@ -4,26 +4,9 @@ selenium.webdriver.chromium.service .. automodule:: selenium.webdriver.chromium.service - - - - - - - - - .. rubric:: Classes .. autosummary:: ChromiumService - - - - - - - - - + \ No newline at end of file diff --git a/docs/api/py/_sources/webdriver_chromium/selenium.webdriver.chromium.webdriver.rst.txt b/docs/api/py/_sources/webdriver_chromium/selenium.webdriver.chromium.webdriver.rst.txt index b2097a3985e99..755796555385c 100644 --- a/docs/api/py/_sources/webdriver_chromium/selenium.webdriver.chromium.webdriver.rst.txt +++ b/docs/api/py/_sources/webdriver_chromium/selenium.webdriver.chromium.webdriver.rst.txt @@ -4,26 +4,9 @@ selenium.webdriver.chromium.webdriver .. automodule:: selenium.webdriver.chromium.webdriver - - - - - - - - - .. rubric:: Classes .. autosummary:: ChromiumDriver - - - - - - - - - + \ No newline at end of file diff --git a/docs/api/py/_sources/webdriver_edge/selenium.webdriver.edge.options.rst.txt b/docs/api/py/_sources/webdriver_edge/selenium.webdriver.edge.options.rst.txt index 5d73fb7d6040f..8bf58ef412ca7 100644 --- a/docs/api/py/_sources/webdriver_edge/selenium.webdriver.edge.options.rst.txt +++ b/docs/api/py/_sources/webdriver_edge/selenium.webdriver.edge.options.rst.txt @@ -4,26 +4,9 @@ selenium.webdriver.edge.options .. automodule:: selenium.webdriver.edge.options - - - - - - - - - .. rubric:: Classes .. autosummary:: Options - - - - - - - - - + \ No newline at end of file diff --git a/docs/api/py/_sources/webdriver_edge/selenium.webdriver.edge.remote_connection.rst.txt b/docs/api/py/_sources/webdriver_edge/selenium.webdriver.edge.remote_connection.rst.txt index 4b1e6f2a78466..09fd931b926bb 100644 --- a/docs/api/py/_sources/webdriver_edge/selenium.webdriver.edge.remote_connection.rst.txt +++ b/docs/api/py/_sources/webdriver_edge/selenium.webdriver.edge.remote_connection.rst.txt @@ -4,26 +4,9 @@ selenium.webdriver.edge.remote\_connection .. automodule:: selenium.webdriver.edge.remote_connection - - - - - - - - - .. rubric:: Classes .. autosummary:: EdgeRemoteConnection - - - - - - - - - + \ No newline at end of file diff --git a/docs/api/py/_sources/webdriver_edge/selenium.webdriver.edge.service.rst.txt b/docs/api/py/_sources/webdriver_edge/selenium.webdriver.edge.service.rst.txt index d1a0c8b02fd19..1453f44606ce4 100644 --- a/docs/api/py/_sources/webdriver_edge/selenium.webdriver.edge.service.rst.txt +++ b/docs/api/py/_sources/webdriver_edge/selenium.webdriver.edge.service.rst.txt @@ -4,26 +4,9 @@ selenium.webdriver.edge.service .. automodule:: selenium.webdriver.edge.service - - - - - - - - - .. rubric:: Classes .. autosummary:: Service - - - - - - - - - + \ No newline at end of file diff --git a/docs/api/py/_sources/webdriver_edge/selenium.webdriver.edge.webdriver.rst.txt b/docs/api/py/_sources/webdriver_edge/selenium.webdriver.edge.webdriver.rst.txt index ea465c3cab11d..436847d255832 100644 --- a/docs/api/py/_sources/webdriver_edge/selenium.webdriver.edge.webdriver.rst.txt +++ b/docs/api/py/_sources/webdriver_edge/selenium.webdriver.edge.webdriver.rst.txt @@ -4,26 +4,9 @@ selenium.webdriver.edge.webdriver .. automodule:: selenium.webdriver.edge.webdriver - - - - - - - - - .. rubric:: Classes .. autosummary:: WebDriver - - - - - - - - - + \ No newline at end of file diff --git a/docs/api/py/_sources/webdriver_firefox/selenium.webdriver.firefox.firefox_binary.rst.txt b/docs/api/py/_sources/webdriver_firefox/selenium.webdriver.firefox.firefox_binary.rst.txt index 7d8ddb926279c..6532641fabb07 100644 --- a/docs/api/py/_sources/webdriver_firefox/selenium.webdriver.firefox.firefox_binary.rst.txt +++ b/docs/api/py/_sources/webdriver_firefox/selenium.webdriver.firefox.firefox_binary.rst.txt @@ -4,26 +4,9 @@ selenium.webdriver.firefox.firefox\_binary .. automodule:: selenium.webdriver.firefox.firefox_binary - - - - - - - - - .. rubric:: Classes .. autosummary:: FirefoxBinary - - - - - - - - - + \ No newline at end of file diff --git a/docs/api/py/_sources/webdriver_firefox/selenium.webdriver.firefox.firefox_profile.rst.txt b/docs/api/py/_sources/webdriver_firefox/selenium.webdriver.firefox.firefox_profile.rst.txt index 9bc44bb4ecb30..35eb657c9db2d 100644 --- a/docs/api/py/_sources/webdriver_firefox/selenium.webdriver.firefox.firefox_profile.rst.txt +++ b/docs/api/py/_sources/webdriver_firefox/selenium.webdriver.firefox.firefox_profile.rst.txt @@ -4,32 +4,15 @@ selenium.webdriver.firefox.firefox\_profile .. automodule:: selenium.webdriver.firefox.firefox_profile - - - - - - - - - .. rubric:: Classes .. autosummary:: FirefoxProfile - - - - .. rubric:: Exceptions .. autosummary:: AddonFormatError - - - - - + \ No newline at end of file diff --git a/docs/api/py/_sources/webdriver_firefox/selenium.webdriver.firefox.options.rst.txt b/docs/api/py/_sources/webdriver_firefox/selenium.webdriver.firefox.options.rst.txt index 5fb78ddc68a3b..abc44d31eac3a 100644 --- a/docs/api/py/_sources/webdriver_firefox/selenium.webdriver.firefox.options.rst.txt +++ b/docs/api/py/_sources/webdriver_firefox/selenium.webdriver.firefox.options.rst.txt @@ -4,27 +4,10 @@ selenium.webdriver.firefox.options .. automodule:: selenium.webdriver.firefox.options - - - - - - - - - .. rubric:: Classes .. autosummary:: Log Options - - - - - - - - - + \ No newline at end of file diff --git a/docs/api/py/_sources/webdriver_firefox/selenium.webdriver.firefox.remote_connection.rst.txt b/docs/api/py/_sources/webdriver_firefox/selenium.webdriver.firefox.remote_connection.rst.txt index 96653a24760e6..86f7693a5e42b 100644 --- a/docs/api/py/_sources/webdriver_firefox/selenium.webdriver.firefox.remote_connection.rst.txt +++ b/docs/api/py/_sources/webdriver_firefox/selenium.webdriver.firefox.remote_connection.rst.txt @@ -4,26 +4,9 @@ selenium.webdriver.firefox.remote\_connection .. automodule:: selenium.webdriver.firefox.remote_connection - - - - - - - - - .. rubric:: Classes .. autosummary:: FirefoxRemoteConnection - - - - - - - - - + \ No newline at end of file diff --git a/docs/api/py/_sources/webdriver_firefox/selenium.webdriver.firefox.service.rst.txt b/docs/api/py/_sources/webdriver_firefox/selenium.webdriver.firefox.service.rst.txt index 15d8ab06c7fd8..3b672bd95f63e 100644 --- a/docs/api/py/_sources/webdriver_firefox/selenium.webdriver.firefox.service.rst.txt +++ b/docs/api/py/_sources/webdriver_firefox/selenium.webdriver.firefox.service.rst.txt @@ -4,26 +4,9 @@ selenium.webdriver.firefox.service .. automodule:: selenium.webdriver.firefox.service - - - - - - - - - .. rubric:: Classes .. autosummary:: Service - - - - - - - - - + \ No newline at end of file diff --git a/docs/api/py/_sources/webdriver_firefox/selenium.webdriver.firefox.webdriver.rst.txt b/docs/api/py/_sources/webdriver_firefox/selenium.webdriver.firefox.webdriver.rst.txt index 418f187bd11c1..2d1de2473b6fe 100644 --- a/docs/api/py/_sources/webdriver_firefox/selenium.webdriver.firefox.webdriver.rst.txt +++ b/docs/api/py/_sources/webdriver_firefox/selenium.webdriver.firefox.webdriver.rst.txt @@ -4,26 +4,9 @@ selenium.webdriver.firefox.webdriver .. automodule:: selenium.webdriver.firefox.webdriver - - - - - - - - - .. rubric:: Classes .. autosummary:: WebDriver - - - - - - - - - + \ No newline at end of file diff --git a/docs/api/py/_sources/webdriver_ie/selenium.webdriver.ie.options.rst.txt b/docs/api/py/_sources/webdriver_ie/selenium.webdriver.ie.options.rst.txt index b3fae9c7086a6..4d96a49f2b2eb 100644 --- a/docs/api/py/_sources/webdriver_ie/selenium.webdriver.ie.options.rst.txt +++ b/docs/api/py/_sources/webdriver_ie/selenium.webdriver.ie.options.rst.txt @@ -4,27 +4,10 @@ selenium.webdriver.ie.options .. automodule:: selenium.webdriver.ie.options - - - - - - - - - .. rubric:: Classes .. autosummary:: ElementScrollBehavior Options - - - - - - - - - + \ No newline at end of file diff --git a/docs/api/py/_sources/webdriver_ie/selenium.webdriver.ie.service.rst.txt b/docs/api/py/_sources/webdriver_ie/selenium.webdriver.ie.service.rst.txt index 0c371eee22f17..364d13c4c1bb8 100644 --- a/docs/api/py/_sources/webdriver_ie/selenium.webdriver.ie.service.rst.txt +++ b/docs/api/py/_sources/webdriver_ie/selenium.webdriver.ie.service.rst.txt @@ -4,26 +4,9 @@ selenium.webdriver.ie.service .. automodule:: selenium.webdriver.ie.service - - - - - - - - - .. rubric:: Classes .. autosummary:: Service - - - - - - - - - + \ No newline at end of file diff --git a/docs/api/py/_sources/webdriver_ie/selenium.webdriver.ie.webdriver.rst.txt b/docs/api/py/_sources/webdriver_ie/selenium.webdriver.ie.webdriver.rst.txt index 55d53616c1aab..717e1b52d796a 100644 --- a/docs/api/py/_sources/webdriver_ie/selenium.webdriver.ie.webdriver.rst.txt +++ b/docs/api/py/_sources/webdriver_ie/selenium.webdriver.ie.webdriver.rst.txt @@ -4,26 +4,9 @@ selenium.webdriver.ie.webdriver .. automodule:: selenium.webdriver.ie.webdriver - - - - - - - - - .. rubric:: Classes .. autosummary:: WebDriver - - - - - - - - - + \ No newline at end of file diff --git a/docs/api/py/_sources/webdriver_remote/selenium.webdriver.remote.bidi_connection.rst.txt b/docs/api/py/_sources/webdriver_remote/selenium.webdriver.remote.bidi_connection.rst.txt index 38c8b1f96c681..407f844f2679b 100644 --- a/docs/api/py/_sources/webdriver_remote/selenium.webdriver.remote.bidi_connection.rst.txt +++ b/docs/api/py/_sources/webdriver_remote/selenium.webdriver.remote.bidi_connection.rst.txt @@ -4,26 +4,9 @@ selenium.webdriver.remote.bidi\_connection .. automodule:: selenium.webdriver.remote.bidi_connection - - - - - - - - - .. rubric:: Classes .. autosummary:: BidiConnection - - - - - - - - - + \ No newline at end of file diff --git a/docs/api/py/_sources/webdriver_remote/selenium.webdriver.remote.command.rst.txt b/docs/api/py/_sources/webdriver_remote/selenium.webdriver.remote.command.rst.txt index 1c63917e2d57f..645cbde2bfdf9 100644 --- a/docs/api/py/_sources/webdriver_remote/selenium.webdriver.remote.command.rst.txt +++ b/docs/api/py/_sources/webdriver_remote/selenium.webdriver.remote.command.rst.txt @@ -4,26 +4,9 @@ selenium.webdriver.remote.command .. automodule:: selenium.webdriver.remote.command - - - - - - - - - .. rubric:: Classes .. autosummary:: Command - - - - - - - - - + \ No newline at end of file diff --git a/docs/api/py/_sources/webdriver_remote/selenium.webdriver.remote.errorhandler.rst.txt b/docs/api/py/_sources/webdriver_remote/selenium.webdriver.remote.errorhandler.rst.txt index 4399711516f69..ccdf55057bfaa 100644 --- a/docs/api/py/_sources/webdriver_remote/selenium.webdriver.remote.errorhandler.rst.txt +++ b/docs/api/py/_sources/webdriver_remote/selenium.webdriver.remote.errorhandler.rst.txt @@ -4,15 +4,6 @@ selenium.webdriver.remote.errorhandler .. automodule:: selenium.webdriver.remote.errorhandler - - - - - - - - - .. rubric:: Classes .. autosummary:: @@ -20,12 +11,4 @@ selenium.webdriver.remote.errorhandler ErrorCode ErrorHandler ExceptionMapping - - - - - - - - - + \ No newline at end of file diff --git a/docs/api/py/_sources/webdriver_remote/selenium.webdriver.remote.file_detector.rst.txt b/docs/api/py/_sources/webdriver_remote/selenium.webdriver.remote.file_detector.rst.txt index 104ea5e332b8b..68cbc07b57f72 100644 --- a/docs/api/py/_sources/webdriver_remote/selenium.webdriver.remote.file_detector.rst.txt +++ b/docs/api/py/_sources/webdriver_remote/selenium.webdriver.remote.file_detector.rst.txt @@ -4,15 +4,6 @@ selenium.webdriver.remote.file\_detector .. automodule:: selenium.webdriver.remote.file_detector - - - - - - - - - .. rubric:: Classes .. autosummary:: @@ -20,12 +11,4 @@ selenium.webdriver.remote.file\_detector FileDetector LocalFileDetector UselessFileDetector - - - - - - - - - + \ No newline at end of file diff --git a/docs/api/py/_sources/webdriver_remote/selenium.webdriver.remote.mobile.rst.txt b/docs/api/py/_sources/webdriver_remote/selenium.webdriver.remote.mobile.rst.txt index b7c6a4fb94853..6fe489918556e 100644 --- a/docs/api/py/_sources/webdriver_remote/selenium.webdriver.remote.mobile.rst.txt +++ b/docs/api/py/_sources/webdriver_remote/selenium.webdriver.remote.mobile.rst.txt @@ -4,26 +4,9 @@ selenium.webdriver.remote.mobile .. automodule:: selenium.webdriver.remote.mobile - - - - - - - - - .. rubric:: Classes .. autosummary:: Mobile - - - - - - - - - + \ No newline at end of file diff --git a/docs/api/py/_sources/webdriver_remote/selenium.webdriver.remote.remote_connection.rst.txt b/docs/api/py/_sources/webdriver_remote/selenium.webdriver.remote.remote_connection.rst.txt index 489f72f67ef66..e577e184a6715 100644 --- a/docs/api/py/_sources/webdriver_remote/selenium.webdriver.remote.remote_connection.rst.txt +++ b/docs/api/py/_sources/webdriver_remote/selenium.webdriver.remote.remote_connection.rst.txt @@ -4,26 +4,9 @@ selenium.webdriver.remote.remote\_connection .. automodule:: selenium.webdriver.remote.remote_connection - - - - - - - - - .. rubric:: Classes .. autosummary:: RemoteConnection - - - - - - - - - + \ No newline at end of file diff --git a/docs/api/py/_sources/webdriver_remote/selenium.webdriver.remote.script_key.rst.txt b/docs/api/py/_sources/webdriver_remote/selenium.webdriver.remote.script_key.rst.txt index 71875d9d4b1b5..5cf60946915ac 100644 --- a/docs/api/py/_sources/webdriver_remote/selenium.webdriver.remote.script_key.rst.txt +++ b/docs/api/py/_sources/webdriver_remote/selenium.webdriver.remote.script_key.rst.txt @@ -4,26 +4,9 @@ selenium.webdriver.remote.script\_key .. automodule:: selenium.webdriver.remote.script_key - - - - - - - - - .. rubric:: Classes .. autosummary:: ScriptKey - - - - - - - - - + \ No newline at end of file diff --git a/docs/api/py/_sources/webdriver_remote/selenium.webdriver.remote.shadowroot.rst.txt b/docs/api/py/_sources/webdriver_remote/selenium.webdriver.remote.shadowroot.rst.txt index e14e0d101137a..5a1cec74b5a2d 100644 --- a/docs/api/py/_sources/webdriver_remote/selenium.webdriver.remote.shadowroot.rst.txt +++ b/docs/api/py/_sources/webdriver_remote/selenium.webdriver.remote.shadowroot.rst.txt @@ -4,26 +4,9 @@ selenium.webdriver.remote.shadowroot .. automodule:: selenium.webdriver.remote.shadowroot - - - - - - - - - .. rubric:: Classes .. autosummary:: ShadowRoot - - - - - - - - - + \ No newline at end of file diff --git a/docs/api/py/_sources/webdriver_remote/selenium.webdriver.remote.switch_to.rst.txt b/docs/api/py/_sources/webdriver_remote/selenium.webdriver.remote.switch_to.rst.txt index ada6edf64a0e0..0eeb82d18b7c4 100644 --- a/docs/api/py/_sources/webdriver_remote/selenium.webdriver.remote.switch_to.rst.txt +++ b/docs/api/py/_sources/webdriver_remote/selenium.webdriver.remote.switch_to.rst.txt @@ -4,26 +4,9 @@ selenium.webdriver.remote.switch\_to .. automodule:: selenium.webdriver.remote.switch_to - - - - - - - - - .. rubric:: Classes .. autosummary:: SwitchTo - - - - - - - - - + \ No newline at end of file diff --git a/docs/api/py/_sources/webdriver_remote/selenium.webdriver.remote.utils.rst.txt b/docs/api/py/_sources/webdriver_remote/selenium.webdriver.remote.utils.rst.txt index b5cb8704fbde4..e72fbcba60122 100644 --- a/docs/api/py/_sources/webdriver_remote/selenium.webdriver.remote.utils.rst.txt +++ b/docs/api/py/_sources/webdriver_remote/selenium.webdriver.remote.utils.rst.txt @@ -4,27 +4,10 @@ selenium.webdriver.remote.utils .. automodule:: selenium.webdriver.remote.utils - - - - - .. rubric:: Functions .. autosummary:: dump_json load_json - - - - - - - - - - - - - + \ No newline at end of file diff --git a/docs/api/py/_sources/webdriver_remote/selenium.webdriver.remote.webdriver.rst.txt b/docs/api/py/_sources/webdriver_remote/selenium.webdriver.remote.webdriver.rst.txt index c3d0f79478ccc..b41707054e7fa 100644 --- a/docs/api/py/_sources/webdriver_remote/selenium.webdriver.remote.webdriver.rst.txt +++ b/docs/api/py/_sources/webdriver_remote/selenium.webdriver.remote.webdriver.rst.txt @@ -4,11 +4,6 @@ selenium.webdriver.remote.webdriver .. automodule:: selenium.webdriver.remote.webdriver - - - - - .. rubric:: Functions .. autosummary:: @@ -17,22 +12,10 @@ selenium.webdriver.remote.webdriver get_remote_connection import_cdp - - - - .. rubric:: Classes .. autosummary:: BaseWebDriver WebDriver - - - - - - - - - + \ No newline at end of file diff --git a/docs/api/py/_sources/webdriver_remote/selenium.webdriver.remote.webelement.rst.txt b/docs/api/py/_sources/webdriver_remote/selenium.webdriver.remote.webelement.rst.txt index 00edfcf3f66d2..030d86510533a 100644 --- a/docs/api/py/_sources/webdriver_remote/selenium.webdriver.remote.webelement.rst.txt +++ b/docs/api/py/_sources/webdriver_remote/selenium.webdriver.remote.webelement.rst.txt @@ -4,27 +4,10 @@ selenium.webdriver.remote.webelement .. automodule:: selenium.webdriver.remote.webelement - - - - - - - - - .. rubric:: Classes .. autosummary:: BaseWebElement WebElement - - - - - - - - - + \ No newline at end of file diff --git a/docs/api/py/_sources/webdriver_remote/selenium.webdriver.remote.websocket_connection.rst.txt b/docs/api/py/_sources/webdriver_remote/selenium.webdriver.remote.websocket_connection.rst.txt index 58332dd69f6b3..de73682a1cfb6 100644 --- a/docs/api/py/_sources/webdriver_remote/selenium.webdriver.remote.websocket_connection.rst.txt +++ b/docs/api/py/_sources/webdriver_remote/selenium.webdriver.remote.websocket_connection.rst.txt @@ -4,26 +4,9 @@ selenium.webdriver.remote.websocket\_connection .. automodule:: selenium.webdriver.remote.websocket_connection - - - - - - - - - .. rubric:: Classes .. autosummary:: WebSocketConnection - - - - - - - - - + \ No newline at end of file diff --git a/docs/api/py/_sources/webdriver_safari/selenium.webdriver.safari.options.rst.txt b/docs/api/py/_sources/webdriver_safari/selenium.webdriver.safari.options.rst.txt index a529e645a30df..b346e9a080e83 100644 --- a/docs/api/py/_sources/webdriver_safari/selenium.webdriver.safari.options.rst.txt +++ b/docs/api/py/_sources/webdriver_safari/selenium.webdriver.safari.options.rst.txt @@ -4,26 +4,9 @@ selenium.webdriver.safari.options .. automodule:: selenium.webdriver.safari.options - - - - - - - - - .. rubric:: Classes .. autosummary:: Options - - - - - - - - - + \ No newline at end of file diff --git a/docs/api/py/_sources/webdriver_safari/selenium.webdriver.safari.permissions.rst.txt b/docs/api/py/_sources/webdriver_safari/selenium.webdriver.safari.permissions.rst.txt index ca3f4a8d69a6d..025e1afb86a7d 100644 --- a/docs/api/py/_sources/webdriver_safari/selenium.webdriver.safari.permissions.rst.txt +++ b/docs/api/py/_sources/webdriver_safari/selenium.webdriver.safari.permissions.rst.txt @@ -4,26 +4,9 @@ selenium.webdriver.safari.permissions .. automodule:: selenium.webdriver.safari.permissions - - - - - - - - - .. rubric:: Classes .. autosummary:: Permission - - - - - - - - - + \ No newline at end of file diff --git a/docs/api/py/_sources/webdriver_safari/selenium.webdriver.safari.remote_connection.rst.txt b/docs/api/py/_sources/webdriver_safari/selenium.webdriver.safari.remote_connection.rst.txt index a3250b4c671c5..e164129c6fdeb 100644 --- a/docs/api/py/_sources/webdriver_safari/selenium.webdriver.safari.remote_connection.rst.txt +++ b/docs/api/py/_sources/webdriver_safari/selenium.webdriver.safari.remote_connection.rst.txt @@ -4,26 +4,9 @@ selenium.webdriver.safari.remote\_connection .. automodule:: selenium.webdriver.safari.remote_connection - - - - - - - - - .. rubric:: Classes .. autosummary:: SafariRemoteConnection - - - - - - - - - + \ No newline at end of file diff --git a/docs/api/py/_sources/webdriver_safari/selenium.webdriver.safari.service.rst.txt b/docs/api/py/_sources/webdriver_safari/selenium.webdriver.safari.service.rst.txt index 4030a3b8c5835..06ddf9362daf1 100644 --- a/docs/api/py/_sources/webdriver_safari/selenium.webdriver.safari.service.rst.txt +++ b/docs/api/py/_sources/webdriver_safari/selenium.webdriver.safari.service.rst.txt @@ -4,26 +4,9 @@ selenium.webdriver.safari.service .. automodule:: selenium.webdriver.safari.service - - - - - - - - - .. rubric:: Classes .. autosummary:: Service - - - - - - - - - + \ No newline at end of file diff --git a/docs/api/py/_sources/webdriver_safari/selenium.webdriver.safari.webdriver.rst.txt b/docs/api/py/_sources/webdriver_safari/selenium.webdriver.safari.webdriver.rst.txt index 6002684f5e038..f71c9c2ad6578 100644 --- a/docs/api/py/_sources/webdriver_safari/selenium.webdriver.safari.webdriver.rst.txt +++ b/docs/api/py/_sources/webdriver_safari/selenium.webdriver.safari.webdriver.rst.txt @@ -4,26 +4,9 @@ selenium.webdriver.safari.webdriver .. automodule:: selenium.webdriver.safari.webdriver - - - - - - - - - .. rubric:: Classes .. autosummary:: WebDriver - - - - - - - - - + \ No newline at end of file diff --git a/docs/api/py/_sources/webdriver_support/selenium.webdriver.support.abstract_event_listener.rst.txt b/docs/api/py/_sources/webdriver_support/selenium.webdriver.support.abstract_event_listener.rst.txt index bdb46e7a1e70c..43dd3263beb2e 100644 --- a/docs/api/py/_sources/webdriver_support/selenium.webdriver.support.abstract_event_listener.rst.txt +++ b/docs/api/py/_sources/webdriver_support/selenium.webdriver.support.abstract_event_listener.rst.txt @@ -4,26 +4,9 @@ selenium.webdriver.support.abstract\_event\_listener .. automodule:: selenium.webdriver.support.abstract_event_listener - - - - - - - - - .. rubric:: Classes .. autosummary:: AbstractEventListener - - - - - - - - - + \ No newline at end of file diff --git a/docs/api/py/_sources/webdriver_support/selenium.webdriver.support.color.rst.txt b/docs/api/py/_sources/webdriver_support/selenium.webdriver.support.color.rst.txt index 14239ffd60880..0d635b81f15b5 100644 --- a/docs/api/py/_sources/webdriver_support/selenium.webdriver.support.color.rst.txt +++ b/docs/api/py/_sources/webdriver_support/selenium.webdriver.support.color.rst.txt @@ -4,26 +4,9 @@ selenium.webdriver.support.color .. automodule:: selenium.webdriver.support.color - - - - - - - - - .. rubric:: Classes .. autosummary:: Color - - - - - - - - - + \ No newline at end of file diff --git a/docs/api/py/_sources/webdriver_support/selenium.webdriver.support.event_firing_webdriver.rst.txt b/docs/api/py/_sources/webdriver_support/selenium.webdriver.support.event_firing_webdriver.rst.txt index 88c6f5a8f9f86..e3a9ce02181e5 100644 --- a/docs/api/py/_sources/webdriver_support/selenium.webdriver.support.event_firing_webdriver.rst.txt +++ b/docs/api/py/_sources/webdriver_support/selenium.webdriver.support.event_firing_webdriver.rst.txt @@ -4,27 +4,10 @@ selenium.webdriver.support.event\_firing\_webdriver .. automodule:: selenium.webdriver.support.event_firing_webdriver - - - - - - - - - .. rubric:: Classes .. autosummary:: EventFiringWebDriver EventFiringWebElement - - - - - - - - - + \ No newline at end of file diff --git a/docs/api/py/_sources/webdriver_support/selenium.webdriver.support.events.rst.txt b/docs/api/py/_sources/webdriver_support/selenium.webdriver.support.events.rst.txt index 1a4e893bd55f9..28fccc823e16e 100644 --- a/docs/api/py/_sources/webdriver_support/selenium.webdriver.support.events.rst.txt +++ b/docs/api/py/_sources/webdriver_support/selenium.webdriver.support.events.rst.txt @@ -3,21 +3,4 @@ selenium.webdriver.support.events .. automodule:: selenium.webdriver.support.events - - - - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/docs/api/py/_sources/webdriver_support/selenium.webdriver.support.expected_conditions.rst.txt b/docs/api/py/_sources/webdriver_support/selenium.webdriver.support.expected_conditions.rst.txt index b9e3585093386..74a46dc8de5fd 100644 --- a/docs/api/py/_sources/webdriver_support/selenium.webdriver.support.expected_conditions.rst.txt +++ b/docs/api/py/_sources/webdriver_support/selenium.webdriver.support.expected_conditions.rst.txt @@ -4,11 +4,6 @@ selenium.webdriver.support.expected\_conditions .. automodule:: selenium.webdriver.support.expected_conditions - - - - - .. rubric:: Functions .. autosummary:: @@ -44,16 +39,4 @@ selenium.webdriver.support.expected\_conditions visibility_of_all_elements_located visibility_of_any_elements_located visibility_of_element_located - - - - - - - - - - - - - + \ No newline at end of file diff --git a/docs/api/py/_sources/webdriver_support/selenium.webdriver.support.relative_locator.rst.txt b/docs/api/py/_sources/webdriver_support/selenium.webdriver.support.relative_locator.rst.txt index 6b5af25799a44..4c52de9d6a6b2 100644 --- a/docs/api/py/_sources/webdriver_support/selenium.webdriver.support.relative_locator.rst.txt +++ b/docs/api/py/_sources/webdriver_support/selenium.webdriver.support.relative_locator.rst.txt @@ -4,11 +4,6 @@ selenium.webdriver.support.relative\_locator .. automodule:: selenium.webdriver.support.relative_locator - - - - - .. rubric:: Functions .. autosummary:: @@ -16,21 +11,9 @@ selenium.webdriver.support.relative\_locator locate_with with_tag_name - - - - .. rubric:: Classes .. autosummary:: RelativeBy - - - - - - - - - + \ No newline at end of file diff --git a/docs/api/py/_sources/webdriver_support/selenium.webdriver.support.select.rst.txt b/docs/api/py/_sources/webdriver_support/selenium.webdriver.support.select.rst.txt index 2b65140b1745d..8f28b59083030 100644 --- a/docs/api/py/_sources/webdriver_support/selenium.webdriver.support.select.rst.txt +++ b/docs/api/py/_sources/webdriver_support/selenium.webdriver.support.select.rst.txt @@ -4,26 +4,9 @@ selenium.webdriver.support.select .. automodule:: selenium.webdriver.support.select - - - - - - - - - .. rubric:: Classes .. autosummary:: Select - - - - - - - - - + \ No newline at end of file diff --git a/docs/api/py/_sources/webdriver_support/selenium.webdriver.support.ui.rst.txt b/docs/api/py/_sources/webdriver_support/selenium.webdriver.support.ui.rst.txt index a38cf77595d73..3903042d54d0e 100644 --- a/docs/api/py/_sources/webdriver_support/selenium.webdriver.support.ui.rst.txt +++ b/docs/api/py/_sources/webdriver_support/selenium.webdriver.support.ui.rst.txt @@ -3,21 +3,4 @@ selenium.webdriver.support.ui .. automodule:: selenium.webdriver.support.ui - - - - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/docs/api/py/_sources/webdriver_support/selenium.webdriver.support.wait.rst.txt b/docs/api/py/_sources/webdriver_support/selenium.webdriver.support.wait.rst.txt index 6ebf2db1e03da..605a72fc3fa33 100644 --- a/docs/api/py/_sources/webdriver_support/selenium.webdriver.support.wait.rst.txt +++ b/docs/api/py/_sources/webdriver_support/selenium.webdriver.support.wait.rst.txt @@ -4,26 +4,9 @@ selenium.webdriver.support.wait .. automodule:: selenium.webdriver.support.wait - - - - - - - - - .. rubric:: Classes .. autosummary:: WebDriverWait - - - - - - - - - + \ No newline at end of file diff --git a/docs/api/py/_sources/webdriver_webkitgtk/selenium.webdriver.webkitgtk.options.rst.txt b/docs/api/py/_sources/webdriver_webkitgtk/selenium.webdriver.webkitgtk.options.rst.txt index 710a467a05a93..f835229312fc2 100644 --- a/docs/api/py/_sources/webdriver_webkitgtk/selenium.webdriver.webkitgtk.options.rst.txt +++ b/docs/api/py/_sources/webdriver_webkitgtk/selenium.webdriver.webkitgtk.options.rst.txt @@ -4,26 +4,9 @@ selenium.webdriver.webkitgtk.options .. automodule:: selenium.webdriver.webkitgtk.options - - - - - - - - - .. rubric:: Classes .. autosummary:: Options - - - - - - - - - + \ No newline at end of file diff --git a/docs/api/py/_sources/webdriver_webkitgtk/selenium.webdriver.webkitgtk.service.rst.txt b/docs/api/py/_sources/webdriver_webkitgtk/selenium.webdriver.webkitgtk.service.rst.txt index 02d666aa3bae3..41fba2724889c 100644 --- a/docs/api/py/_sources/webdriver_webkitgtk/selenium.webdriver.webkitgtk.service.rst.txt +++ b/docs/api/py/_sources/webdriver_webkitgtk/selenium.webdriver.webkitgtk.service.rst.txt @@ -4,26 +4,9 @@ selenium.webdriver.webkitgtk.service .. automodule:: selenium.webdriver.webkitgtk.service - - - - - - - - - .. rubric:: Classes .. autosummary:: Service - - - - - - - - - + \ No newline at end of file diff --git a/docs/api/py/_sources/webdriver_webkitgtk/selenium.webdriver.webkitgtk.webdriver.rst.txt b/docs/api/py/_sources/webdriver_webkitgtk/selenium.webdriver.webkitgtk.webdriver.rst.txt index 096cd62454dd1..94a02140d4ea0 100644 --- a/docs/api/py/_sources/webdriver_webkitgtk/selenium.webdriver.webkitgtk.webdriver.rst.txt +++ b/docs/api/py/_sources/webdriver_webkitgtk/selenium.webdriver.webkitgtk.webdriver.rst.txt @@ -4,26 +4,9 @@ selenium.webdriver.webkitgtk.webdriver .. automodule:: selenium.webdriver.webkitgtk.webdriver - - - - - - - - - .. rubric:: Classes .. autosummary:: WebDriver - - - - - - - - - + \ No newline at end of file diff --git a/docs/api/py/_sources/webdriver_wpewebkit/selenium.webdriver.wpewebkit.options.rst.txt b/docs/api/py/_sources/webdriver_wpewebkit/selenium.webdriver.wpewebkit.options.rst.txt index ed55667a19d64..8df5c1e0fd727 100644 --- a/docs/api/py/_sources/webdriver_wpewebkit/selenium.webdriver.wpewebkit.options.rst.txt +++ b/docs/api/py/_sources/webdriver_wpewebkit/selenium.webdriver.wpewebkit.options.rst.txt @@ -4,26 +4,9 @@ selenium.webdriver.wpewebkit.options .. automodule:: selenium.webdriver.wpewebkit.options - - - - - - - - - .. rubric:: Classes .. autosummary:: Options - - - - - - - - - + \ No newline at end of file diff --git a/docs/api/py/_sources/webdriver_wpewebkit/selenium.webdriver.wpewebkit.service.rst.txt b/docs/api/py/_sources/webdriver_wpewebkit/selenium.webdriver.wpewebkit.service.rst.txt index a394f33982bcf..cae48ae21de79 100644 --- a/docs/api/py/_sources/webdriver_wpewebkit/selenium.webdriver.wpewebkit.service.rst.txt +++ b/docs/api/py/_sources/webdriver_wpewebkit/selenium.webdriver.wpewebkit.service.rst.txt @@ -4,26 +4,9 @@ selenium.webdriver.wpewebkit.service .. automodule:: selenium.webdriver.wpewebkit.service - - - - - - - - - .. rubric:: Classes .. autosummary:: Service - - - - - - - - - + \ No newline at end of file diff --git a/docs/api/py/_sources/webdriver_wpewebkit/selenium.webdriver.wpewebkit.webdriver.rst.txt b/docs/api/py/_sources/webdriver_wpewebkit/selenium.webdriver.wpewebkit.webdriver.rst.txt index a5d9e286350ee..36d08474ebbc5 100644 --- a/docs/api/py/_sources/webdriver_wpewebkit/selenium.webdriver.wpewebkit.webdriver.rst.txt +++ b/docs/api/py/_sources/webdriver_wpewebkit/selenium.webdriver.wpewebkit.webdriver.rst.txt @@ -4,26 +4,9 @@ selenium.webdriver.wpewebkit.webdriver .. automodule:: selenium.webdriver.wpewebkit.webdriver - - - - - - - - - .. rubric:: Classes .. autosummary:: WebDriver - - - - - - - - - + \ No newline at end of file diff --git a/docs/api/py/_static/basic.css b/docs/api/py/_static/basic.css index cfc60b86c7c66..f316efcb47bde 100644 --- a/docs/api/py/_static/basic.css +++ b/docs/api/py/_static/basic.css @@ -4,7 +4,7 @@ * * Sphinx stylesheet -- basic theme. * - * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. + * :copyright: Copyright 2007-2024 by the Sphinx team, see AUTHORS. * :license: BSD, see LICENSE for details. * */ @@ -237,6 +237,10 @@ a.headerlink { visibility: hidden; } +a:visited { + color: #551A8B; +} + h1:hover > a.headerlink, h2:hover > a.headerlink, h3:hover > a.headerlink, diff --git a/docs/api/py/_static/classic.css b/docs/api/py/_static/classic.css deleted file mode 100644 index d0ed3264dfbd3..0000000000000 --- a/docs/api/py/_static/classic.css +++ /dev/null @@ -1,269 +0,0 @@ -/* - * classic.css_t - * ~~~~~~~~~~~~~ - * - * Sphinx stylesheet -- classic theme. - * - * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. - * :license: BSD, see LICENSE for details. - * - */ - -@import url("basic.css"); - -/* -- page layout ----------------------------------------------------------- */ - -html { - /* CSS hack for macOS's scrollbar (see #1125) */ - background-color: #FFFFFF; -} - -body { - font-family: sans-serif; - font-size: 100%; - background-color: #11303d; - color: #000; - margin: 0; - padding: 0; -} - -div.document { - display: flex; - background-color: #1c4e63; -} - -div.documentwrapper { - float: left; - width: 100%; -} - -div.bodywrapper { - margin: 0 0 0 230px; -} - -div.body { - background-color: #ffffff; - color: #000000; - padding: 0 20px 30px 20px; -} - -div.footer { - color: #ffffff; - width: 100%; - padding: 9px 0 9px 0; - text-align: center; - font-size: 75%; -} - -div.footer a { - color: #ffffff; - text-decoration: underline; -} - -div.related { - background-color: #133f52; - line-height: 30px; - color: #ffffff; -} - -div.related a { - color: #ffffff; -} - -div.sphinxsidebar { -} - -div.sphinxsidebar h3 { - font-family: 'Trebuchet MS', sans-serif; - color: #ffffff; - font-size: 1.4em; - font-weight: normal; - margin: 0; - padding: 0; -} - -div.sphinxsidebar h3 a { - color: #ffffff; -} - -div.sphinxsidebar h4 { - font-family: 'Trebuchet MS', sans-serif; - color: #ffffff; - font-size: 1.3em; - font-weight: normal; - margin: 5px 0 0 0; - padding: 0; -} - -div.sphinxsidebar p { - color: #ffffff; -} - -div.sphinxsidebar p.topless { - margin: 5px 10px 10px 10px; -} - -div.sphinxsidebar ul { - margin: 10px; - padding: 0; - color: #ffffff; -} - -div.sphinxsidebar a { - color: #98dbcc; -} - -div.sphinxsidebar input { - border: 1px solid #98dbcc; - font-family: sans-serif; - font-size: 1em; -} - - - -/* -- hyperlink styles ------------------------------------------------------ */ - -a { - color: #355f7c; - text-decoration: none; -} - -a:visited { - color: #355f7c; - text-decoration: none; -} - -a:hover { - text-decoration: underline; -} - - - -/* -- body styles ----------------------------------------------------------- */ - -div.body h1, -div.body h2, -div.body h3, -div.body h4, -div.body h5, -div.body h6 { - font-family: 'Trebuchet MS', sans-serif; - background-color: #f2f2f2; - font-weight: normal; - color: #20435c; - border-bottom: 1px solid #ccc; - margin: 20px -20px 10px -20px; - padding: 3px 0 3px 10px; -} - -div.body h1 { margin-top: 0; font-size: 200%; } -div.body h2 { font-size: 160%; } -div.body h3 { font-size: 140%; } -div.body h4 { font-size: 120%; } -div.body h5 { font-size: 110%; } -div.body h6 { font-size: 100%; } - -a.headerlink { - color: #c60f0f; - font-size: 0.8em; - padding: 0 4px 0 4px; - text-decoration: none; -} - -a.headerlink:hover { - background-color: #c60f0f; - color: white; -} - -div.body p, div.body dd, div.body li, div.body blockquote { - text-align: justify; - line-height: 130%; -} - -div.admonition p.admonition-title + p { - display: inline; -} - -div.admonition p { - margin-bottom: 5px; -} - -div.admonition pre { - margin-bottom: 5px; -} - -div.admonition ul, div.admonition ol { - margin-bottom: 5px; -} - -div.note { - background-color: #eee; - border: 1px solid #ccc; -} - -div.seealso { - background-color: #ffc; - border: 1px solid #ff6; -} - -nav.contents, -aside.topic, -div.topic { - background-color: #eee; -} - -div.warning { - background-color: #ffe4e4; - border: 1px solid #f66; -} - -p.admonition-title { - display: inline; -} - -p.admonition-title:after { - content: ":"; -} - -pre { - padding: 5px; - background-color: unset; - color: unset; - line-height: 120%; - border: 1px solid #ac9; - border-left: none; - border-right: none; -} - -code { - background-color: #ecf0f3; - padding: 0 1px 0 1px; - font-size: 0.95em; -} - -th, dl.field-list > dt { - background-color: #ede; -} - -.warning code { - background: #efc2c2; -} - -.note code { - background: #d6d6d6; -} - -.viewcode-back { - font-family: sans-serif; -} - -div.viewcode-block:target { - background-color: #f4debf; - border-top: 1px solid #ac9; - border-bottom: 1px solid #ac9; -} - -div.code-block-caption { - color: #efefef; - background-color: #1c4e63; -} \ No newline at end of file diff --git a/docs/api/py/_static/default.css b/docs/api/py/_static/default.css deleted file mode 100644 index 81b9363634e0f..0000000000000 --- a/docs/api/py/_static/default.css +++ /dev/null @@ -1 +0,0 @@ -@import url("classic.css"); diff --git a/docs/api/py/_static/doctools.js b/docs/api/py/_static/doctools.js index d06a71d751804..4d67807d17d27 100644 --- a/docs/api/py/_static/doctools.js +++ b/docs/api/py/_static/doctools.js @@ -4,7 +4,7 @@ * * Base JavaScript utilities for all Sphinx HTML documentation. * - * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. + * :copyright: Copyright 2007-2024 by the Sphinx team, see AUTHORS. * :license: BSD, see LICENSE for details. * */ diff --git a/docs/api/py/_static/documentation_options.js b/docs/api/py/_static/documentation_options.js index 88f8ef7ee8f62..409bbdb1e9289 100644 --- a/docs/api/py/_static/documentation_options.js +++ b/docs/api/py/_static/documentation_options.js @@ -1,6 +1,5 @@ -var DOCUMENTATION_OPTIONS = { - URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'), - VERSION: '4.29.0.202501201850', +const DOCUMENTATION_OPTIONS = { + VERSION: '4.30.0', LANGUAGE: 'en', COLLAPSE_INDEX: false, BUILDER: 'html', diff --git a/docs/api/py/_static/fonts/font-awesome.css b/docs/api/py/_static/fonts/font-awesome.css new file mode 100644 index 0000000000000..b476b53e33b57 --- /dev/null +++ b/docs/api/py/_static/fonts/font-awesome.css @@ -0,0 +1,4 @@ +/*! + * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */@font-face{font-family:FontAwesome;font-style:normal;font-weight:400;src:url("specimen/FontAwesome.woff2") format("woff2"),url("specimen/FontAwesome.woff") format("woff"),url("specimen/FontAwesome.ttf") format("truetype")}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1,1);-ms-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1,-1);-ms-transform:scale(1,-1);transform:scale(1,-1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-signing:before,.fa-sign-language:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-vcard:before,.fa-address-card:before{content:"\f2bb"}.fa-vcard-o:before,.fa-address-card-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto} \ No newline at end of file diff --git a/docs/api/py/_static/fonts/material-icons.css b/docs/api/py/_static/fonts/material-icons.css new file mode 100644 index 0000000000000..63130b01203f3 --- /dev/null +++ b/docs/api/py/_static/fonts/material-icons.css @@ -0,0 +1,13 @@ +/*! + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy + * of the License at: + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING, SOFTWARE + * DISTRIBUTED UNDER THE LICENSE IS DISTRIBUTED ON AN "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. + * SEE THE LICENSE FOR THE SPECIFIC LANGUAGE GOVERNING PERMISSIONS AND + * LIMITATIONS UNDER THE LICENSE. + */@font-face{font-display:swap;font-family:"Material Icons";font-style:normal;font-weight:400;src:local("Material Icons"),local("MaterialIcons-Regular"),url("specimen/MaterialIcons-Regular.woff2") format("woff2"),url("specimen/MaterialIcons-Regular.woff") format("woff"),url("specimen/MaterialIcons-Regular.ttf") format("truetype")} \ No newline at end of file diff --git a/docs/api/py/_static/fonts/specimen/FontAwesome.ttf b/docs/api/py/_static/fonts/specimen/FontAwesome.ttf new file mode 100644 index 0000000000000000000000000000000000000000..35acda2fa1196aad98c2adf4378a7611dd713aa3 GIT binary patch literal 165548 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 z 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 d0mRO}xo^G_%I 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 SdSQM28?+M|D(2r_;{O0|uQ74} literal 0 HcmV?d00001 diff --git a/docs/api/py/_static/fonts/specimen/FontAwesome.woff2 b/docs/api/py/_static/fonts/specimen/FontAwesome.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..4d13fc60404b91e398a37200c4a77b645cfd9586 GIT binary patch literal 77160 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 literal 0 HcmV?d00001 diff --git a/docs/api/py/_static/fonts/specimen/MaterialIcons-Regular.ttf b/docs/api/py/_static/fonts/specimen/MaterialIcons-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..7015564ad166a3e9d88c82f17829f0cc01ebe29a GIT binary patch literal 128180 zcmeEvcYK@Gx&M1)4R2eLU&)qiS+*?6)@#Q@mX+x!dpHRhNLkQ2n^?%nyrxK)q?B3sZ zV)JZV|5B0+M=#vAZq1~o{wt7w4A*yUS+jq;)+-&y^A$+%+`4AVhU&7w+Y-AP^<@XQ zZ`-x|^p#SF#I6~l=MuG@X?}XnH|mdkwrui;Qh^3HB+*Oy+A$M$RE3dWOlmuQdZcu^om&H^q~Mv6Zi_T@_TTbTBt?>?5cVPbh4~g3xr$0r z{)|#lIz@`{vjpGMJ$jSgr+346O3y_a@hmFE`BS>8M@mYi{>eN?$|a05%AN9(rDmiR zXX0*%KMSF~VQC+pMR63l)1J;1UQc=}%C8j3&+`x->Z1J+4_iD-O5oc5m)t>SRp+%xbu@Tr(I{FiJ5~Yh=sm63hxn}>U9LkB_qchsR zgfwUSqf`=})3au&9ea8!&flgURU`+_>8X!DQOlzIb4wL9jG>MShYLNWd!i<^r$4%D zk_h^ARylH)+OZP%+?iCORua-sE^56O@cK}l=xwSe;R3xSdNsz=(tWiwN=X~_2fZQl z^mIl2NB7m#6LE)9(4Q>zW?(%ra~+nt`5o#dNTQL@AV>(uup2mi`D{REEUQ zWT^;8^@)I4l&5ORq>Q0%Mr`yK<$G$uDx8bdly4`0gGv*%6RE>IHI+jcM5*by7`1ey z^kSo$irUhfqBgXrGUy#Ohk)eeSVV8H!bY^7>Lf`Ucv{gCN=*=^aVO)P>OoJ$o}Lf{ z=vtDd;wWlIbx~_XrP3e$!22N!NuULiR0vKD83<>R_7jqj`2D=heJ%R{*ZYy5P8u&w zkUlFN9LgK28mb#=7-}ABADS?OOGDon`p(ch$G04hAHVDPw~zne_)m|&di>2d z*T4ClH-Gr%kKW3EtMaY!ZwBPCa2L^>MU^1oKd9YYJEwM9?WEdZt-rRpw$bs9;|9m|j%yuD z9E%<2)C||0sySKnZq146kE;Jv{Xq5Z>YesK*8{yWF9a|mlx8Uf))_`-!(?gVwaIXtT$fQH09~+f56-T;WhI7c=L%{B# z9XLn%Lr-9P3FnaOhrW*O8#uoP$8Tf%4$iN`@q5_b!TAl6bbJ=JEjWK1$D6RlasID3 z-X%8absX=m1SH-Ct8wBgMkiH$9nq_+&%@E++2Z(;1c1u31a!qJ9pJkB@ccsDkb!H(dF za^Ctq&XLDke~_fN%{c!Rju`2019t2a9MMN_Pe#94BkZALAVGJc)ilaZ(=e?mZ1QJg+;|VH$VNfL@F&SH=4{9 zvc+0iWwTe;IBK1B^{xiD$NTAT{qH{Ey0O&6|JpIWr-3^!fpoS;+AQsm4oIJqu9j|= zZkN6&Jt93Ny(oQC`l0kQ=~vKj-;@3z{h2XVz>KVl)v+el&L*&FY#v*}wz4>TjJ>TX z)`T@*(j+yfG@s;^&>0!9p#J`L)$=el~QGW<b(OJdWz{XV65B-EZri=K zm+b|1hkdqvmHjgNefA&OPgjqtUS7SU`e^kZYLuG!H5b-gQFD9EfTPqAbVMCDIi7X= z%<&t?hqcyPrFLHJg|)Xi3!QeS-?_xO#d)Xm$8}O&XWiDiyX#)AOV@YQudM%k{Wt30 zc9prhToKn^*K@94Hzv%wh)9KmZdBXE&ug|;Kd%ky< z_c`xh8|{s28y{&ZXj;^?zv1`LZ-Prb(w%6M&?UUM9wqM%*X!|$YPjsMVL2K~WV!F|Cm1iu~p-FVCRRpW0R|Ml^y@xv1eCXAb~X2Nw7 zzBjRGV%x-(6EC0m^29$(vQC;jX~U$iP5SYqHzvJ5>Gb4^$-c=~PQGXIi<94;QZU6c zW%ZOxr@S)d_uZE68Qr_OpYHza)W)ejQ?Hu($kdae_E0!{m~iIXQXC+dDg?TUYPasS-+iKJ$uINO|$Qq{e#)>&uN{rVa@|{ zUY+ZnyKe5Ib6=n5o40h{W%C}JcXEEg{FeDk=kJ~$pa0_g-}aRDOzb(YC)RU&&!auZ z7O(}@1@jhcTJY$C;e`zgw=8^V;fISl79Cjh{d3qkYtDIcalzuY#akCYw)l<3e_Y~P za@mr%mwK1ZTe@lK{-xhq*0AidWyjBLKX>1`&z$>OSQ|bNzB@b^DT+8Et0Rv_z8?Aa z<<-k)F5k2KiRJ&Y!muK+V*iSJSG=$ywX$es^~#o&2Up&+@~bOFG_sy`bQNwhNA4@RJKZ*}Qb~-J9R&%kOLM z+u3(>-^7&+WW^=L0*R z-1*&|r*{6wuHs!ayMnvs?pnF)@UHuIeRbDcy9;->?_Rk3g58IA-?ICW-Cy6G+Wp%- z&3iWNxpB`6dyemI*t>G?ZF^tY`ycyi_O04?+rBsVSMFc6|Iz)!2O176IR9^4G4=Uor8D6<1t-#W$~b?MnH|IaeOJGI;i zKfCJpM=VELjx0K|=g6B^=Uv@&b??J(mZDqgZ;9M;%`IQK<>W1& z+*)^Q*R9)cz2Vm9Zhb4x;`aEI_!r|pihtDK*1x6yvHtgOGv7Atwyn3_e%trHAbr92 zg)Lur_;&m4b8kO%`;)i7eTU|b<~!!yvHgyF@A%#wf4I|s=jZPnxbv5HNq2egT5{Ky z?^fwoqpqVXkKTSXb@cQXgJ0b8#V5Wvd|&B( zZTFpf-_H9UzAt&-ukQQn{mu6;x&OKQKYF0yfu#?8;el^G@NW;+J$T`R4?Xzx2Y>S5 zyAP%xs(EPgLl-`Dtq2qex;T%LF+@%_ZVKRW3#&10U&);@OaW3N7Le|+QP zvB$si`0x`|Ppo?4;1l0?;*BR4J-Oq_ho1bmr#hZG^wi@|{orZ+(^H>*;px*~p77=E zU%vm#Z$G0vv-z1jpZV8km1iG%_SAFL&&_&n%X6PKAHS9M4I1q_>F#} z*Kc$gkL=sHk%iL$ z*uHYzh7H$kSjIC+B0FCgmm98QcAk?trYI;KHV`(PsRuMFwH^kunO9+OcsLb_gcT*k z;^`>T!#2W_NM9t?!m3E=QEMvBAFx{GxNyl13 z?G@D(?V+!oTUB3mN(qJVzof-#Z8_v$QdCx2QBhh}w8Wn>+Mv>9p+s#(OVt+YGc86b z99sWwDlRq^n-`BCzj%B;Z!eQ^qu8_=H^wjis{kEf7eZ^3ED5Sm2K!(KU`I7Y9$h@2 zt`4tXWEtoT2CN3JUaqiobOky+UfETVNg69Qm6VwN#P?Uri??q-x_#lzj@@<34=tbH z<>SSQ`Z##45_rCSaqk3nvtw6NpnLi9?(yg5H@!i56mxinQKJM}*Gif@Ls>3Yyzm;hdcvrgE!!3y?geAdPAX@GZfmxWSp>2jBbbvx=T=j4H12Jf@4zv*qK2PufD=+ z@N@>v=suvotKRDoe_~j;Xt2r^R*U%i(AivD+q`r9c*m?+CyZ4}hpVEj$z-T$s<1A< zIHF8h)omfqe%O$S?O&yqpQOp2Q3zdyU8~-5}Df4-QD7>wc8!_ zo?IfL+pGc5{-OHCFhXh2SDSuE2e*|(>N$b)5XUv7&DGi9j`eESWY z83^N5zU?+x4F<2l>kZOh&>FN_4V;lPsnf8qao)Vfg@(?NGa*_;C!J%QSz9~9bk3y7 zi|A~o@tmBV%kW+|ADs0DGa(=Fene8as$s+I$t{~Fw|vmB!Ni&GZ7q{$Z)iyWxZwjj zVKKpeH6YPZ7GrT5ihIDLD|3XSxPqJ_xx&$70|OWd3Dg(r8K{e7wi*(rPO*5L zuGDfgzZasH4x2KN;3Gr{pGE^tO9_(uBH+%zVEhy2sI~v!7?FYlrNEI( zxX%#&4U!#XA#M3PtU783>g~qHqJ1GyDvvF{G@VLh8o**o66C4VqxJZF;40JzwGG1@ zL+XgCfN~%wZALE4b6X7%hXZ`Fs>(|c-^x#G$8YRqArAR%; z2FYy=$}UhTzwBjR2C@}olV>#VZJuG>+noNBgB4%m*yebX-+4E4X9n(&oEL+fhd<;= z9tloKtPGu)dX_=ZBVjO`Mnh>J3sSOU&z_c`OOZ54qho|){1Vcj5!|*0{8lmpKn4=I zgDUM%^$ZAyL8@mmws2u=Vb7uEkojjpyg#}fMx3?wV{7eeL0UYk6z|I93VNE}anFt& z_bjMe=5#J~E=5&yYA%`UjCC=p2Gv>AMQ~ohy~?0rjnH+XfB{Hn?on6`c|S2Y81W58 zh!LtBImJhbqF}TnM#*5rA4LfUsT>$lN2>b>UF_=g8b}KBWCoFeq%)Fbskd|GfcNWd zwtCwG9UZkE_r2Bhlja_f<*V|I{E9k|CDMpbNN zM5oYiCeF`*7h{UeiU*M76K8PhW4*oebD89bSimq2VvvGk9CL#*gf^isL2~lfp%4}g zhf8Q|it$&%oZ(a99=aN&9pM{d0+0hqm(W7FG{!Y9%E9l|$)q*P@@#g{K2xt38I@0D z@%Jw;C}FAemG+rhp4Y@#Z@*t$(1ZM<=!a_|W9fi*lGz_LdR+|_hCnnNjfR=Ci-n@; zf#^kh?T-Ru;z$ea3u!Yc1EIg@o+PM~IQGj&@SYlPnbO?*hHHFOv)9Ra| zu?-LU7nL@bZl2lJRA;X#&~~=kIE9&ovcC#`TSn0n%mQ5+#ljxpwV*u)-ZG|4JNMja zt&=9T1_Hypg9YN{M=fewRQy!sH;(^a;6B+##^NDMMC9S&VHU}v zT`ZYIXW}3Dm#e~NHUB)&o+^0mI4$+cT*U?f%hi8K8Og?i2wVyOby1GU1eZwae==xU7DI*%f4qFMaOf!%wB} zTIMsldc74}D!ebQ>+o;r_)@+7`Fi`M+s6H=v(weVE`;eq1Bff&Oi7We3LWHYtTUnr zkY}<8n1fc9B&j?cPRGJwI)l#5k{mu&U>v6<5}%>yr=u~_kh65Y6LAISpuQDQID#-m zfJ3_K4F)hiORxe*2)Cr%Lc4`_g%kiLSh_=Fh26&$Fo4$>Pyw##2`N|@gKUL5jaH*6 z(B$Q5^YR)sdV>}h1zL?B2ZKIyVbE$dD=TDA-mUBBM5CPx7F@7E0e^YPpwVeHidL)3 zLjpx>F430gH5#U6x~ekuTvMzs3e47*729X82k(h+o&;_*s&!sz4*axI@GMmf{wFOy zOM_h<1Rs}6UoXopWXVARq5x4DFoUj-v8UIMf|*~oRQUZ}nHK}$QSJPG4v;h&Uj|5q zat%O60Lv$U5sY?}X|zQet)y|lK0vE0zzz`68UWCI4MSQJPo&Y743CCLC4U zAYs+e0fHHTS<7n41&F{PzY24&*W>b@rBnW5(3I%>ZjA;VpPz?TkScP{2aTF0M zp^vnAIH>gDpGSTF*+2-K(2OD_{~Yc=I|kG_W1&-;`?tnIX&w=Wvy6qnS+M65gQo0^ zv7ps4P0`rVFsjXG9Sqt$CPr{}I6ObL6{?>g$vHiuo*0z4jOr;{!EcEB2x5+^k0+or)Ic8$k~G0v zPB0;xASy&si)!^I>B38w*0I%O&)O>OmG+W?Fzl+~a3B!qvUS;PK~|<}rGBMXHdmI=g=K@E08H6{g{i~~@x`_f4! zhtvJ6FWo;J3X#eLzYuh4(hcHxJBrp-KsTtCoWNEuY)L_qm$|hOL>YoE>5rs;S|Mo+ zwYlx?XKlt9iD2ktg)A}y$xxfKErv^aV6(lXkVQY{gDk6RfQGE+MVLE;353fuVf1~1 zTX06nliG}Rokhpbojcys+UiLU2$Ri&rRVKEue7;j`nl6fzQN5pkW8~UWF(yqejczL z)STNMRE*7)@)91Kp)?8u#QOqYA;|F-JOtCj0NJ}95i3G2QH)tg* zz(|)KbH>*=r=?Q^aKiBMROIaMb%rcHpHKry@0KN}M#6Z~ArDxwNsGlF!6Gw+i45Z$ z`lz^<8NeC|Ifb0p!gYs#R80YBLW&s0G5)NF59M%`X*iVSY@anaKm_mdV{Mgh`qN9#!$V1 zrM501U&)f+JKU{P!}@ARlYU{fUePz*)arKlrz%sYPGd_SIGC^GuZgX}K7FHu9>3Vy zQ0t$1G2Zdl^OqiMZH4+w78=#Z0?P;uH&qfJ@yT)9rm2cBhlVQ*&12LPKKg`aPCZTf z38GGkrUSJi#mWEfFT6WW{-e31q>3(TCP=Mn8siz z6ga~+F{*WE#lJByCquS8s(H{&$-dt)xr zWJm^;3!$z_)U_HG5sNk0Wwn4U!D9~j3DPTPQsiGXT;FznYhiIiBUy3!Q?R_?L|edY z=eM;M>TnO&seXFc*ice{d=cjkIvIt`A+dS`DQpIPJ=BrTV3*Shdj?%`W!D35%D7@@ zmENQe==Gaf{boH*O!_KkaR&>PO)t}xRf;?7*NZfjWxCSorOek=JH`FaTQY zN~U}tJ3hXi#Z%YgNHk@iw2)oRo<%A|O+$ls$w(J4gZRU>&=Yg)j?Ht-W8vQ3BQeLW zed&+qI_7e?To1TJ$tyve0=c6EE4$B;gok78J{HBv+Jv%?U>Jq0KpuV6gK=XgcnV8= zd_AhduK(DFnovDdew`2dj$}5#NgnVTpux!y41%fl9lj0igR%B*M>k8f?|A0E4ec?0 z#U-R{d`l518n@9Co&+F>jLx8tPXStL^~kR}Q%xiIO4F+8h)n<2<3 z)Iwn&f(2EsGl1d}*2l@A2D=Z~ppQkB1W?ZB6I}ExHPPV>+T2F3N~Y^NEW&u4VWhB^ zz~zX_fKgM0Li~RaMif4-tExEFmRL%INz8!Hf6+H!M5#tDjLn-l?~=yq>c;AevIZ=Q zpNKmv9ga%pt9Vk~xIEX6l}0r{ibz_^jsYjUj$A?}s&?iefbD@sND!bGET7{=fa3U>t|XEN*Wq1a!5hw1GPG0d3MZbX+5vKwLn`uWU+8!g|xCoAuE3&a7N~S z0^v8T1r2G1ggh127TA(hYqKTeGE*(<>b2@h>p~0^J=2a!r>0l)5w>VD1pup9xfQBBy=~6&IwFc&;R=ejQ)y z{m!k7{>~t2PO2P28lMW(X%%oN_|PdOwkls$m5&Dyg`v=JeaKx=?ehCwkPPZe?Do2% zdi&?0-BHK_;uAt403EbO^q&G;O@ZS%;u=wU$)G& z&n<5#EYw$YdY#&t_NVi$<+GYY-OC#m8f#h6g){AQD#sNS8LYFWEv+rGAi*Zn%yG-R z+h#2)tF(aiQ;#S-PQ^eTIa9{f0<4!SN;RV7Q#{J2;L!5gW~Hp07sZMY_fy-PSl(T` zc=i;NQ54YqpHjCGNpytHautDGPNRvfplzg_P`rhpwjjtOILSSJTw4-334G?HI+goQ z7LT>$>vn_v2gg(*kseTTN(bFfrxXSgbhcy-B#s*PZE*M^%0>8FIR1Ox@P4947O_3m zjm7zc#;Wmb?H@b(L7^W@Usv6vw;A6bpZDiKcF-Wop^^Wcasqju1CW(cQa$MIbkxs^ zQQ|THHF;zNln&uJgCRgYw~oOis|a-(xjS2iFXkxI!c0X-!%nlD1g)Yh9S+N<2gNiI)q?YORS=UCm<>n6^h z(4woTtv$SAN=L1?Y4(O!UD^V84qOF20UP+UB!wXBBr(dZ;9RZfD~LIMG{69lA6N$1 zyzp_GKF!B{I6vRz^fj01^<~XI=bjadSKPs!>!-Lt9-)0oZkByYT_+Bmb&4-6*SOs^ zpjL1scse(Z5<%hJ%G5|iZ@9=uL$bR3pVUJKZt4gV!|{`}DG*HCVt? z2_`cDlN8QK?t<`OhWbcOYPc|n4CYFJW97rE=W84bw)%d#z_B1KM8E2q;&B&@k`h_# zd{(>QNMGOT9>;>e3c=7;3c;{!l*owkS7YQo2wyvCEOw$zq>mA2$+g9JI)Gk4A#0a7 zL5$+z!qU>hgS2xcXF0~-Gu|<=`C^ccRkh(nB2`-W6MFQM!ZLa|-Z7=Q*-^`>k{aV6 zG$cq>ZivyudsItCCO+qL5Qjz-E*2fc0IV|douF+pXq%`t#=grqLb+A4o%=?V+fyz9 zQRX>PzMzl)S877kFN#r~AnOqW%j5?93@&m;N_-0Nq4;2M(^xnJjs%88Ts3nB2W8yV z(cy~ISOAZW6H^iw=wp?-3R#v*$XOfWh=wZYEhJ$mN6f;-2u^loXixZMqS93PSd!wv z;24)jfi(>o{-VY)G>|k!o@-wB3WFbnie1>PDBaDcx|^H371p|T=FIl=srH#O*Uqx{ z+LO44hkSo4Zq1^{iqolZ%ZCiDmh4jolJC_hbaM2Ne4!_8jI3^!%SrsIy8m@0e16Gv z#3myAa(ar(QM1O9BGk|F+}OGa zJ}v{>#MrTcvz&GO=s<$tzz_06rTQRtT8*sHR+s8@I;LpgnA4RyG&)&RSxFCc_7Ve}8H!$~ zE3MXOWsUXB{!E|Z7^F9AHE!~H*mYWF*Ax_JbPZaq(PA9At)sgP^Jg_Mpk{4LWFd!; z0G~UF!)G%Hr+kR3iVTyziiAqxDWEv3@HEz({soJWV}OgBKDaH2as@CNj>1-pC{TC6 z1GldX^v~tuu7s$gM^$YR%E+zE2+z+^ zMC9mcDb?3E))=V)9}I(vB#_2K zyr#Y0xs^R=pO`+3GD_>%*DQPMBN~HdJ2M)q$|o6Lw=C&Gs`XfCcxpQpZ80v2B%bk-(Ntvfzkq1oo65SAPSBkmJ66u!zLjLY%-xLb0i2^Y|kBB3fTYbd7iz zLiSzchNGj*^%LsD@QOoIR(4p;^6j<5Jb>2EN`T{L==eCikNL`0@3-eT*mOi&&-STjxW#KB zXg5i0Am(S2w%{Xz42IFl;-|P!&UfUesWOJhTBd5mLLZLM9fd6BviPm(Z23W7r- zZWr2dM`yh%OsEKfSvW2pIY{%?h^k>!V{`}+0|Izlaat@_=9pj(FheNbVW5aW%ysGL zD64>wG`oW(<$k5d@?2FzRaL{gd~ZyDEXUR7h7R=|>IEL#imoQ?1T8`PN$4)n7sSLN_7yA@0Fk~!pN{=@@oyKiKDx%GX$Y6}wxHF-;Yl+FQtDLUnu4dSh{${L z$tT$rqTq^eezRhD>!wXw&`#)4RmD4Yh}mK>(1;lF;PbG8WWj{APL9nO6lpw4$KsJ; zpD(VYpwe*aLs7d4iZi6hYxt88bkF?z`}6nvkUZs!!<>qAs->6WX(?h0c0m|r6PVqV zNJIvx{#aj&)2DoC7RUOao~8kKyvAtbvO%??!tU~t=UywU8L9L7nE7-Z4-P=d4W!ScU^VkcQfmz*Nd)?f^d;~A)=E-Fh zc|~mvWexRq3#-=VjqXKIcd{JwAm%`pHi)=6XgsM16xA@N3n}7m$yADF%D_y*Ljo|1 zjyOM2gg9ikC@_)Rk-&XPawSI{MJFH-&M!AmPyof`VT90;MVq_3nxIWchZ1aCWy2x!Wj1VTmyO0cUJ zBp0=Hk6&r*uX{7aNp5nDb06ujkB<{Ud&myJ_1+PR z8XYueIF;|LTnd9!B}yunA~ek9PJM%eqgc}nib@b3T;Y?kSgd>sTIzxwriJ&!<8bGE zZuOSseBOtUizpqnR!wPuTLhu&a^?lN?Q-5CZ4mF~az2$C%a)8>ZMGsl&Kp1$zCw!; zvg?HuQNA65!FfhYdAWr->GJ6IF}Y+k#%wO5WQ0)aB5sXI@PGv_rlKw>Zh2v?2s|LP zW_C$262Ms=Z391=fdU;7&}#ruW>Vwg^DCM+ zI5#v`yv%JKv8bnYc(`>H;T+bYV{d?F5GH{$!Da{&iI5uT1V!_9TRV&^$9K0aN-mfR z3OuvCb6O)tPmt3ZRVvHG66d+{{6YU%>IGqko!hddaZ5|({%u*A|B~kBJXgwMLlGd`^F5&MSXK>2R&9c)l&RErFGe)Vv zD2>)o2pTNOW`cGb5dA{F6Y|oKY6irkAt#I`JjNWfPsT<*(U2UrBw(sX(PRyc#}OhQ zhuzbX9!`;naWe*6jBKDH_c*8mMKeK0r^qSdScu>Tphz;PCle1!;+wK$LQhZQ`0AnR=_#TBYzo8P=Tu*>_;o4Sp+U ze$BCP`Gy%Zy=E@v*+B6cnOkGu-eH>@TZh>-OEJqPTh6cl(Q=IIr?2DXtgFtH!>O-r zhu_v6Tf4-$WQp@!l%wKU3N0(){Fv8WwUwy+hZXgfZ*R|;YsjM8C)j7k(x-B#8|FZV zxPyqjpePe`pwO_gLN{a!ND=BxB$}KKFgN9ZDmxVk;HUrL9B_?HMIw2WX0Own7P5l` zG1_G?GDPizPD37*y@bL**^r$rwqFEegm2)IXkzBWuz9hY?CB@%2hVXjWlSC06Ywpz zM}6|ci%QJqk_-o@oF#&b*_xYgW)xU|^=^XaIDp&|EEEsy8ObZUhqBoNsWcCBUlbNa zPQ;mVX1S`=jvG?=0H!&eh$~rFY%~_%MLSm{g}F4anJUKO^owMMV{?j)6cL~q$yG=C zeGvL5=Bc2es=bj^CQ{Ldi5KPO7(Tl9=+Kz#*hp@WK8OO0&4n$>sS`_#c^#ZUZR0=o zeilX)wFy5epQk&@k2=EgQ8TlEIF$3H7jT@bBl#JvcIm&rw6p+GQ z!YHih%00dsj9Lq78{~7PGIa&gBfOY0mm3@JW8)p|=TVifPx|D8(;W4O8k>HT{(+-? zHP!n1f>}!Rz%&QgOSbL;26jlrXN3c~ki0a{4xFySz|4(}lXIZ*quRPES&p<97M=;8 z^&JO0t9&bbk@l)eM4r$*;4=0H_6LlMj2r+DBv=4cQOvWzoG*k6;lgi#9MIl0%Qvg3 zZ06OoXRn_#XT8{er>ZKEO!{_?+?YN4#YKw8!r5rfORwj|>Au%Sa@8@PDXd*?HQd~DIJ6N28NDMSs;_DR_b7l%1@pmT8Z5|)G zaK+(mOS<%d@+JCGmBKX-iha<)1Dz_K=PU9}C1zJR-`u`wkW zDODshP%N+D*a4gcfqF1h@liwZb|6F){DCusHgZRsFXULe)-mIG$BY?{wdqrtn^7Ov zQp3I_^mHcvXFAr#=_aD?!=QQ4vNASZvKN7Uoz0)NXd!W&*~6pof$PJ_bK{S96u!j7?OyO`A$(>Vs0ET zS5Y9tBN7ml9Q&l0F(9U{iC|;0SCLg;hHOvX9Evv@!6%Y}5YU0rF-Z;LN>>+YD;A4B z6ICQ640djFv!Qo}Z$_^{J$aQQbrjQkmmgY|`+%p&<9JPYms{?CTI#2k_G#seZdn!g z(t8OH;Z-1ho!hdYj@k<90^Ecq0jmseDO>%s+U4CHf3(wF&z7KQir&qZH8<7}8@I3dSyKn_b)ubSeY*7m5W$x9K5vcF?&w}#quHIfF{Kw4aI?N4ZN8jQp`hB?9!hNu`?b0S~r zVjr_4x7UFawFSK}GO}mbv(K`b2hsWqi^MG%(Ps$aiGiTe ziLXBb!O(2G4B{)ac)B~>&!6$940Y)5_Z_Ar=GZwC!c5`!F(O0IE?;A>fxAOlg8Tr0 z(CQeZtK?y0>kb?^Ke1>(#pJQq4&bxl%Yvl@FqK4CsLo@^cD7pB-AswOsS z1#M^(DaKsq!#R1{D8-4+GE13}2qz5Kbm*fwBLu>XCswgo3d_o_q4kuCEygNXEyXF> zHZq|UgA|*lgtk=b8>t^^w| zU#aYGmP|JBdXLv{vA7}gP~bE}d{K}L=H!flSjaZclN}ZgDlBnBph|yOy`*&gE%{FU zEVjL{@JNBJ@U&D|cvXSDu+!0U;E(%T9qd?9QJE~?!RK5TS+Fur5kJM7?8v%FYpz4u zs|pJd4{0krQi#`@_y6%gs{{3Czy|vA4$ZHi7C`P-Yluh!Ly(QBCO9$7GA@tjXicV4 zGkYD(FbYipPCm z7`Lh(LihxoET+i#OA!8$#g1J0GS*wM0co)w zR4g0LgUMPpPhF)}9#`$tGJwfAX)#AD6G&t05%Xy4}!g8{QdVt{i!mX&_{?SGOV*r1U8m_7i(_Q z*^KnN8Qx717o=_Q7{j`t7vbO=**3c`eZ|+VVtbxvN7Faim9HJyn7;Y>9NMe}g!70j zOCN(Icd-D-aUOC(Y&Ix2#cNGK3fYhs>^5{b^gwyAWIZjrMvKM(_Gbw(VLd(nuGg1X zs+7!iVX4IY6|+U6VVDO8JPa+sh}p%=KG!~H z*~fJ)3VUVu>n+Wfu;az)6Z7qJHnD)cqIvbruN87yFKka)9ti1OScEAGA0g)CjRIw$ zsC=l;zy+9a2_t-TK{|RU66vRXlAi*q8zm2{sKcCt5&I%;k;A`801puA0&EoqWX&Ts zaA2XZTxAN`?2UF?2(zoIJ=Imh;31P=+f+5JwAx&a|I%qyrsh(6h236JUD7-NR-BQD zslQU3qQSkQuIY33?(tI385rh)7(6UR{XrCqOUSj&&aUR}p3~BH80shJ6QT$BjLu?A z>nw5dq14?xWgQEL!wW!&Xl!)AYeFkGw2*HVIu@FZp2);NtAV3BepBELttlwLph~Y_ zdh+muc8j-l{SE7RtSAe+YGfZ|Qwku3nshVwxw7P;l@r%hyRGMpo4tPh?AAp*I&|eq z*CeC6s-42qMC>TEqauXn*y?Fi$H99L+eLH|G7c9dU==q{Cq?^>~5z@rh^1^z7mX#k;uA}a)7VrWs#7$r+DWzc(0ZRUROe!?noe6Sv+9dw zz}>4KH_qUzYq6F!lv}6OG#SRV<~P^0SWGosXAg0IW)_!uys4G27#kh)Fe4Ii8azS+ z!W_*1Ope6{)PJlF9HZ~Gg;4t>YM;$%?EI-9R??U%%^=22jObL zl$aE~1+NGu%HbWHB!r^`>J{1R{_Aa-18>kd`05~_CY(M797)C^^Dvzgv8QWl7hTg) zJ*R7RQ<(x?({tJwS&pe4Xwv}g_%9`D&(Gl-&DAQdaS`8da#7N^XQ;D=vQ1^A-MqBt42yo>?^*-KJMe6HMn>X7W4tSCLcdt z|DBjXy-!jpwU%@>jtMB3pg`9o8B@;_#t=r(W~Ox5X!^AgN3=X9U_@>)^5(~=N3o|4 z50ej!rY(t{CUg*B0+h%~h69He-bF&30zt@!1{maG!I`rG37fg)g6f(lqa9SgfS=dT zOqaM%m`nGmm4pRUXR1Hlp&nBpf%_5(hylDR(3eDoVhSFjGAu@qeONt!&gl-d20yA| zrlzRt-!=MFOtqp81V@57!I9cQb)$9LcwgY0>a3nqTDqom95boT^dm5%f|*M|Ui`8c ziQY(YKP0tCBD5qbg1bOTa%AERPw-E^N*pA^DA?1wN&^1emO}VIp^8M8h=LG&2|toR zf&rogM4?bE)Ph(o~J5Yv$WN8lr%qP7DgaLGUk6;AMf3}T#ccmZ+(c93bZcq(Sd3%?Squhi2N z8Dn(OIHQ`Lh-DAD&T}1P#I&f&f8;p*AX& z&xM?NPU*easE%|G74dOeP8h~JmMW8_fGYh1bQ3CW@d^V007oRoZTy4k(VqXKQT*!f zZw=LmTElCJO410Yd$fWlZ(Zg&-Sc82D68+#k&haV01EvG+GHZ(7Xk^eV6bS3sH#e< zsO7jL#?Gil5dXvf**Q7Q45io)l0*4CPn?H%UI+l;(8L<6(7BTUvVc(RZ{$QAn{rV% zo>L|l(Kj*VMDJ634}U0yFujzUy~7li3heM^~t@&Jo zb>52Lz{SlCleN0^G5di<7u`x$k1QuH1(sqYqgi!KHD`4N-I%|~RdqyE)68sG5;$v) zW5K~HxiJ0CE1Rw>EZkFAQe3#VuyCut7HqnxwVE{OVo!0)#>IuUf;~t8t$eE=?roam zJcWIUy@Y5Zc(24m6dIKc$KBACZtm#%vq#0 zZ?cq(BKv5iSa_#sWYK8ilnj7y!$FQqxa?CInn0r?lETOV@)6mB*cTqK0B8OSITB?e zZw@lf=7<^jh+twA=EAcizLdn0dc-*pIRMOw0dtA~DH>ha;AV2A5|ih)(#8^@L?}eI zG^f-94d>a6ObkCT#VQhx5*>t%l447s$)z~LO9Ju3f%!dwK+k-X4eG{xzQOtP@sG9y zq+UqaM>Dx)=0wpLS4SqF*#f_K)>|dajBy_43R;8X5pFI7+K&7q1Of%&KfrG>GaR9& z>aBdA(RPz)t&r%p$A+I;&G0M<+Lq3@}qG({m zQqhe6P{V=NX*V6rb3GLT1>m&IgY zmPjN?%^D74ns7!HC0vgpQjr2a#e85M1&^`GtIiZ(DCQehLJ+_r_~Zm_cmv<>6L_y8sT&Dw7pgb@mJ*)RZ|K--xm-~7G z&E3s`s1k;6F;S~1wTT22dKxJhL}H}C@I`iLEPLP$z=PJ;7e6gsdo6}aG#XN3;5)gi zQ_|?qL^=rh?kwwGVlbk{G;v%t&BY^;!NLB1HB?>L>X5H$n->_&ZH-wj#-kNRmOmJ^ z_5o%GtE(S?3P2>nKVP~?UHl*i%3?(nzLKTtU@&)fF?sLacml>{ZnvzW1yW)-&8(-8 zjnh%%XKE;lyMau`dJlCKcn=oT=SMa6MIGDBJ%3WkuS@RX1Nkz(e<~-!=GvyZx-}z1 z+-&=oQIR%kBqqgSQ=AR-m^w(b+$yJ5Ukw29le|rlsizcKz?$MHWo5t;jlx$M%S;Rq z&<2?ls~rDtMFWR2RtH+IO9~q5U{=o%2dY02hiB(AU+?@;vqFY?W4!@t3k6u(z^MPx zwMJCT!ny)%^cor|6>}nR=sD)_ z2C;$>jx3Id0PxbHFTqZ@RbhC-)HX~53Xp^V!zq&dpu4@q$guF_D=fAwj~QmjRpn(3 z72e1F4Mln7<)v%2`Of?Y6th0hP*&5izr~`*Vw;6JO!_LZ zy0IQyHIMcVb9suaO4M336ER;TR*SiP5-r{kRT7a%Dn)h+HL`$G3;9b;pC7(AgUPx#4_b^`8nss2!927X12T#V5i0jQsfi2+j`;nP`M|}K3sxu)bvK}-1CL%p8r6B@-gW&mQ@FoarVE({M znS=osBA5ID9bE`o&Lsof^1nU4+TBy;n&+5X->cvUwG03tqK-migJSo=(k;GZ@)Q{u zkOI#KNmHT};YbxzgGuL-W zB7#(~2VV)w2tpj9F+em*+>J-ligBU}BlTDSSj-X;@wJGvRc5vi(SUiDEaXS;D=2uL zhRslIb93#nW9{EjP3(#cV?E8wMj2{s4=k6Mm7t18k;F+1SXebhjj%_(&yrTo7b0n>e{6N%;X21b6f<;#_im=Hp5Omg> zJT^~J`^=KsD&7ZbFPi!MVbKS?EWJTg=`65gaq0vV)!1EBMs;B|W55_gm!Oa~H|j8^ z>F9U0OaV>57h)=+@Xtgcg=E#p&M|opLwt{q1}E|qT>4DDCBhAS#H(Y3bi;g}LZyn2j}CE%%nB1#4Ogz7iU{T9fWeB+ZkCy52A zLbEnQzm#TH1W&~ zY+6~Dcm@1Bd=3oNy@Iq^Gjijznsbi?8Xm?>OUZ)}1G@5>Ym^=5bgxjRHrqUq69}~N zI5-o8JLQ@+i?=JwyPKyfm>fs(B$zF$Fw_a4r-)2ZCefBUsYx2gdCS-W44DeRtPQ_k zK)s|`8z_7^#VNcdEVjSmvr{7@6-tgOHBL2(4o>Z@aP?>EML3{hJADle_Vl^{!lfV? zl46&Un9*_I{xqANI*La`!K;!YBS@xyfK z1HL%5f{cy`^dYS%B+DTo8;{D7w7;DA4Iw>1a`^N-6WoY`@F>a^vIKPsByMiO2!Z?1 zSQJ(zvxJp?$fn@M#^nPXX&jDbOlgx8M^l)xYpORZF9?s2g(B@I((K*t(oMeBY8H8#N=K7Z5 zhf`NaRejdvw^q*~jKhPBSv#3yF6|(crzt=_3-#py?L(QX{w$S(Rfukje>gxaSs{|A=G;hB9ddc!w&?bgmf*wcYiIVfJTEPY#tIg);_}bl;U~m z3ViY83Q9rtU8~`F{__1I3o7Gzlo967>9O}7{_6801L}nsdLahcU1D$ph(eO-pD&;U z3!wNcq?3ghbupxjv8w^y0wMoHMnQ%#ltHz2K-PYRpTH-opl@j`sjF+NGo(lx@PVpf zIX1V~5B9}F2h=Y3yShUP52$_csXZb`PN^1|5HtZ;uJ|Q116*eQb7&RG^a2{tB1sb# z;6PY|l730R0Z~!WSOz4V5|P9j157ZLjy{^iK^&w>x(T1}84kMi&sZxNjNar|q`5^w z5#xZ)Kl1%WY2^Eh-QBt0U;OW**d*nJA>|252#X}qZ0edi&H)hRfdx|ND@sZl?HB;n z0da<|6#^90H);I2va#iPoPT79?}P68TB+6G8V2)F#(g>Wl8EwW> zbifWUR7=VuN|fbK0ZxBL7F}_T*+ zpegJW??DzR=5`ADSV|r`gJO(mdWCDafBAAoALC0-UEa^$dt_Q~`VIOT=mxeezjqpP z$i~I;HE$>?mU?n5FJaq+luH5>X-2*#-9^=L)z0NIWKWFdpp(L5DlFu;dCGCf|TIG%l>r+>UqB?=N9Wy}cuS zrBdi+-%r1*u$c^Nh+>*YsDGQXvY^=g4x76q{R^ZC4VM*rr=RIxs)c0d7dV!|E56FM zDhX3n2&;m82_ygelZwjJ zLRoS87iFNPigHz+wPa7Gh%JpgSHaiGZb@3U6?suO9ylxJlwhKp%%tSjrAxOaCoRp# z^#9>VY~?K#6}PO6#lKNl<|!by-_mqx9~*m^*a#}_>K=ax%o zevf}sy{*b*tZFT{TFbv&Zn2cZ)=!Ef3qOY#MwqdX#y|V_RSlJu4KuCf=~s9ff4P-& z$uKkkF}6qKb@~Fz$eLTUq6JVCGq6PHKZFW+$B;es8<)_<7u3L&K>7(MNGgUbo=eR} za=SDA^7kSMqGYEf+D8$5m>_zV0zKno4w@IIXAqAwIcDft-5K<3B-eO4c?&0K&k-$4 zr)bY}7Sk`-FLASvZnAz$E!Q7qw0amlBEG#qD;0w~f&F28LsvulG1AfhOq$g@d$?`Z ztTx(k&ZNxAu=;>7Q`HT*My6^#XM9H{NzQH#Nqj+uU>DB;B{&fwkGQZPlu2(eO;n-lzV-{Qa3iPeD#xju7%YC=wSr zNb%&+(kvW3E#bef57-w?68Rz1GkM5l&@vUr>=<)FK`T@#Ug#xVe$_t~l*wO#s*-Oa zfVoIqbK%Y)P_J-beraibjKaeA@h+clv4mwAWP@WPme)w6O7c^bD3xFGGUsS(Jr(xq z3XjKJQ*HJ@+!Kl==KGN)0X!2@BGCgoWK2oQ@JzKfpkzdQWr_t-S0*RC<9f&E$dH`CDI9{8nvUq!YJ7=2ZZ5FJf67zHwFigWA+bXiVW>Zn(7Jp0+mI0DlD zfv-wuOQW`8jN(fp+%u`RRHcLrACJMhw!JyNNM_@-Z+Mgo5_m84M53m|qc8^N6-n^tu&mSKUE;f8js=AZ}fQ{gTkF?wzH<P3iu~J6n8h_gnkLPY7J{RlFKyr+Z_d6v9HT51>d{&ckW{FUp!gr1 z3Z*eA)i+3p)?}U$R8;8DkvY^>ind}OLXD}`>0>;OO~L7-l&JW8J}CL{H}|lZP-VE* zl6e&8?VQJNVGr0Xw^$;S*B<3Vo~eK&AH6epM(K~COG!NK8vfpe{5D85{5}EreU5?J zi8;~qz57e`rGrvTx>CAM`hs+nbT7H0KA`r$wFBtY=^1sefnTYZ#AnHp zHJji8%*KLjL^R(eWzyBs&C+esz0$+d6T~aT$W?n%?JpH)MVF{oqSrlR-cjFG zQ>o9@t`J?7mxCig-fe2fiVjt2m7e2`n%CI8nImUVOyy9|=XVfdScFbQ{~Wbgy3go3 z4yoe%dD14HjEEF|gc~2>zywxc8J&_-hcdW>EFL;ciFD8&+~rg zNV3Nh=wD#}ow1~&Bk6qK`7ZDEdEfWkV~?Hdi|s#iW`9h6)6nt2dmiX$0N=E;Mlgnx znK#81Cq;)tFxwGw3a2s90myuz^F2hndWTW4__u5GQcwnL_U${q&)57r{~Khb_;F?A zu=!Psc>k&4>ZoQ|akIz^g#Q%XdZCHt;kKZjZswK>c)%Vma3a-g-a#?tT?p~}Q$8(S z$M=-;4NIbKAgWbDZ6&yd`LSfNFvv^&n#c3Sxi2EVru?U%>iyHbzAp62=Y3@i$Z%*Wi*+t|uvlT)sfo6j5tmpXcf=(|| zMR1e9cEWd>riE?BnghE90>ZyvZ*-NUdTI8`4jt0j`0tT+fAw13;(D+-K|LrvC@|~0 z1-aIDgdf7X2AeDFQ>Jn(?fas3Pm19Ki5|-9u<;agD<`_N#>bJ@nUqY?y=|Fdx~f?w ztvk2%3Hz0cQPu%dqX<2Lw5MJvTz6ES&(<6lPCT%0WU#fpt-bZ+#fz4zsd=jghQCq- z*I&H*$jCyVrKzL2wVk;)HFohU;z0m{fM}LM5EXb+7##=~34;Yc_{rf;CHOFpqw>1>T+W#R&h=Ji|F<`|4mu) z>176Lesg*q9FNWIV#$KTwGgQudx_#_GlO0 zX0Idtv`MwjKwG^+zQ)ERHVJKE3c{933s@U{G(cs_0Ah}06sH1wAyp_SfXiXut`?PbJ7KgX#q^xIITv*4NK*1AD;yCXVQi*}% znx;txG;f_$M<}7fs>Zo;QRtBMDZfWKLdO;STgHt0PTw)}QqaN|Mi|OY^&eDv@yed` zGqB>~7VX>p-i6~+2XsuOeM*l2t?b&OVvXbvRQ+b_Fgjrs$cgpl+Oq*G9F3i}tgz!M zC7pf}63UZU7v!W;Cou?0&Hs|0gBcm*@g!WvCjGbe{$K_>dhQ2%UGI4K;qvdQJoX*x ztCZLD`0KIz|AODHMkCOJ9)iaT)@~JmdC-<7?5!9eMS|Usn~RRwP+l0b_6TeWUq@go zz@tjz52~($ve-{~KRMVZ3)o$P6$efbIW4D{A`6fQ^KMVMR4nHIA~Z0N=XbS-oU1B9 zo`zxs&<4F8{P*HbCOeZATxowFoR!%bWJOZbOLg8le|Y{)zj||fi`UuMJvP=EA)=h`*+Gp<*Wh*B12z&i*@kqrzNxVz*xEGK+3IT#wYPV8 z!)?v()&{E%#M19bw_AK|zLwUe&VkNWHD+C=>bx}+NMx| z3Ihe-S~$eq@0pAjhAXrU{5(I<*m-3%)iruU-p0D7h_@-&)cm${*ZIAwv$eHtsI9fN zQwd)8OyZy(z2eQ+V#Ju(+>b9+4Qwyu3O-UsfEh+aQe(<>ptsOzZ( z6F(qWi2afcEMTR}My|X`--$n}Bea&Vk1H@HQfK(mwG*hOMdsEVk{nDJaFVZ#MdvAZ zAobVP-Kd(KSCOj+6TteNP={QXQ0S z>!O&$ZQ7%-L$jzY3s=cbYlB(OVnj98%mj8Q#eiySJ9J7F1)p7GpD^;z9uKcr-gi6p z>k)wzQW+I{a44~1V62z#(=BS0s0o5igMHmD2QN2HOkohwyC*?}u1*j1@4F3Ao{pQL}-HmMcb-r!15t}`kG3(6B-ziY(?yIm}soneI1iP_>|~k zp{bXP71%Q{oH3~DUo%=@yy?&gQZrp0F+j-@wl{Qwab~apD6m=Rt5AZk$}kBdtd&M` z`Pkwewb>;ROr~(p%2-_7zJ-xVO=0b8-?9hS5A;H{PAQ{QPUn~V_VS9weB>0`ukH}5 z0@BMd;ce93q9Z%dd7Hg3Q{aeWM12R@fHm47f;hoJ-2X26;j>w4xsbKO9xtA!fCjR> z!d@10NM#YUF_U%UAQVpFeI^8HC^eIPeQa=i-+ki)@u_{U?e-X+;S1t3{w+^;Y}j*y zoKZLGH~O1{v8jEx#Q4FWoL)_iE=+w~yvjMb%o}mRsn?G4d+)9J9;NkN4!`=Q`Yv<; z>`zk+73!xF4lQnu`&M?k+AllKE;w9z*H{;Q1o*x+)Ms zW<$NRzo)0)S>IrqeKDuk<8pbt&TXF*#h!Fi@=$X_`&{qfV4b(sgREnyQ|oE<)(sB! z&b6yLmr|}ewbSREf$AJnkEzW>glIkBCt&o?;$i!KC=X|W;7x%FdGSiS+-CYCW3jPk zVq>wl$*2|c`5v6erBgVi^2q1)X1v8;?001<-03&r&0YEY`)~@ua#(4!)cg^=8;k&i zkxEUWT}kVZ?Va*YxibCg-pNRiDYkvXhsx{FWecXd?Zz~%i=~$wCC&x+O##<%!!yjv z8X06jU}g-+Y$>(c`|QTjH`R%*b2peP%Gmwv*jfPz_HTY`>BK7bLjk{C#c#160=mHh z6ot!x_M?~=uHGO$B!XS%T5LmX2eV5XMEk>9+2KKRl1PHOI1|wSJrgKqP*HDrxm`zFK!sXpX&3h18-V-ww=L< zy_u3MXh$#tu;Ea{6FmUXQ$(~gjRb8ZluyZ&@uXE_ zO|9{^2)3p_&8JcJj6n*7sN$;yJ`>N!8Y1gu^Q2Wp}uVlrO zX}Oc(;jrk!R*$EYq>tP$*7*A+Pv4vz>zsXCD%Q)#h@=*~{9Z}Xw^!`wb8@D(O8u8= zJ|zMK)DQOeVM?3yJRs~|cGAIUyY8x7_j!0FEDZ-a^LV%Q823V>v`eAUl z0HxNe%Eja9=41FbA4^Lr zj$f#@@=O}0LwO0{} z@$w(k>&kO2Phw(K^o|{L>~I7fu4-kVrW13-)YpMq=l~b&6}>#fctM0)a0x@m;nGHY za7v_ZhDB#s*{1XAsNgsCm3~H!HM7yR z27ucHypt%vv?DE^I$cwo>nG(nj?sbj-j3I^y$H5MtqA5e?8?y5l z+t~rtT{qr%Lrfg`*NYQBF2@5m+;HRP<^6@6$8)Qvq0w_w4&H#kbb;X+B*%uF$7@RyGNXL<#W;U~b=};y< zJlWTEuBp$Z8v2aT{=OzK#(lfv>G3YcD9?BGO%BI02bcC|W|7Y(o(`Ogb@eqd7^p&( zy;XfjV?YF_@z^ibu0&eQz~=$c0Ko}b4~!PiOwL?2qrfu4=77p!{z!XkYdc;vxDoEG zL;^Y;**o-Tq$B&qEz=6_7K9gsSkxw>GvVFRS`eqH=J;dJVbGttX#CNF>t6K{~Q~LU}9?%boq+ z_6gY6lT2pxW6MBTg8xWNtUL*C9NNGt zWr+wT&XvKxsuc=>NS@3FaFMNTsT>eB5T8{An+%IY>`IL zHQJw%c!aCg5Q_C6;=DMzurS&^G}O%pk8ych)HsyPCy}ZnG=F{}IkYGBPCSx04l*FN zf)v3`%f8f98~!Xr?12o~QV$?0DeIx~Is3{X26Qr5&;VGN2x9TdM@2Nk)$-T{dE66o z`*2t)_(^<}gH>P>`MFgow}FHMho^)ttU^QiY4vStM|KsNDp(#;cX=Z}a|C6`j(_4z zI(<{ane4*3a|^p~!j7Yy_lNi;t#l3>gb7P3eIqa@iLssYgso%a?_VR}adq?YS=e`w z_6(I2fm{UA-DyXb{tCW< zyj}c8fL}g?}#wyHhyn(gfT+s;n3 zVnnjf#q-^GYZjlEGO{YRb(T})}dig z4~~N0On}#eTf!`2+n;H;&5}iD$b7sOJDQvU>`_FR9r=+F+@z%(0FU4cP@fW+_SQ_M zwS6_vl1T(x0?>&ow7SVOFA3@icF#~Kl*p$OC^!nuDv%A~IUV>^<*Q8IfPHLQ(g9XFKC9BgPv>Mh>07<Aac>wh%2T})_=7%WQs^Cr~hpMU}2Ox9TVzL z)Ng~gwqRbc*s_^096`1;<_>vKCkRWzMT@gw7!-iK+2CWx;{K?F_%y2n-qyB{)HifD zt+=8eZK&^RDu1=D)jNI5dz|V27ru<=fO}|B~xGi-fuweP6I`d&P9J_{(EXU;wgVT>@~kP{~NFw=M+q_ z{^G=Htkp&E`KTS=bZB6O!|_I^ zL%jvmCWc*kE435S7O-qc`tWOjYtN)CfC^*N2K#~?G51smz7Y9Ok%2M`RC;EE9CN`9 z!sQ5Yg<54QIhZ9V6Qw&Fz2V0Cuv4{-)O+e4Ju@5#oj#+wW6J5Qb9z-nV?&_6wchO> zX>Q-`cMm6fJ)YKnPknPB-R$p8r`wy$*I)1$=3mbY_s)&VUvhk%HGXb( zyiq-eyPtL34!Xx%gZX*Kn*-GaSHrz+zdtXXL7?v#00MfZ>8>TLXIjRP=pu|nhk9Kc zZX4XGM>RAwwb!?LJ-E}rtlvEp^5a&$?zZlZc73aX=8va4!^g&rrWSvCEE-8PIFr#v zS9-$VmQ1VOu&d7HQm(6R)aT=!q76?=bEn*ChualvOAodqMy{j2@pNz4-2|Uo!)U-g z01iWL$;`o<;9Pd)YKvzL(vc+!*<={hpT zBQ@}~j?j$QwM8piQhJhOk#L>!-U9zhq^WEWe0~$Xf~E~igXnG`^j5}iLKd*3B*&Y-cO41{MjVOC zXzu_{4F@QKPDE%vFDcA`;f0cFzJ#4!YniL9l8x!4k{ZTkC0ZM=JmyIkKfpto06G!8 z1NRg_C8#q{TwjN32NVGfIT(K6!;4u1k}Gk6ZC=#LK8!tQmG9*I0X*`{;H9_ zQ(+h(kSg>)4;?fP!hNagQzL_kMA8{Nz3a%`cON-D)fP?kCCVF-P8JKkTzbn}8jNW~ z$C{5n{&*|O1uM1%id)30qoidsJGhl+NGZO5?nxqbkdQ>ZAoo|P-(lx3P02O6t7b5~ z^yhM9>GxF^W64<1G*_k8Rew)@)7(gZB^gUT){~5V)p(nKPd`dpW%~E{?=8V8xo_W@ zR15|(`jpw;KT3PHZ!)f}XY?iW`u46MVAP9q0h$8PHrvnQ_&Az*bNZN7o!B(z&=vgQ z+-37o96X4oGW+(a6>)4NjEB)BwTLg^~?Xa3gjuSW@f7D zgun!mVA)YDCZ4TT9DtaDE~gBU=}g>d3AC{Ts{je2Q-p`tnuj0`E+3mwO>JFWZL|q= zwH5Nq=JR;7(bmO4g0?P5(n07U`Z~HE4eO24k2s8Y&s~lgsn{d?)GKg&%f2i5yvSwfywf3QsX?rn zt0O1E8MH)Z;nHO{v6v=j(2G9uRMrtil0(B-qmkD@0XBd1O;RcJV5aAktNs;ya_JLA zd_lMdawNl$t&DfvwRbs!@|$J5Kxd6a&3rNgSOr8&qVXxPX>5M2>S6)ci0)7eVA@S( zIQP>@gfNI>Ujc2_o$h(FME7m1*fta>3+<5*Du&EGCn0{QSKHo`?k;aG@QWYX;o1jyEu~JCZU^EH|#`aW#pMb@2u&k{-4?f3j1a&R* zt)cE7T*}9W77Vk1fI~VGifqg@%wI)2J>5e|>Bw7fMpPMeXCu##O-MPm?T7rsCq5i2 zKZV!MQ*liT^L-;D9UXXFn49a0&do)OJ6fETe5Ye18tszri2=njL7V)?KA4v6gMH}3 z?1a5ogrLvz1S-9CazJ5vRo9+9U3{#v3wVTS(-Px$siX|mB_DR}N$Wm#jFiOg4W$Ic z0wZr%|0T5~eb5wbJ3a1){O`hJbN%2<@>v$wcuDlM6>(=4&L156bt%L_wGJOJdIVQ@ z;(oN`=oVTGA2Z^|WCn3xI(~7z6npx3jGm*wr#=-xz@oh0z~uek!PW;KYz?XoiP)jV z{7;|_Ho?B3^;qpNLE>I1v@2d}Rwp%%9b0W^PA~mzYikMK=8^}0?VjgRV+9pKOkW$$ z${D;+y3%=&Uyxa6B!7lDk?kJ%l+eA3h7KJe2*0?!Wh#DuO536*EQ}yWbQh4b@= z#?yzIoA=g-0>0tI$i7kkH;}!0VI+2b9!?E)D?u=kMVuH}cmm&^KY#nKx2@pY?ah0e zn}-v|s2^D*s-J$vs#Qtr3!E4j5AEXzZ6UVEwpUg6j5q@!jB`^9{Q%`Z9RWyBM?fa+KXa7h_(k`Dyu&R6{*ACL5x6v=3teAHAPf*@Gv2@VJsMEyHK({!kzJo zBhuk4H02PS9_8;0d4muH%)ANVAm|-Zy9NiB2M2d4@aWOuTyA(YogN!X-I^MLgbOxR z-h5Aox8W|thMQ6UT@Buj_kavzvF)P^ zL*7LR7kD&Pesx|ZDYq(tn(d>{oI|RvmmJ7AU!A5`+w-MH`=*|c8;Pc-gb{y!3S*;N z-;@~=sjIqL7~zgh$tkfK;tVa}$JHAD0YT*LkFt07{@+MnOrJDM6XMq9>?EcAqYL06OOej~Xoa5S~Q z{QE^C|CC{7($jrG=lI=6eb-xi&M6va346`~stHe7Di}tFfJ~NAR@M-P|L|{$#^SN` z+8VYE3UL%NmlBC!Fp;>FNv~ca-00G(mT2g;DnQC)W&jSp6yJcrIF%8lon)lYKP6QV zihBjZsaB`@OQxyJ(q*PMPfiPc-3QH_{t9?42VvTP?bSos9bP_1!~2q@Qu4ixAL%cZ z`itHNdJ2V}i~An!Dik2@kl*bSos~JU;X!2$F#HUrXrNyq_`5xL7r=?b>Lt5?7n$i(RKq7rGvui}j&_ne*=rj(uXHycrL~pe2!Jvv(j7 zgF6kDD%A{Dai^iGa%Fl0fDGBu7eFDZimvBAr*v&CX&@^Fqf^Zjj$kM_PeE9q1nUF% zh=~17l@cG`}TaJW}7bAWxF12^^h|nSbhtKYD-*l6E&)Hpv`=a9AN0bQ+17y@WwrNWR z%!vUkY__)->zS%>CY9;^*mKG9Kd2)`=2I)efxVh8tsqpoWXUvu%R(2T4nR95c!VEx zhU{G^aD@z0ivaQg!B~_1`Ti*rx(BsP1QWD(nygpMHD(Go|E|ywQu$fryt$E5?Z1ZB zCow`$YqJpUkhEck!|%%syq#A%H=}{J`ufDp-R*oir{8TZKd*_SJpWdHje<&0vKp-A zLusTA>S=5ogoA2_qgn}2v}H}5=?fr;ShO{4PH4gspHAftsezG7E`&vde9*?axwf=s z!j9uuh3y7^p`aNInXqdwsgQ{=)0R4N>{jkKmF*KUa)c3@ zh-c0@trL(2#A4A$BR!WZb&W6%@DaY-;ZdQHI7(Z5As$bJd_Elce4zy2_*?L%#UDz% z^W;Tj5jc5KJt=u55BK_fy`e;79kamJH6}vxKHgBr9Ex=f@xOfF!~-Yr_WWfdVINURjy*g`bxUk54f%CDJHH{mb0`AFe|&m)21bU?MOzrSifef{kM%IMq~` zI~cW)F*RN<%9cpp2i9Ngw|#_4!#vCDhdb2XhGy6C=E%na%Kgt!=_Br*8w?F();U1b z{ppqlxBH1uzsn6Bq_HvcG*n;0L~C}rT?q{%!c}*5pfF?(#F8wnh>C-RG{B$peJ;1T zMb)L={KMcflw7p0U3)B2l<#IN*{GZ8 z9GN_v6J1?3i91WDr^|M>m)A&=6ly$_zx4XZkx3b)xW(~+x^Y+>-8)0PAV}_{m3q)T zdGY>Jr|!R~a>6MeSiExl_?5~Y+{D`R6E}vt$N;{Gwcp=?JAft}#&p-3ihz8?8RW4s za3SOE)5*N7Aq#5{MBU~BN<$>0BOgje@s9{4OUos?4y#)mg(1$4M1u_Hild*R80klf_w){r(D|(CR89>M3z+tuql=oR@BOpSIJkX0DQ zac8_E<%>^tif!C9OKFr+K?%Y1Qs4lj3=_R6p*Ik+10f_Np$A8^H_R)2b=<)a`rkcq z+jwL1z!3NT<@M$Ux*O{nRP?rq@kTe!;r;q$emFGH(ok6|963rzl@*_~@~b8%!!Fl% zMQSufDDL~~8%m{;?B=IMtux^jM81B?jX!>w!ERH~iYnuU{Iz{=0*8lxoGS|hgEXP5 zkQ{3LywIhX#Y)Q%T))&EAbQkU`=4}MqzNRI$5djtCHhSO+|9BhZaI{cE<+Y;MnVDCVKOskI(Il~Uca7OCB5Ne z6E@?D?oA3q-5ZvGf0gc?0fG5J^zTeQ^Zhh%Se+^51TFe37Ob7>1d+b>*JOLmpF4T( zrzZOPCi-p>k=Ha~UyQUD13iO-J%PXMo9OMGc%?RKQNKoHGzdqnR19rw5N7EBv3D>m zdA$VQ!D^O;r|ZS0`iJwcb;-4N) z4T2m)C4!PMLw8It6td%;ENALXBO~7B1L*_HUi;vW8HzEfGyI&X{Xo9qvLZEI~bqV3jhMx;rw1JRJ) zvAWFk6_ElP-f%WPV))uT9n-0VYJ#*CA1R()h@U(>-|qK@4_$XU4mSw(G|gw&OIqkM zs1Z1ooq_)CwM>3cj=YlHH-E`k&U~Q0K3VVm04I}E3zI3_1|O*R;_DxHUVC-`N!2s` zqoNVE-HN^<)@6Y8K>S6p!BZ@N>lg>ysit-w9a}gHvs^TJr7DEw;X_IgRlj;&D#|iJ zBARJTJoiNo`+^ZBeylc*535pGygmb6fR)jeBd^RL3LPTD`BE^5ijnY(!XT9gVFn|_ zBEfGpVhNVZYeos%)1OyMahV{j3*pO13|Lwvh-zL_SpO1~!cg9BQ zBjmS{`jJ>?{U{zIF|jFz@Ch-m3yzT3b)vL|OSUm_QcY5!(Kc8J3~)%a zO5YEQPS6+Z*>_~DWz-nGUYPM+Jx1_TzU%KEcLw{WjEtFnDxZE{i{3T6p@~uiWV4D) zvSmkDBFUL8TLJ~7DX6UNuqUc}tXcS`-VF%eO?iV9D=S+~EdZ6^ar@#YkHn84V_40O zdxaaHc=RXn_3e#Rr5{od7Yfg3RO#cv+4r*s*ZXI&(5m#qi+Sx7+j~;oORTcpL5~`WnsL(LObgQ@1xGgRQqZRH ztV;P^3-S4H=6B7<7f#e1&25_SWehJ$7zQ=sc6! zpq`n2arj#;QU8bA5|UK&=(O1zXSsmHC6+^86*4oQ8 z7A4GRQ(LNHTrMR~EMKnWj)2Sw&DRp3ZrRKioa(f8Y#?mTGMnem(41|gPo*bdIq%M7 z3L;g#l~|O^a#%5)8-^Iqy9U~rx6t0pl(LwCqNa5s1E(rYa~0CQ1#uzR@5R`m%*buh zjc0qJPTh20IB{^!f6vC@wtd&FudXgj!@llhqA{Ir>~jxB@y0IY1*7i2JQOPy zV-F#a_hBA9jBgeY6TGU30%6X8!Um34YqenJGJyB6A0&@z|1_?>ri;0*FRfW0#)T4u+T4Yy-3&m7UUgR4zNMA3~EypXYq^jJVR_Qye z>{Z-d0e+BbWfd-$exi}U*ZJJzlJe?y|MzxU3vu~bK1OulQ?5ypPP`cN-$K^;Ld`un!E8ZrDi~$Wm#Ze z!DUuO@76>f~`%e*H2zPl$@r$CcVF9 zr1jRh!*}0(_=r9Y9b!B=dlc9jtm}{BYImYTiI>fQ2E z{#|+D{`)BS*`2V_$nS`91E_(&_A19gu9<`K{04dcl00wQZvp-WHP5`cVlnw z$8RzVB`FeiH*h;3G=Ai0PHo0+_>%Em)c8|o?1qh(95}*vX^|`F@3ImjQCdiC0wiJV zhVL3*x*=A=fpTozKo6Ep=}39lUnCL9a+_DXpz1(}aEE!Un|I2(X&~+K_vgFJ(Z~~HS&CR6cIX$qoe*^ zZEd^!2v9&U6Ia61b1v( zuPCz;9a+)Hp^bsta@i7C$33lcilhnL#Hv-@aJ=g*3%?G;CRVMv3KJ>!l}(eaeTp1X zK*@VUsgAI03VVMk$KeZu-<^0Z9=i`;I3uJvcj55viSG^;`E=nYEk1Ge6~*n>=M7lc z=nAcWeBi?2y`%T-9sT=(3+-~j4~_0Ud|{ycje)=Cfn8gjGPJEF{%CL%be$>VW!+>L zDHA)S1nJXd%{5jNebig*;uv}Ib1!!VHcvHQEKN5-Sg7M~Iv5^(g$?}s zqkEpc(Q!lD`jm2_`^=wDVAU66<{_N47o}*d+ zzSXK_Hg6P;On43)@Jt*T{IXTc(!dx+omw~YZY~wLM?+S^$vmS=uG2q#=`NcGGY>WF4X!HKhfIpg1BON z-v0ZBUJXQhaRt!xMoq^H4O!%BQBJGgd#YdHQDWgjAsR%q;ICH&LEK8XWR5Q06+Xc- zl^L21manMGPH$1?8wBEu1_pd7K@Z^a?2sqWW2(!)scPoG8?)a>?Sl746UbJ#fmiz! z5L=4B3aJyqrv!mi^(Bmt-#*^ZGT`dy=s542oAd2zoF5yTZ+v!}Z(;n_UE>XP&Hr(z zwSCo`gWb-7f*3EP3%36N4KoVm+esof^`Pb^t{EZI{`rbH5y)q)C76f-hF!3 zN5F@m{?Q3cJSbmTjr^M9fsn`O$iDR1g_9Qn72BZ$2)It7ZaVB_7f&wkJOb4|==tA+ zK4>e|HRj*{vOW56C>A`=zO3>oK9bnEU&TgWDCBFbu8l^zt%)?-;sLT|iF4v`9FX17 zLtN;fy3ziNya9ppYcR@=)PYA|2SaX6m2Y`d6V) z+Sm*k9Y8!4s*pca4Um7OS`t|0NiMDoFoO%ELc`}L5fMVwLmk6h>0q{U2)%H#(IIl*UT-M7Y z_$1!tarPchV?2WLAyZR_Cera(&ooZQx{!=-veh%@U@2Hbf*#zv?#^bqI5~NAHaR{xkxQ@ZgZ$*=W{0uPZn6NEuaK7Ye6A?%& z0PTZ+Z!PpHYl<@VCM=iC;LLHgRwe?OAoLZXZnE?$ZaGp0(Aw8w}2#ZOvBgY`UrBlzVpr#4%XjN|`0nGfCsO9CLy zt|kN4)x#R#EQ1EQIkkAG+}g89Pt;oC(~F=5MtRl1e;sn&-ddIql-b%|UftAVW}9 zC_9DSW^;7QT*?z@3X_MYFxDx+oAiuagXbX2!M$}$WkWr7j#a(ly+~-@++gHUP$%9v zG9HWtZ?2U=t^@o&bWdC8x;uWw+sYrDd#rH=@zM<~fc}_0;|E(mvm^iE+D=0&gyl)3 zFu;=9J)UF|esHf&@WF+h5UH@oKF>6?^sh4zVd$^{cK-M?UK{}iF=3M zKh)Q^TsQQJ*Y9sOF>^Ze)GD-X#=mhO8J4#dxr&l3HMrIM#$_9{Dl>1Yzk{?Xw(UXq z`L#2c*MMUuI};j&1sY3?(>SI6#@pC@;`%}~nP2Q`I@;MBDL)AOKz?K){odxNXP}Ub z7W18jCU^Y>5jaY=6t!MyL3Bp&FS(wc<}EEeOGMx@Tfj~(Z^+g68F`48a&ef_fmMJk zQ$pWO$Y-Czm7Ayq2WtBn!m`R_YZ~!lvR0D_@EqA^sC}-0Z#jtTu#I%AIbg|0rSdbr zunB}jF^_h9m^F>J_ydeGYagLfhl~zvyfE3!!0!cOnhL|*45%QI9ECztPEIQhJnHMtv+}G{t=x=THc9fPAW>5Hy9f>+ubJt+w zSbg8woH3R9)>p%E)Zgy!_BJ;4ccU*kM+UrR1N6O5`eIF#_(ISXiGx6lYt1ms=oko( zD#jOI6;1X8RG=;9-yL0;J@!RwV8;>j5RKjxUra_H4fM4220F*bPoR7-N0?wC{An() zQ8QW!f#hZLWXcU$;?AyxxD_!XoxVcCp+$!(+Ey*5)64Sr6xtCmmqy!CmBSrteS}$W zJ>=f7Cb@S=Kf+wN5b;VVdhXC=nxWMIf*AEbeb|@F`3@^%DF?y8MisLsL>21~xi^C% z=W|7Q=r32^jNOh)=#yTqnvYc)K~-(kf@V)uFjqufoa*&;J?M4_L)Cb>e?@(1UK7pi zbUj*nO<1c+L_x`Jry?xukgOLEwbT}cnK0Uhc(}A$?P|NUXqtIyz7c($`|OU1hLNr4R7w=*XM?@}0 zsD}XP2E_wm?O7L`i2pPHnYUm5V6@YTA&4{^LIpVD#4l3bLpB|(KyhqMkqFpE35p{$ zcUlx4pCGFaJEc}lvxwyQlA*L^BfSQ;Y51d;mrN7jDYb5zh^#fuyf_`F(gamS{Nm0B z@=EVgdftfHmRe$rDQEs_Yiv{Qex#^GI}qrn3P|I7K|R$yH*?_JW68a0>DY(m=&tx? z`t#-GuD!{}&K;PU``Cx&^=^)&EdkM|$hAaJfcOmHG7N~Fa1&Han;V_*3z+Z=l+YJ^ zTdDxc-tqLUqsSIFfGWM@xK}mkoyH0N2klWh(SV@2idVFRc{L~NdW7zM(;Eq*{o54M2ydNwrnfvbh zp!dwrORvv*&+J)3{vf1DsQ=)eGgJBwxO;M3r{J%MZ*+Q zu@jP!zUHy9=KkiT^ zgpY{77d+G`gj(*T;p5I0emxleLe$^Xv~OQi6DyWAW4vrMr?*DZ*ZCc$5ECv|Q0R>r zZZPaCdAM-Q_x5A^dsak5y>&P{jHRMz*N`{(Pmb|aTrV%JmjtA|woZi{VG;sd&dIrL zZ%`gV^n5!uwNbRP0rYJW{&e(h8jv43gwtcjM*kq1L>7|Db?=|er@fz>-JdP5&pymh zsX-vOvG+II2Ev)lNKDCVcwi6C*?*v|4oBYUz*^E)(0+Q_u_MK`!pahCIB7K!MyX%) zLe?u}X?#Ru+*I(toID2}+B!IEzE3V~ASF(qp%IkjyCwsTH~V`GqbKf(hYh3esBYWU zb+F5Y!w|n3;xF(E=O-Fv*S(tWc7jqHrziPT|CSb>7{PD55mOpCg6T9?V<@rCp z>jGRs+LNF?u{3-3~0mQRPa8`{2}$KJqp0b&;cm{?PX_ zS>?azYIG`(@;K#QUNaC`dRyo7NK{|`W5d6<>vz7Q+{k)Vy{XRjcC{z+d%L@!>#q(c z=DI7~g7xfmy%5KM+(#A>lG_I`EV9a=hm}H9`#=O1wCa7P-G^gm+~uzyaU1S4kO|tq zy|VpwQ%h4Z^WJw(p1l`4r8>6EK?Vvz9f9B_UmJZWCtlQIcI1Y_r7jv!HQEgboLg-TegYMK{~i3~Wz-n@Nxlf3~+d9B%$I2rCiBZ{%RJDhPsy zu|QcMG6_VhbX;YY(=*GGOj^A$T;BZiCMWAMvaYG^fu%%CJ3c+5*uCJS^04i%wr^Ce zYD>PXP3=!E07kZP`SP|D+f~^&Y*{U6Y-g||%zpAjksbPhnB}#dup-UAadd71`TSZM z(s|@pj=jSly~k}O1AF(xfy`2%0cu%8Gc17SO~cUM?&)a1u966>s(E`LX+cxLjd)?J zLH0o4#5Rr6<`QwIz`hngcwheJ)2EkC!RM#I?MH;$!|%!!%gKS}CR&CpUE1(v(vY^m z3-=S&ay~jRI60_36o`n@61eQ7ED`POxa@TPRQoRsMxuj*(Z;%Sew_B7ZFJ*X)5-R8 zjg5`x+GN(q<^BPqo`8%iNC-Hw=$^nLvD(KwW>d$|eb1O{jvw4RbiiB$pyJR-Z(_K< zZgtKWNe{QSWV#WtI$gMlkfB$duJ0Wi?dzDXMVQ(v5PCmu0up*3NWYETw7K?nP${{1 zf8@?ce@nE6d#`A)raXg_r_;S>Yx(ztuzStjsWsa&giS|4uWfAawb~`XwKnr&ZHsTr z=eJ~FtZmLr)U>zdj)}8^sc!1~-SIbhvva)dx@+8VG2J^n+?)SF?%0i8&y1N8sY$5` zj9#0p!1*A!M>|qkyow7+I6>Op^-<_{t}UL+t;y8(`&Es3xfIHa;1O( z#7T3s9>~0~@S$OCWWzw#D979SAN=XPdw=@D{`a1|e4*vt?{2wpSz9WoH8M_#wuCSN zEciM^9sW=`P6m(MKCu2^|J(G>e`Vs9h5Drf7cQUF7pc8M14mF_fpz2uw_j!8_9Hrk!fpod&0Zc-3A zn#HC_+H{srr1*qK55`A+wZn_OA)7U%989d`K7>qL_m6i31{$5?nSeVO>fg1i8})&G zkYwip;wSoqQ{l1p2`sVN-B2gC;c439sSUXx69jaeP1LL{Z#*u=1K!MJy{I^7e zQDzygQ#iF(bea-P^@!f8Rz-sq8)7&CbA&fBJtReo7oRV~NoSf^tc6V&!At;8z+-cl zfw5JN%a?8J0sScC&+zcts34-bC0fX4&b{QQb`1`7ROoPKJ;)s()@r18D)B(WfsU-L z8L$RI#Kd_pQ7KuEHExR5tMMqvqnSmgX-(7^|Ij2H$&ygR-g|lFK;&SFjBomnU=o*$ zvB5$xh|s|YMFEHKZSTXKc2PEo1}asN>@oiI)8p#gjpx*dHG}cS%J{Q_l>-$@>o6K# zXr@WWBrAT|xSeb$*o#3(&V<7xbXoY6u@njJ0x`@?i^5?YGs&tYDf2U31_iIc+nK?o z;FFn`9Mj$PZQevQ9*ZWB1Nl1H?B!pOmz-k4E=XW$JODsa1&Rmr$?NtHcH_H=*4Bi# zwf?6AEd`^Cl|#E0z$90p1c{&FR{GjFaM{QJ>qG(=#VkUxmX zB_$3(Bi`Z-wX<+k#>J9v5U>oc2yX(_B#i=xrNO3$H+vK5gjbnj@gt52DN~qw!~R^7 z@^y9wDw^6RTBk1nQl%Z&ZMSUekk{w|L%cOH)rj<~da)W~uy;&3guXs{jgD;T39}J^ zC)u&fwrx6qg>7>Pv4zMO{IfvdX#|CR#lAsn01D#%`8uR~i~-CaRjDn&ySMq$CVWt> zv@y}^=M87NAgx|?vn2$ftb)g0>n^Wu5z%DOim#Pq#hPXZOi1Q6W|@ii z*S~*zq*Kt6w6y&4&8-(>@6N{Fx$_+sim`WPW7lesR)ZRZoTADpK08rF3G$VAN3eTf z=hS<s*y&R96aLw( zD7NB&fjL)vmI~VzL-yL?J^Mz=o0-M^6T#!7d(IJbSa881yl*kH>w0%;;(A_F+lAM$ z0^voL%!1qJJ)fy9F@q?P#P<3!I!*=pKP+ili%3}@MO0EL03kq?p$O?KM_&zN^mU$< zI+3~oam&i$wtuv-3MdJG2l21GIj;P*zouoBF)^fgUdFcC=m}USY5f3a?x3j_ zX+5YO$_iy5u0ThWKoWqTfnFw)rt2PVZH zh&hO5ITl(8J2%~Jf6XFiQpKFD%-ZllGvR_$>oNcw;<4b1j07+31IoD;Okyz zuB{<;vjvaFCO0p=fUN>nlS8)z7_@{pF#qiQ~pSzv$wYsZfKOw5H2Ozuf0_e>s` zoAe@0AetjOV$N_lzzZ^~O-eH5 zh%d-FF*Xx45)q?*sNRSqjNr`JgmZcFKxl3v6OSL7pO$7HG)DH0g%auRP^cSq%f|MO z7*2KL!CgJsgJTojT?-30rP!IRD?v0Bo7=K&AqYEZDku(gjrajt=b5<*c2Yad0;=K4 za-iu7p#(w=NMfeK+5+<1r`u`V8;N({-qcD`1+ZW-|1Gg#+;F-(KC*!9=k2ek*GWh7 z+#@;1jQT3*ay#20&Xh9_+m07az<2C{BnDGGnJ9#YY*O8IZ~T=*6Y!tqXX2x&-StM@ zPp0;uO4v=a^K$MtUKzi)M~)^22Yz;9aORl20e#TBUCSbEmK}n5Ck(9kY2*>zOA4T~ z0{{joNf!M8n0I(c$!TqJV+%|L$p0{){RAMoSgU}f0e#C*i9rzs(&+XGqG*B9=6h`C z90h(O56B5hy8;~px(i7qjiRpfaBdiW`0XjUEb%RK=&#E+a9Z#wpl-E&r$y!7)V`4fvVi75X5u3`J|(7v+C3>}epAl8|0dZqppv zq_FywUfirS4I<+O)xja$>MTrP(b4NVkTxp~&~8gKl8!{u2c#9%*3pfMto<0$zLu`8 z-lpEJ_odTnMK@G!hxY>y<955bTjEK;}Mb#Dg;>+!l-g27Ta#wL-W~eY-Ap>)o(a!E;-LY+&@1W&91}VHX9#- z8SL!BlIzS#nK{Z$qAgGX%%YwUUe;I4^>uS)DTm@TMa;0vkq7sHTn0)m)^)|@2;+Qk z%GGP9RD@K!h8lHiSY0`0ms>=YSLT=^QkO_yeI=}wK;^gj%5T=~uiCf^ zZ4pS}rxvTS?OIfhxEpMlrGkRp4+Q8gv0N9q3pCV#AXw~Lz(2bTWKhIZK65n+wmO%T zBPsFmHfvW1qqD44fz4Ee*l4BEsNr$67E;P)m8J@S)LzR7Vh?VnZ>e!Il~@_t*sOIe z{T8-Wt)~}7Z7|@_owg)c#FZ*y#^%O`RW=*aItCcK8ifvE_so^xcS3*(i-4<i>I?Epd;7elp;YWKl&X#H@0hPagl&B;2r*ufJVo&cic&{J%}U`|i8nJ^6af zpIyPJ6{902XNwpi$HT+7-PRJi!ZE)RQg40hTia!X(VqRAI*bctdL$;>_R}1ar>d5k z-ymixqj?w07yNA&Gn;{Y#47sshO3>hTjy%~hJ9IiY62#w|hDSy=h6Xxj*Je8ghSE6G9s3;4jqq(=Q;Vw9 zSWj9(je^My`ngoBwJa7T<~Ri>`Bv;($5$|umgf)@xo{lk${U3OhneOx*4SVLFMNi$ z9&NqTXg=<*US<}d(0r^lA+7G2cAK*$_2l?^tKf6sAC^jsR z>^UWCdu+({H2#~cnIBO8B|Vp%pwynM{r((?z%cgwc_9S34MZ~3?01p@LB4BJP}R6- z|7?<#rS*lNZY_LuAFgVBVF%cKwRH^gPRM(^{VL^YgSH12JP4N*GcGaj5{*?z>!Y1i zS0~n07u({Yu&)i3{X%iyEuRuI`L;Z}zt)Bv+ih(=e(@I7EC7aWNq2=Cz_#FYkapGT zGqNJFc3>9BsA3i01^Sl;Or$0waXtrjVXqu&!mXNTr2-&dU@bw0G3=nf(m|6B=}S?n zga%vwC!RA+m9Eucxqot4=|!x0P(`Krm2D>@iR?ui)MnUea1~tQ3er{jbGh;w75J)LHi#18S86> zUm!Z5GQCn!*2-`sA)J>-7Ys;n#=_`j-Wu_To8WkueLPt~oulIo3{Iv zH)$o#xIgT223>Vgm#@x~_SDrkM%~V!(-l^VA2{97W{-SO*IN1D#Qxiz{|o`4by4Vq z)9++{@~iqfuWH9fbk=TE83a0j>Q-t7AwlVM@Es4o1YP%a5Sn4vRKZ)yUsiMHxoWj7nZFe&cPB5W8)D6N z?|Z0GsPw z3LjZX%VG>A9g14Dv#H`dRT^`%4KZEZfgjtX}Rsxh)a5 zNOUJHdSU_U#S-D7@u$S7*PBtREe-3aiLFqk1j%Z0n{b+gEHyNv)Fn;0CZc~z_}nOQ z1Z;E=kp#W;erEk)m|X4u{uIse`ah*JxAia+JO5J&Z8M?W#87LsUn(!vynE4h5o=5X zXJH)(S4u+(){ulp6n>VJhr+TnYWqfQ7oxpSD(ax@7YX*3P2*L?SC96a_4Q`|=&Mow zcTKx7^>d9oU>tb%-j1fG4um?@t>^bf&NeljjqJ^@K;<`e>QH%(McN@)$P?l1-99AO zjCxxu`$I?8zCmBflCIlbr9sRvK?de$k!oSeluzo+-)gQrgI znNA|bgcCMeL;XJ1j@PlTdd(V+ifzJ7IyOgzPFUrqq_5zl6@J?BXM*IvGU|03bq$%I zuija|gh#-iX{a;Y-chBl{n4|C0T@|m>~}XD^CDTaXSShXw!S6k@*Zn&_j|j&*ZKe} z$h0KUtmBB|1muEgB*H?Uz1RTI2dEZcAKvMXhJawJ!Ykly|S}CX?W*E+y!@6Jk26T2y%+VI(*3`5%(alW$5{ruOpNb8QgK*Ql zl`}WxLaGE3KNRZ{^Hwf*a-V2^&=cTBQIDVzom)_69@#OwAeC^a5L&LA9~zpk$t`Fa z8!)VXbLgbeW4FSVz!PCR z7AGK5Gr)$NH;SZ`lF&}9S9H`@+MqU}F-G+0Mg*gS1oG2KZzhG*I9a%F!%!%IPu(G* z0JA|P?@uH$_TLLz(MPCc0Ax&|@-YssyBdmw`}8|5sqd;MaYVnIuBw4Oo26YpNK?7k z8JI*bs~&yu!QR_$yB`H)ibnLd+j<{-P(AtNlU)}tqPDI6_x6hyyPkYf%N2d%p<;$~ zM4y8nG7%26-~MSgIVG-_AyKCY1k+9B!;d}pgn_At)&2UIX~wQc*5&w5yy0vb+J9PY zK5+**{T=T=tUo;5GQd1-1D`vK)Hui;hV@a+?!p`tqli#FM51UivY1Q@o?9OfLT8TbN% z3GeyyK6RF+Qg}{p*Dnp_4OE2moj>nQ!1yTN@g~$h>r1RJ`oDMot2~MrOW@l%@3@JoV&r!p&$%uZnF{8HZ zWmCu*N>gM&AgD-=FRVx{h+$=3o_|ijtFL(Oi6@?W;sbJ~*xrf+M0|RyXiZEV*xvn^ z9RC59=f$Vg9KQU-b03!vz9T<+OrB*9^}Z(U2w`V4W8jYX!GJfF3a02uL)hOo{NN^J zsEo>FGI?WZ2T{AcIWt4G$uK@Uqa{5PmK4hI31H5c{RHdW7Nd4lH&U1lItX^k{id~! zP7q0D8p}H?9#67y&<#2Q=zV1N5DUpmOofXI><-d9F&9EDO{4J`?9#_#^T-9VfC{O! zUaF5zpJQaux#?K)C=(1H9XzwXUS?C&5YGb#_6(>pD^hpLUF!54sTr@8sH4`QU?DUt z>(N~YVzW=p#tt=%ykR63KOdhHmaIJ|rKw~53zAn$l8e;2onk+pqtR`wU*?T}LeTgt|cAavW(CreK~ z6Ou?#}CB8EU;6S@IxP8qqXtp{f+S9J$_ZRd<~ zT)Kq9Pjp1IcdkU*VTJ?PC5Hy#p#)NqO=(#gj!JkeH`yF5v6|aamTLrMu1JU}U|}fJ zdjK7P`v)?S+)5VnsZ&-5^XC2cG_*7hxf>GYD~W~~)zWa!ZJth#7CGK``|T*f^}awn z{$*!fL-V^DSc{AIRuZ|fA7fXc6hFrLeBO#iS8K(`DBE5rYUs5Q_!S$i_WTowgfave zOl%56Y6o5+L*+Cquw#6)yipvQBTHI=ptfPc^uZNtpZ1R|G#Pn9NNR5QDLdE@fs zoHGAsb>ALeS5>CH*IMVAah zpRegTXYaMvUYB>h_w}x|>BAn!hwpjY4*d@+J^DnAdcW(%pS&1^#AD`pBB4Hv*G&i? zfKMNI%{Ca{E*u<_3$k78uOlOZ=)ys~wCOf}&6ByAz_RU=_^k6+(`ls+0!O|Jj!nNi zz>sGoWFuIw%3%wUlOTb`WSNS3?uu$>#eQ@a)pZx4$rh}Sv=Bp4(%XiLa!FT(yTDSz--685vP?oX)fZPnOsUF5Ef{HNT36*Wiv5Yx;Hfi)dbxnOT^J$FJxK(AX zJS#{8O;Vq&Pp0ChHCEfXiNqd>JJwk`AaeuEry>nrP7{eWa!VbLwu|C0d?1}v2b2ox zpX`O_O6#H@HK_h=T28myD(XMEWfS`r<%T+)MqM_XI00`Dwo77lFcr0ZtbXi7iECvrd^k%Z2H*V2gv zpT@Rsv~tM6O77KOgaSAc6J_qjfkogpjTQ6o+Al`%f}-r6=kdga3L!WGMpc+i>gwokaZAS-}4g9a>c!k`7Ret~ViM(FaW zQYu9h@WLzc#*|w}w}KT1m#i_6Cg_1+PZ0M1|9-CkWnBic?f`TQNMqgoQNx!@#k)cC zy3=EP;_QtZ&(@6{c&*6z`@c|I`-S(zt)gp$6Oenei1F-eUf~4xL`&}Vyz;CmbAtrfWC>R;@&od?{iB)RA=e@X^=bzz#qw2jA*g!bBZv<-~2z~cIs$o-4*c&`U z>xotj-{4^o#WcBhG_&7~A2@IT7SZGcpD1aCJe4i*&tNYPUayV-yWOR&jG$)|cv@qM z5YtgQUI!imH!t?uidCY61vfDhBREAu((pBTU}OY3{EV6rJ^A$L=QShMkf0sGW(=fK zOr9@5>OCS&Cd8RVhn6=98G(Oh_vpUS(QRX6+$|&*z~^GP_;nJVpf|){;llqgdWDc0 z2cQn%53FrB-d)I#{!o7_txY&2YY|xEci({nY~%4@C$DUdE~!j!TDzjZqJKCsFl*D=gL_xh)Z$EQ?gsw$l6ixt}yyH zUeM!9zEJ3@FmvZrG`Gq=YvIz*Su_5Gd@QM z5%!JutQPxRkICA7aC6ha2RAhzyK)mE=nZxv`9W-qPEm_gZ8+|G7Y`DBjyxY+77hh%ITWG4)kfO2gk|a&41YY1`Oa1<#ynKU^iFUlxB71!yhKp zd;eZ24|40tzCP|o@5^4eIh);s&uBK=m(7~;OlGhql}Xj~jc2pj&B)lixx8ZGy$!18xmNS`!-(M(O$c4?!o7#QZ7=Ln!L&EncVhNeYWiE z#G;ma%O~0*^{G^aJ4`6P2lYK`?$`P}zEype?WR7<&yZC3%UCLP>Be(A;tSh*w{4pH zh4WIA7qd#UvZ*eTt7|K(I3ba3`C|FiZIKtH&T&M90Hxr)!3prg>L`Vo-qAe_1snl% z;}YowwSRl>`puiy@1uSX@9!T!ym>QbXglU=H|8pdc>;|B_W&oV5tPQbq8jhZY(Vp1 zo52}+BYl0@%{U@pU2oQx#TR0Bu(z>qydqgXl9gbIv1G+KAUJ{%PxxAy@K^4j3wuN` z7mS<>);nRx?F+6M0pQh&*J{ubY#>RGxj+)WY(W{tp z>S|NQv`aUQP;q5OsE5=rpy>>ioSszQ0mSD4UW;pCysK%=tvp*?<44)1n&X3m^h zwcT}@wmD!(-MN}fw~N}cqHPb&%VNu_Q;jw01--Gk_02VzmUyhpmVxqCKqGk!_&VgR z^Um-t^*&1~Km(XMfL-H!7$?g>_WHV54;J;grzkKV$sm!Au&G#&oHz!}2-lDwr~!wx z;WuAbhw@XuxC6Qk(XXrzqgZzwt#siDtinUW=&3$2v%(GJ2D*oOaHQ@BMg}(2R8+cJ zS2Zj1z9mO~sAs4fN7>D3=}lUD$nacSnM@j6UQs!xX>obkK@rznRe!{mBkGoITvmgl zdJ=9|JQm3=Sak8Ch3&CqS+sfHz>a}=Eza~u%)!f74aJhtWk;+UiAVY>as#V)2wQbS zL-q2p`8|!Z=X90DlJkykn>Td&;Z2>Luzee=m(FP^Hx-Fnx`wQamRnmhds+F{Tyxu; zCG%IWo?li5>D9BKqrNqsaK@I!1{#{08s?QnV@Vt>NRQ#|(IaBujEsUrL7M-T9puCX~KZ~-Lecbfzuu^8u@~@yrQRPMfV6+QD`_~*{xS1nbQrE<9qf@ zR3s-@7GLD|XMh8K9o(t~K2Yq2hjT4PXB!k3QV9+^*F`6gZk`U}N(bipnktj7_&nZ# z25*;f=144PR>R-b2PxT$O$hA09k+{GmO$y6GuV7Am)b)!U4zwi z*b_V{oIntVl3Eo*IC%-ny>*OX$#nFn$_SapQtTWUze)Eemi6?nSkP6|(A|{D4fWQU zcntoZrHe)YtL@cIazy!f7q$;#&tN~4x2EofUo^C&jElAR^v*pJ=k;%Es{ThkznpsN zc4(Bo_Z@G{*r@)N3Fx; z>KUx7tM9>!-2?xe$t*ZBK9bma?0Edh1;=hpyu9e>qZi@y_2YKL*Dg5rtoX|d*2Y&M z`xA+=9b<`AJcvCJYJqD6)G&eurm4RKUAt^^8DFZKw+V%nLzy`Q3BeprHJ8bC(7XL8PgX9Kpqpe^mGtAj#7e&KoBtp_|| zQ~{)5a6(xRy46joBO+zEaH?e-Ctd(?sid)t`KXxR_bgu?&((5`wl??9+@&i{JS2AT z?8HGm^H!{w_uqXRPT4Kic(kvk9v2PQyXAfJ4mo6AZTjG@1&5rt0)_|Zc+^{jRjsFC zolsxME$Qir$MR0n;o)(_nxA-L_n&m{*1qBHQ%>$)yJ(HPw-kG~XfyYU4b>;n5Qll| zG1qPJ7-S)285ly0f)MD%|6mQ2nPth^%XA~oq`hm(z(pOEjbgsy*tI`EphSXI0_(wi`4WhT*E z+ncT{pHp5Jv&PsME{~Iq3Kzr4306ptBcrGAis(;BpgrYmbwR)JhK!M3 zz_)j|9Q=O(FYDUFDXIR1G6j)tBk+E3%~`d4c&T}i*Ah7vmA^5_2P`5k31DLGUa?|! zfB)=kwzIPGL7tsE2AA}rHFzh$-W45-FJI6#dsDWvW?s!*awhLJa`vqUy*AJxgSDLk zRm{iycn1B)9w1;4RwY0M;(5le^C^N+R{YQ>hK@DssTeOL}&1-+VXX?KCtie2ls!pzi;f) z{=UAY2qIa!^VX%ybQ|urdCU7vU;o9M`uh$!W_an+;V#PlRXkI5v7Xnx;it0HRqvqD^9Onzsi_Z>uXP6v2F-!D?Nv%KYF#bSAR6U z>cWohg=?4gAwafo>Dq@w5xe?Xzds3vqB+2C67N zFiNn$6KrgFcDu#m4K{>kROt}3fni!;+&~|JoP^8ER=0Ws{psPxx%Edim$fgOwXCMP zZ%?vfPjXg8m35=>XsV)esXbx7tEiLobx_U0eHGuXsjh5IBsF~=p_`*245%Kl~9=FyJYf%g7> z9Aw^AF}R_y)o&b5uZ1n69dr6t^k-XV7av(85Qsr${S(H|m3%S?oiMln264zJhy=kv zJv5sgUYmn05Ix+Y*igOutQ#`l*!%IhWN>Gghng>$z}vF+iD#`53$2;HxgVdvO9cB& zY;sNWC8K7W$olQD>#=SEc-M&cQV#o(mymODjxnxSBg>!Tvwoc%1 zcsVnJ_`-&e99V6bbX+1z4iq7&G+1pu>wST1|XD^VRQ24!w%cr z(VT6pTi)BdJaa_N@|>pR8uBUT{MDzd?r3Pq)b%d!&8$cd=1T5?)5^tuA~5g_IQmc> z_*VCDj6X}T#crq`SA_lri!NWW;QWP`EL<4NWEUN>a-~^w+Hp(2*nV}pS-mKmi7iCd z`3qKDj;!w>FA-b%VEZlv%M?7u^oVoL0b7-#u)=UndIfieUmV9oL5^d}eR~wzBRu5f zDdS_~e8U`$weK4r+pTfk4YMlv}fe|=+L*On1Osjy266f$ryju zg`JS=z2oWewfA*3H+S{5_t%}$*LTpLwyX(pBife!StVdW z;B@47;ClFr<72+pHm|L%eO`N8`-bmrXlpCF`w`Qb(uO>g2;Y$c7|X=f8~Ti3Ve&*7 zQbFGRk$3d?tIvJ9oU~~6`0T~ovB-rD(8Tb@5pLbx7sw()kK7CK5SfDgm04UJy!Q+7 z_XEq}BOd9~aBOqgp+B?@RV1j!iY}Ow9}}Erbg=T|3G7&JgVx)PJ@^COq3}0C|Bqus z;!qEE-7c1`HhLS}*N}iiAGoLU#7m+E-zu0N2jyaBu8U^y{<^s~TJye+n4N=P>;EQ6 z!1#ap@ARFLBds;HRjrW=<>iCs^6dO%MRTTOAem~eHMs%Y)Ed2;{DrQ7;{ZC@pT8GJ z)>P%9TjWh<^jidyJMh{0aYKj`!@keL+GE&*y_e?mzF_wr_s~;*fuqB1;*DgsZ$I$E z9~y}oCOCPb9;9`jKhKOzI?nqfxQ$PP;$)@Tg;yG5*OGc);X;l2u2ec>=~B)A4nnO4 z@Id?}zi_}{^s!1J6lph?C&aVOC{oNj#(H~^G!@m&B%x!x~wN(|9qP?(yegX;1J?f}_m zckzYb;7exv%9TT{y}hl~b@f%bwtgHCx4f+@yRfsWKHDREjwUZ^!mB%X@7sO%$`AA{ z>&<4Ws+)RRI+|*&n`Aj-?KqIFIv4cvWWRs)Rjs{27a6MqHK28NOKpA7$-&BH zvllGrT!ijnFukp9KSm!%Mr1Yu-yFFRf|+`ThU*ZY1KR_ORZw0inhaKyvb~AJ4x9Yl z>YcgV&eb2>P~DixZ1^C8%R4&iKX}+-A3AjL;zLikvN;xYiRLRsBkF@jv`^kTAcs}W zhO4JzzKz%OL;(EC!2rY99$qJoT>a%PuPW4%wPlTwOr-wPvlBK}>r4xHQLHYK%G8_mg87NcmP9;hlbyy^*huT# zc*Mn{#+nsy1!t|Ri$vO@JFkkkJ^wFwu7CRHcAWL0Q}JBTM#OI~;hC*(gI6u}PDs31`AYq5E!VZ* zIroLWv*&G?f8WBh54!e{1tVo6cddJ9{jJBQPdV|lMW@|<=Ji{5ZG8~EiP#rm=~T;F zQwzKYmH5~8@)67X!N=08?h>!v9UUKQtX1*HL=@c55;~S zdnxvIJRP4CUlHFJKQn$w{Mz_e;}682h(8zqLwqt(nP^K4BvvGjPMnn3nz$hG@x+z( zc325KWug(^%~<_Td0Bk3$0~ve{Oqe*abPXSZVKkm#0cw zD?Ifzcn)T2i)ZyKY%4L6THFyD+oU{U)d@&d3)EWWiYd*ws*(~MUE2N@*H!py!94K& ziz#TOoEg?g=%(-t?^$=w`zLtq*qc_r1b3OVpbeJej920rV&`ns{04fI#a|tMn^7+9 z*Pla6?YQO)%2W1_&SMj(n~XeazX{k^de&vtLD-_nM)9@_RBJ+*&ZI8v9>>`*bbo45zVYImpjq44fU# zRjc$o=e5|gkl&8KnP&Ytn2nPFG4JBe}nvY!4vyCnfovvg~)eek(4ZqWko%2-f9!6h?e~Mwm+76Uf9NUi6=|@Al3_PPmV>-_rcp|3FR_b&v~jHo!sf3%+mvfShLhDaEp%K5f|#3Ex?K#2RmHdSCLxiWgRe%T<2b-DvZJy^{QX5_Roiaxdy2nLXVV`gc<5J z>yTRLTfm97NrV+)n=fe(AT5|t@(WNVw0Ooi>4@1MQpdAJX@UXv<)UXR`HcN+Y* zU*vyjuhZ;8nnEN`$@UfK4B>X0p*tnOMe}g?+TG3Ke;^$wAG;6t?HC_9GWf0cE!=BA zXQ4!w{de4heo%&Twc7h2?h72C+dYK)D%3{45A4QinMA-NSPNokDo=(p3BQynINHEX_5+9Vey@7K1-&9pDnF4`fte}hs}Tjdj3lu+!h z_WliZv?Hw+eacC1h#lk->=Dm(Xfm8v;t(ZmJMt*6_)L$CfSje#{tw2_u{GdHZ9l-2 zKpT4rZBExxCE5U7+#|?W-b$EgFUVggYtXJ~Kz_Iv#5z&~H3)LT-_1}zF%+Y-mm_~F zJlHzN+2Z{R@{4DbxXH*skrx;t+b|%Asl~=wBlZItTJ+w244-=Nn9Z8+Rcr~nGV)vrmEx_&YGN>U}jCpVLRx9*)v0J z*m5yLPQu(ULr&a$VTPQTxqgP6sQLU1IT8C1ayl?Giq8cq%$b|y8O|4Ri1M45S?i_U z_mRVqsXXMbFK5WLkL(tB|1)xm=fS6LlPP&74|h{rlB1lH^K&iaRWRcLeGt+$ zNDsHq8K^-YUO;+r>+D&zsfTO{mnS~8np8qbv&a z=@&(s6mzWaAWbA1%C^c?+RlcYNaL>=Jb^fwwr?S&h)T@oM7k(;t4zBTDMgfSu7flP z-~p~^--I;Kwx~;e5fY$Xp2*n$#WiiVMo{hjA{nS_G}u2uGHAPFkPXk9N=Sjz%r0}E zc@{=^r(J8e*eI0oV{af7pe?>Az9zmYzAb(! zEY;iM_r)KJ?~lI}e>5=6DK4#Cw3$*PF$9_Cb1`RTjDNr2V@@Q0JQ*8 zBDESyOx3VysZwiK9!ER%Ig}@?c_s&~C2C8hoR;b29^hWK9vIJhiAic5u{Cn|Qf_uP zN(!bRj}|65uv$rqx2#8{%@=@^D*aeXnEJG&kJ08UD3|BosFj*-mCPgcdmS;Pm%U4J zn(<8yfm9l3j(op5BoJBwb~%IZjKGP~N%5GP4lyr}yXJjJA%?RSmJ+?kZ=F~}`nyej zeaYhI1wHGOXB*HfmC!Tx%3Xzikw;TIV~_lPVr-N-t>$QfCt<=8l%ceM$!*bV`wqSd zMapmXlg|(;q~~sUs5lqgf3I^u8OL)4#rNXAhCBKqNQWFNWkjISX3hI?N1KKeJw?lK zKSUneA}ly30Boa37u z3RIyul=d!1YEYU|kDM)MXes(y6M9b=gQJ?GkXq;=shybiC8?nR7uJ^ZxOY9MSM$gN zJ|$9D;X}M8{Jx2_V0^?5NL%b%DWvhe5-G33{u6#nFr==lbQrrOh{>fhaVtz?I;( zbE1_{=6noSG9vqZxq?<|HpvzF^n9$|T$J;u)i3Z%N6Dh^SF7*#%#A;W4DO? z`iOnbzUAuN0=L#}b{E5bz0*D7e(7F@qrWcF8(9(A7}*lJAaVt)*sn(JjXV;0DzYEC z%!2nD+_L>MB>7pC6+It$or2-2 zS!C^r=*4t1L*2RA_RNs0yzT&Ur?&0e1GamHXT@T-S0Z=D8FGIuHIqxKKBoRoZL8f} ziBa&H8ZNDV;v)Sc96Qf3CM<#{vluU}jaGLDxH$PM`2}@JN?LNu4| zm|lfip_$<+)uX;%R1a~5{+qNp6zRlNT1%?^P&-Q7PVnt15H?pJwJ-)gLF~Os%CcWN zkEDxMce`+Yg#=qr?eAqjl^Pcb`*_`3^Xy)Pd(4QTi3RFF^ik+}Gi0o?i_aVD1BFq`qBAUT+`49r-UY ztl4`AckDg&t*nblNq?SPQg|L^-zjnhox^dj3^~KUq zCUcRw9_xrtm>11kHf?+Dh#j*#!1wmpyWqKd+CFbzwr{|8tAviqxJ#WEVojjgsYY7h zL!3`Q+I}1T43{ULpwu8XbQiF}d=DvIxTn@ldzCfQ5+a@vGo$8#_b3suviOFX6`oo;koFw8|@|btM&=3s@J*Y{;K-Z?lnmKrI8civA#L- zAf){3(R6eHywyA4tG+!t0YCMdIDd5kd=+QL#$z|f?vFhk`+eMEcfgYPhWHkEDQ<}0 z4IjmG@z)b&@J|dSHY84iXW|-oCGJoBH1S;GRYb4UCcBeMlk1WvCC|ojIM*j{Pd`+%85S)>6~$nfwihXhE^)%k0DKl`^R*p4=u<193pkr5;y} z5|lNpi9DB*tB6md1btP-CCFjfKIY$Eh2~8< zF_o)Gq|{2G1FF9_v-@I`6mhevUNt(M-uRjCl#q zCg(ySQ)R{^FWehyFzj=+`5E%UeW9hVexa0? zF0|)xU+6QTZk={qu_&(5UjsL7CC^Bd4tr^Sikxr{>0@ONE6tpeXQ&Iv967Fk@QRek zaVj-p?p;kNhb0JknNh^#(IciDS2>&?r(vFih7j%nWe#cRZ%WdAN_V$Ny6V@A86sr> zb4)MN!*HRbhy2I+fJ`sUk6K{O?gpfXahqBt#$@Or3)dt13dXt!>A?s%YTrgP$0MEn zCr*WYfc66DCsQepx(sXgM~`P>o-qSEZcas_H}vv5W49Ido|#A9yuF7~eVZiiL%6yg(JHJ+(5S+fBCqz$mI zwwRsfQrO%7A=E~DCh!JP&U6ua?lHk>>I}MaKuHQo?Y@h2av!x=)vH1&^IyOwrZKvS z7Chxen`@L*${+HqP8m;w5xFOhi!NXoeWLu77+>wZihFHWB~*iGt`@p4YTZ1G8P$^hY8&>cat2ja;wjgH`_Our+3e^0ZMq-hUVWLI z<5`HL*5{SW*P4I8y|$n@^ea$VaNlePFn=Noy+)VCbq;^P2iJtTlrg*OaV4p)RpysC za55sedGc4kcM?{K?(m*~t(L~To`5-3-^Fk6R>B6mz%Ivn^9lA8cawN3sDF@JD5uFW zX(dq#sMk5Pl52jAbZU9JB1n#|8VfO-b1W9QS%hBDLS>E2;kW`Xk?M?Tob<#p#9}Q| z&?|{KiuGItB?gh-P)||&iM^$kMZS_XOG?^e|C!73ffub4W#6r>X75hSP@$z@Rg!g3 zx@65_gDXpz@H?*(kP>^5t_JI2k;@C%$F_|Yx(P&$xP@|P4xSP&b;CNf(vI!1budrVg{ zuvAWek8-{aY(9kAO6&7=N5NH*M&?ZPsI*kLe~=4i>ojF(!;mYh|Ea-#7_(nmkKh9! z$+0$?Z5UZ;3Gz+l`^{ztYAnsC4J6oY&H}7Tb1BErd%O{v+^-mN#MfEoH1MvX9QQbQ z4JktDxfyRByA4*t+osd3GiQS{Jb*L)CT$jRh+FKH_73})ebITY4c?p+5rufYyT?7@ zUW!<}Mr>JREV47QD{?#5ZhjSc4KawF(dE$-;MKVzdQ0^F=u^?(MBl<*iSF3)*v8n_ z*rl=S5QXw!?5WrbvDf1Xcy|WkBk^P7o8vp<vw*eVir zb{JeqJ$$s<6{6~wQu#`#D-S1UNZS?Qd4=+nKWc$$+@n&7&oS)5LQkAY)~&lHSYJ?< z77Sfc1nLSz{8up)-#CF)l`4WT? zd#RdLUemTm7L~}`E;26JEnwFbl^{fQ#MBXllcNsyD42;t9n|sBdpm@3g?yHyt5s=&2$`QU@uKN#5tck#y{Z zI#rJM`#FpVE0SZtlHeKEM~r8*H6cPdR*4Z32Bep~rSI*RXDCM$XB5Kh`KqGYR5vBZ z$eP2E!+Mo|NqssGY3RVTl6e>Ib+cWQPiN1F9X{gQh~2A+e3=#Ar4aKYP4M0D`1fF5x~G6UX-r#9^-L$B3(yD+Mu^mIE4Ev=(<5V zDNmwA?Fdo}wG(UMF}8z6se}cjvN;E-VLA{Tw~Qhw)Ic5v|C>FcDAo6B+V#+^3uVbY z({@Qwn#8BsMMY_xi6;9=q><9eO#?5$zezbp%n~DVwA>u`AFvI@Eo!69=J!SA#0z8o zS?Z&&N9Ud;uSHs*mvTiHwuE^>q^Hi8%%JN*3OQCSC`-M1^B_-K08v5@kTt)P`=DP* z^HR}$LQeV7*iZI5ZucTTXgBB0Hvd{wK4#~`7RckinBtz3Bk?)Bc^NtyDGH-8 zzmaR{h3mq#Pp9TZu^FiOP2h?+(SSXt8jafO=1Lmi?0O}QknHh}MI_zLuu@;Zj^Iw% zg^HC4GVEAbW{X-W9E{xQ#vmB!{X)h}jVSQAa#jV3-ZzAA5~?L|F-wIz5`Jti zWS`iq&IMSH$lQdkm~C@L+olezA)VyNI0hrwJ6i8SA+B zdcXAEFm#I@Hg9w5L14Oz1u#7UC+})@NG)1@6x2o3 z51+QzB9-*$d-O0S-%{h4@YZNj9OVhAMerNxlrS9ecVtFsZ%v82u#ZXJv^}%;A+NYi zwX*2r{ZHi4Qy1iFEqp6tFDoT z_h7!zjLwB{CwsC`1ZkKYKJDEAiqNPD>~JxE5NQ^S?IVKoeEJPwb`3Cql5fDU=y$p=BAt5|3w&8D14lh1 zC{K7`mE7Hh(Qsyb?bv%CXzoRL)ebf1!AJUY^EToij|QFHik%y;xU^g9PH|Tt?(r%2 zYNS>oATEvE8kvZ^5cQ(j=m_>}T#CJV4`R2*>#;QAAC8Xgh+PF6c_Q{)?9F&>d;y{# z&V+4zbNv4J)A8TKB5q17!p@9SaE8DxKlb6-#4Cx(WL2^wxg@zdc|vka@`B`L$?KB0 zChtQ0!=uTklg}ao;b zVw?V~^7$Az`#HZn=YsRe*dk&bIWOZ9*f-7sbui4aTZ;1J?L66lGfk{i4*=;{X`i~O zFPq#~kk1kUjw!v9ii%T3dvil*F{nN8-6%BF3L}h&SH$N-h3_bjWG*cuwM$B5E#5P& zrw>rxyj!_dC>LdJJZ zTZvjpMI5=}0&RT4lcy3;+L6bs#y97A>L@~evww|Jffl3IFfppg&IA0;$=5}yQ@vib z8IGHC0FLPnk-FYv?%c58L4XmQdBTGjogalg#VWZ^*nBLo4t|t9)!k z3?Lcp616K&TtjI<-jp1fG&-14&qdWA^WgYA(rj^!WtiRtu2W;LoI^z8&P| zZEJx^78G$ia;Nqx&@KK7xzs^9MqQyGFC$e#!kV}7TgrD-+p6|z9OW0EWds%HO(mZyZ;?+(Is&|~ETd|Es>ZV&PTTvPtYk+PNsoW-e{xpH5&NgoD1 z&ei6kP+no~RL`X^TI(#(uW#p@|M8#GaWg;fk+Po;)fsSN(rY6;k=%nDz_nQa_nLQ#lN}R4^NyZP8!cGNcCc$KKFVskBe~sR7s0z8qbW zD%y%=tOe^+yr5qR($PK$9j1gEn+uT^z|5alyHP9~(tyr?tNCBivtsUdm!WvRPR*}|5PQYmv z+w8B=6XG~~Oap!=qj zA&%%8X@2Dor6jHb7S6Aw?dc(;cJnCUrgki`owTcRM5(O)wv0YtYa)6 ztpP%dQkCyxAw{L#_mHDwWl5z5p;K$*8C_FjI=O(ZmC@Q$&6b)5`3iSzr|k(y53qxE z`P>SJ7}6##)I?fEw5(;k+Eh4ikW{r-RPQC+ekztSDU~u?Gy(7kdYlT>i+DMlFj$<% z2)O%^#|d)>1MjCbDxCnaB0SgjYn8jR~_{vB(|;S`&|#|3TKd{~|%w(yWnxGL$}~0gq^UfAB(<%T?NZyTVlIn_r`t+i@F8t&0FGEVK2eY z|yT#!6Exg&WMb`DG=pG&@3R$I29Y(v@BvMb7ND|@(X zf7z?$W#yga%gZ;GZ!Q0L`3>cFl~0uKFMp-NRy0%$RIIMpRI#ICyyAw6J1ZWp_<6;P z6|bjasfJWcrHx)Fr81shd)Fr0!2WntD3*Z0e=dYpJ&@W0h5vO_iOM1C>iF zM-1LFCD=+Gkoqv^h~63ckI8qGB8$)BQIBNUmqolI2FCHxb(MbvZ7F^6Y>|M{)WRWN z68gj;wVkuTB+Bb*Z&LVe-j)(9YY-o(7FUPso>Mo@v@{}492g<+Zu3$Y=dGc7OW|Bv z@1Ias*LDbxJcQ(`WJZid`|sWd?qmU9u%ZVSrD3M+a<9f7tPc`~V-ni4gqoY5U}1q_;wLiVD6 zoHs&_l*qYKyr9NOT1~rSQKqy{yjL%!@Ob+VQl@l#%%c=0PB*%-Y3lKHN}mffy9ZGw zG=2e&5#rrG6&o@BkZkspS82^Bc*aHrmtj}^jGRST-xqIU6jQf7w4OrG^v+5Zq7Ra*UE_leVl#vuiYl( zmex($6fdrO-?X{D)$dN6CO27GCyA>v0r;g0h_eLrh&!QBjV>{w^%?D&=$A{J6oAF+pAS@n6sE{iBt zT9Z5>mUA!KFTO=exTBF*3RPeKvNt2I8#KYyUd7dXG#;WOO5u|CH`y3$kuW^-lw!Yx zoS?=cTgm$R#S=j4*G`n{fa>6*9=M{K{r;6$`T>TF;e_AS>GfIWLRcdcSD%X%{ zF{odGR>K)c4XBQ=C473^&!jA8h!m_gLfU*(QrRA((S6+VoH60FNw8Cqy9i{rnY~lI}>R^PXj5(vuTL4#4&PP_+HGxNYnK} zLQ3`SF{CN?41H6IZRPW2F`bel_%Qp5|~Nk~!r4x*dZB1LDAC#_)wZk^N<;-l_# zX#5R9JWl>8$166ko#Gh@?wAnmbLdiFIl3 zZ^a744BCIjl|1P_fGdRvcd<}bR@*P)N@?f`T7 zvE)7*r8$2*VSv=Cb_8u=oX%!Gf!u%#5!Y3VB>x2dx@~^0de7)P3FwlvejduRzkzR( zGr}H_E^bAhT8TkS5uX(3x{IY3MW>P@MRWysfz(+%9>1>`tJ*)|vFf^L&VCtOO=Z1~ zfZSBP1nwemwNeNX22Ueh>6#pgI77`hXO1XJr{zK4X4dTxo}h3f|5o^Me_N~BO)ky{DxaNDH}=ZCxwJ~PYnR0_R?AIaUDPvKK& z)h0mM3PJWGja>l2Jy++m_WihLugN)JP1$nX7wU}JO;VngB6)JN`8eo34@*Oj4tqzQ zQz6%)L)b02_MdP&am{rK@CWlr&@7`Uv-S*Ju|$)t!WH%Dv^!UF!9U$Opkzd!xwG(# z*34zt_Sw^#qjb!0nbz=-gUacY{gEwASyC}{S!+O6}i=p+nek?;3CiB zM2uo@_#VWCJcP)Q=M8r(sLrQWE3G%3U0M*7Y@{feTXV>Jl%?dSJb?aWR^qvLt5>a$ zQPl72?$Q?ddcY?{FS6XPPfAiLOU+Cvj+{)qyXMpQ4eFpzoO8`F5W3K(+?BYdt;DrJ zt~LnXqJ-+npTJd6KOsR+ppT_^qZRYSvcMHn^Q(#O($I6N`Kg8nns*;T9>=aRPfBAN ztI=+G5^>NTZ8rL%NUJ%-^DswSV~y0!wU3trcY-tzIopq@{x!EHQ1~utg zDQ$s9#}oa6dZ_gVlAO31q^ovBe5>>}Aw8&-F!ec?_x_S}uGNrVdDYg;Kea!MV+0eTX&qp7j8N_A8*W zVD=fY&&!B|t~0%OJJLpTCf+Br z3;W#e!v5GN5E1C6{8i>bQYdfc4c{T|r~*q=Dj^uSTokn$=4{y|&Ta2fU&jQQ7B9A=E+H#9c!n zsz%gea1tZwhgxL289^GkH??ANENaCnCn-hpJ}+B~a;%MUFr-@e3@rCj3$_6Y)bnz- z4k;|f6RxO{b|XfSQm7D{Sc7}*74g3X5wMhEz$1J}LA|&qXZLrKn9Ct^{PDS6B2^Fv zVeiG2!tx~WcZ}113v#8(!yAR%XP^_Q4MuI2G)SHnNDJjG$`2iS+u<#-9|RXs3pTLc ohyj3!`#ee%L;DTjx@8!5k5~VH0QmdE^#A|> literal 0 HcmV?d00001 diff --git a/docs/api/py/_static/fonts/specimen/MaterialIcons-Regular.woff b/docs/api/py/_static/fonts/specimen/MaterialIcons-Regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..b648a3eea2d16b6ce783906d6b7d5f251b9eb56c GIT binary patch literal 57620 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

wF7DI|Kx|V1sBQ9FYs>m5C)C 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 BJ$(QG literal 0 HcmV?d00001 diff --git a/docs/api/py/_static/fonts/specimen/MaterialIcons-Regular.woff2 b/docs/api/py/_static/fonts/specimen/MaterialIcons-Regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..9fa211252080046a23b2449dbdced6abc2b0bb34 GIT binary patch literal 44300 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 QW8}wPUeo^@jR61v08@RD2LJ#7 literal 0 HcmV?d00001 diff --git a/docs/api/py/_static/images/favicon.png b/docs/api/py/_static/images/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..76d17f57ad903c3ea2f1b564cafb95bf9af84ee3 GIT binary patch literal 521 zcmV+k0`~ohP)kdg0005dNkl2WptjAn6@db&Pvy?U$ zv>P|<&rCZfZF0jmq0opf8)91(A<*iIVPPJJT((+JiF~>9KAA3%heFdnI;SaK+~|aU zQ~!x`%y{jX1<~SK2RxN7Db8`yWBbf6p7&07{VXfaam*cUs&eu*Zu(xaIL8rP){;a< zS~$}^Td32Rw+W1TqTd|L{#~jJet4!qwKsb5hq%YXiiUV!yH=ltu0>s|FLsT+Iy7K~ z!6*Z0a@vQ;AiZo!=s{{fqR+ct6YQPzbk+j}*qe7vtu39I7 zrOtZqU}=NnLchJxsU9iY+}3TYDl|BvPsX%E@dlyLgdV%q$UP|Y?DfcGb`}K&$;drd z+hL;zy7UTccUYU+h`ONIU|d=%`(0$=KW4%tVWXj~AE \ No newline at end of file diff --git a/docs/api/py/_static/images/icons/bitbucket.svg b/docs/api/py/_static/images/icons/bitbucket.svg new file mode 100644 index 0000000000000..cf58c14fbc67b --- /dev/null +++ b/docs/api/py/_static/images/icons/bitbucket.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/api/py/_static/images/icons/github.f0b8504a.svg b/docs/api/py/_static/images/icons/github.f0b8504a.svg new file mode 100644 index 0000000000000..3d13b1975139a --- /dev/null +++ b/docs/api/py/_static/images/icons/github.f0b8504a.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/api/py/_static/images/icons/github.svg b/docs/api/py/_static/images/icons/github.svg new file mode 100644 index 0000000000000..3d13b1975139a --- /dev/null +++ b/docs/api/py/_static/images/icons/github.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/api/py/_static/images/icons/gitlab.6dd19c00.svg b/docs/api/py/_static/images/icons/gitlab.6dd19c00.svg new file mode 100644 index 0000000000000..1d9fffa74fbf5 --- /dev/null +++ b/docs/api/py/_static/images/icons/gitlab.6dd19c00.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/api/py/_static/images/icons/gitlab.svg b/docs/api/py/_static/images/icons/gitlab.svg new file mode 100644 index 0000000000000..1d9fffa74fbf5 --- /dev/null +++ b/docs/api/py/_static/images/icons/gitlab.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/api/py/_static/javascripts/application.js b/docs/api/py/_static/javascripts/application.js new file mode 100644 index 0000000000000..7c724d2e4f2d3 --- /dev/null +++ b/docs/api/py/_static/javascripts/application.js @@ -0,0 +1,2540 @@ +! function(e, t) { + for (var n in t) e[n] = t[n] +}(window, function(n) { + var r = {}; + + function i(e) { + if (r[e]) return r[e].exports; + var t = r[e] = { + i: e, + l: !1, + exports: {} + }; + return n[e].call(t.exports, t, t.exports, i), t.l = !0, t.exports + } + return i.m = n, i.c = r, i.d = function(e, t, n) { + i.o(e, t) || Object.defineProperty(e, t, { + enumerable: !0, + get: n + }) + }, i.r = function(e) { + "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, { + value: "Module" + }), Object.defineProperty(e, "__esModule", { + value: !0 + }) + }, i.t = function(t, e) { + if (1 & e && (t = i(t)), 8 & e) return t; + if (4 & e && "object" == typeof t && t && t.__esModule) return t; + var n = Object.create(null); + if (i.r(n), Object.defineProperty(n, "default", { + enumerable: !0, + value: t + }), 2 & e && "string" != typeof t) + for (var r in t) i.d(n, r, function(e) { + return t[e] + }.bind(null, r)); + return n + }, i.n = function(e) { + var t = e && e.__esModule ? function() { + return e.default + } : function() { + return e + }; + return i.d(t, "a", t), t + }, i.o = function(e, t) { + return Object.prototype.hasOwnProperty.call(e, t) + }, i.p = "", i(i.s = 13) +}([function(e, t, n) { + "use strict"; + var r = { + Listener: function() { + function e(e, t, n) { + var r = this; + this.els_ = Array.prototype.slice.call("string" == typeof e ? document.querySelectorAll(e) : [].concat(e)), this.handler_ = "function" == typeof n ? { + update: n + } : n, this.events_ = [].concat(t), this.update_ = function(e) { + return r.handler_.update(e) + } + } + var t = e.prototype; + return t.listen = function() { + var n = this; + this.els_.forEach(function(t) { + n.events_.forEach(function(e) { + t.addEventListener(e, n.update_, !1) + }) + }), "function" == typeof this.handler_.setup && this.handler_.setup() + }, t.unlisten = function() { + var n = this; + this.els_.forEach(function(t) { + n.events_.forEach(function(e) { + t.removeEventListener(e, n.update_) + }) + }), "function" == typeof this.handler_.reset && this.handler_.reset() + }, e + }(), + MatchMedia: function(e, t) { + this.handler_ = function(e) { + e.matches ? t.listen() : t.unlisten() + }; + var n = window.matchMedia(e); + n.addListener(this.handler_), this.handler_(n) + } + }, + i = { + Shadow: function() { + function e(e, t) { + var n = "string" == typeof e ? document.querySelector(e) : e; + if (!(n instanceof HTMLElement && n.parentNode instanceof HTMLElement)) throw new ReferenceError; + if (this.el_ = n.parentNode, !((n = "string" == typeof t ? document.querySelector(t) : t) instanceof HTMLElement)) throw new ReferenceError; + this.header_ = n, this.height_ = 0, this.active_ = !1 + } + var t = e.prototype; + return t.setup = function() { + for (var e = this.el_; e = e.previousElementSibling;) { + if (!(e instanceof HTMLElement)) throw new ReferenceError; + this.height_ += e.offsetHeight + } + this.update() + }, t.update = function(e) { + if (!e || "resize" !== e.type && "orientationchange" !== e.type) { + var t = window.pageYOffset >= this.height_; + t !== this.active_ && (this.header_.dataset.mdState = (this.active_ = t) ? "shadow" : "") + } else this.height_ = 0, this.setup() + }, t.reset = function() { + this.header_.dataset.mdState = "", this.height_ = 0, this.active_ = !1 + }, e + }(), + Title: function() { + function e(e, t) { + var n = "string" == typeof e ? document.querySelector(e) : e; + if (!(n instanceof HTMLElement)) throw new ReferenceError; + if (this.el_ = n, !((n = "string" == typeof t ? document.querySelector(t) : t) instanceof HTMLHeadingElement)) throw new ReferenceError; + this.header_ = n, this.active_ = !1 + } + var t = e.prototype; + return t.setup = function() { + var t = this; + Array.prototype.forEach.call(this.el_.children, function(e) { + e.style.width = t.el_.offsetWidth - 20 + "px" + }) + }, t.update = function(e) { + var t = this, + n = window.pageYOffset >= this.header_.offsetTop; + n !== this.active_ && (this.el_.dataset.mdState = (this.active_ = n) ? "active" : ""), "resize" !== e.type && "orientationchange" !== e.type || Array.prototype.forEach.call(this.el_.children, function(e) { + e.style.width = t.el_.offsetWidth - 20 + "px" + }) + }, t.reset = function() { + this.el_.dataset.mdState = "", this.el_.style.width = "", this.active_ = !1 + }, e + }() + }, + o = { + Blur: function() { + function e(e) { + this.els_ = "string" == typeof e ? document.querySelectorAll(e) : e, this.index_ = 0, this.offset_ = window.pageYOffset, this.dir_ = !1, this.anchors_ = [].reduce.call(this.els_, function(e, t) { + var n = decodeURIComponent(t.hash); + return e.concat(document.getElementById(n.substring(1)) || []) + }, []) + } + var t = e.prototype; + return t.setup = function() { + this.update() + }, t.update = function() { + var e = window.pageYOffset, + t = this.offset_ - e < 0; + if (this.dir_ !== t && (this.index_ = this.index_ = t ? 0 : this.els_.length - 1), 0 !== this.anchors_.length) { + if (this.offset_ <= e) + for (var n = this.index_ + 1; n < this.els_.length && this.anchors_[n].offsetTop - 80 <= e; n++) 0 < n && (this.els_[n - 1].dataset.mdState = "blur"), this.index_ = n; + else + for (var r = this.index_; 0 <= r; r--) { + if (!(this.anchors_[r].offsetTop - 80 > e)) { + this.index_ = r; + break + } + 0 < r && (this.els_[r - 1].dataset.mdState = "") + } + this.offset_ = e, this.dir_ = t + } + }, t.reset = function() { + Array.prototype.forEach.call(this.els_, function(e) { + e.dataset.mdState = "" + }), this.index_ = 0, this.offset_ = window.pageYOffset + }, e + }(), + Collapse: function() { + function e(e) { + var t = "string" == typeof e ? document.querySelector(e) : e; + if (!(t instanceof HTMLElement)) throw new ReferenceError; + this.el_ = t + } + var t = e.prototype; + return t.setup = function() { + var e = this.el_.getBoundingClientRect().height; + this.el_.style.display = e ? "block" : "none", this.el_.style.overflow = e ? "visible" : "hidden" + }, t.update = function() { + var e = this, + t = this.el_.getBoundingClientRect().height; + this.el_.style.display = "block", this.el_.style.overflow = ""; + var r = this.el_.previousElementSibling.previousElementSibling.checked; + if (r) this.el_.style.maxHeight = t + "px", requestAnimationFrame(function() { + e.el_.setAttribute("data-md-state", "animate"), e.el_.style.maxHeight = "0px" + }); + else { + this.el_.setAttribute("data-md-state", "expand"), this.el_.style.maxHeight = ""; + var n = this.el_.getBoundingClientRect().height; + this.el_.removeAttribute("data-md-state"), this.el_.style.maxHeight = "0px", requestAnimationFrame(function() { + e.el_.setAttribute("data-md-state", "animate"), e.el_.style.maxHeight = n + "px" + }) + } + this.el_.addEventListener("transitionend", function e(t) { + var n = t.target; + if (!(n instanceof HTMLElement)) throw new ReferenceError; + n.removeAttribute("data-md-state"), n.style.maxHeight = "", n.style.display = r ? "none" : "block", n.style.overflow = r ? "hidden" : "visible", n.removeEventListener("transitionend", e) + }, !1) + }, t.reset = function() { + this.el_.dataset.mdState = "", this.el_.style.maxHeight = "", this.el_.style.display = "", this.el_.style.overflow = "" + }, e + }(), + Scrolling: function() { + function e(e) { + var t = "string" == typeof e ? document.querySelector(e) : e; + if (!(t instanceof HTMLElement)) throw new ReferenceError; + this.el_ = t + } + var t = e.prototype; + return t.setup = function() { + this.el_.children[this.el_.children.length - 1].style.webkitOverflowScrolling = "touch"; + var e = this.el_.querySelectorAll("[data-md-toggle]"); + Array.prototype.forEach.call(e, function(e) { + if (!(e instanceof HTMLInputElement)) throw new ReferenceError; + if (e.checked) { + var t = e.nextElementSibling; + if (!(t instanceof HTMLElement)) throw new ReferenceError; + for (; + "NAV" !== t.tagName && t.nextElementSibling;) t = t.nextElementSibling; + if (!(e.parentNode instanceof HTMLElement && e.parentNode.parentNode instanceof HTMLElement)) throw new ReferenceError; + var n = e.parentNode.parentNode, + r = t.children[t.children.length - 1]; + n.style.webkitOverflowScrolling = "", r.style.webkitOverflowScrolling = "touch" + } + }) + }, t.update = function(e) { + var t = e.target; + if (!(t instanceof HTMLElement)) throw new ReferenceError; + var n = t.nextElementSibling; + if (!(n instanceof HTMLElement)) throw new ReferenceError; + for (; + "NAV" !== n.tagName && n.nextElementSibling;) n = n.nextElementSibling; + if (!(t.parentNode instanceof HTMLElement && t.parentNode.parentNode instanceof HTMLElement)) throw new ReferenceError; + var r = t.parentNode.parentNode, + i = n.children[n.children.length - 1]; + if (r.style.webkitOverflowScrolling = "", i.style.webkitOverflowScrolling = "", !t.checked) { + n.addEventListener("transitionend", function e() { + n instanceof HTMLElement && (r.style.webkitOverflowScrolling = "touch", n.removeEventListener("transitionend", e)) + }, !1) + } + if (t.checked) { + n.addEventListener("transitionend", function e() { + n instanceof HTMLElement && (i.style.webkitOverflowScrolling = "touch", n.removeEventListener("transitionend", e)) + }, !1) + } + }, t.reset = function() { + this.el_.children[1].style.webkitOverflowScrolling = ""; + var e = this.el_.querySelectorAll("[data-md-toggle]"); + Array.prototype.forEach.call(e, function(e) { + if (!(e instanceof HTMLInputElement)) throw new ReferenceError; + if (e.checked) { + var t = e.nextElementSibling; + if (!(t instanceof HTMLElement)) throw new ReferenceError; + for (; + "NAV" !== t.tagName && t.nextElementSibling;) t = t.nextElementSibling; + if (!(e.parentNode instanceof HTMLElement && e.parentNode.parentNode instanceof HTMLElement)) throw new ReferenceError; + var n = e.parentNode.parentNode, + r = t.children[t.children.length - 1]; + n.style.webkitOverflowScrolling = "", r.style.webkitOverflowScrolling = "" + } + }) + }, e + }() + }, + a = { + Lock: function() { + function e(e) { + var t = "string" == typeof e ? document.querySelector(e) : e; + if (!(t instanceof HTMLInputElement)) throw new ReferenceError; + if (this.el_ = t, !document.body) throw new ReferenceError; + this.lock_ = document.body + } + var t = e.prototype; + return t.setup = function() { + this.update() + }, t.update = function() { + var e = this; + this.el_.checked ? (this.offset_ = window.pageYOffset, setTimeout(function() { + window.scrollTo(0, 0), e.el_.checked && (e.lock_.dataset.mdState = "lock") + }, 400)) : (this.lock_.dataset.mdState = "", setTimeout(function() { + void 0 !== e.offset_ && window.scrollTo(0, e.offset_) + }, 100)) + }, t.reset = function() { + "lock" === this.lock_.dataset.mdState && window.scrollTo(0, this.offset_), this.lock_.dataset.mdState = "" + }, e + }(), + Result: n(9).a + }, + s = { + Position: function() { + function e(e, t) { + var n = "string" == typeof e ? document.querySelector(e) : e; + if (!(n instanceof HTMLElement && n.parentNode instanceof HTMLElement)) throw new ReferenceError; + if (this.el_ = n, this.parent_ = n.parentNode, !((n = "string" == typeof t ? document.querySelector(t) : t) instanceof HTMLElement)) throw new ReferenceError; + this.header_ = n, this.height_ = 0, this.pad_ = "fixed" === window.getComputedStyle(this.header_).position + } + var t = e.prototype; + return t.setup = function() { + var e = Array.prototype.reduce.call(this.parent_.children, function(e, t) { + return Math.max(e, t.offsetTop) + }, 0); + this.offset_ = e - (this.pad_ ? this.header_.offsetHeight : 0), this.update() + }, t.update = function(e) { + var t = window.pageYOffset, + n = window.innerHeight; + e && "resize" === e.type && this.setup(); + var r = this.pad_ ? this.header_.offsetHeight : 0, + i = this.parent_.offsetTop + this.parent_.offsetHeight, + o = n - r - Math.max(0, this.offset_ - t) - Math.max(0, t + n - i); + o !== this.height_ && (this.el_.style.height = (this.height_ = o) + "px"), t >= this.offset_ ? "lock" !== this.el_.dataset.mdState && (this.el_.dataset.mdState = "lock") : "lock" === this.el_.dataset.mdState && (this.el_.dataset.mdState = "") + }, t.reset = function() { + this.el_.dataset.mdState = "", this.el_.style.height = "", this.height_ = 0 + }, e + }() + }, + c = n(6), + l = n.n(c); + var u = { + Adapter: { + GitHub: function(o) { + var e, t; + + function n(e) { + var t; + t = o.call(this, e) || this; + var n = /^.+github\.com\/([^/]+)\/?([^/]+)?.*$/.exec(t.base_); + if (n && 3 === n.length) { + var r = n[1], + i = n[2]; + t.base_ = "https://api.github.com/users/" + r + "/repos", t.name_ = i + } + return t + } + return t = o, (e = n).prototype = Object.create(t.prototype), (e.prototype.constructor = e).__proto__ = t, n.prototype.fetch_ = function() { + var i = this; + return function n(r) { + return void 0 === r && (r = 0), fetch(i.base_ + "?per_page=30&page=" + r).then(function(e) { + return e.json() + }).then(function(e) { + if (!(e instanceof Array)) throw new TypeError; + if (i.name_) { + var t = e.find(function(e) { + return e.name === i.name_ + }); + return t || 30 !== e.length ? t ? [i.format_(t.stargazers_count) + " Stars", i.format_(t.forks_count) + " Forks"] : [] : n(r + 1) + } + return [e.length + " Repositories"] + }) + }() + }, n + }(function() { + function e(e) { + var t = "string" == typeof e ? document.querySelector(e) : e; + if (!(t instanceof HTMLAnchorElement)) throw new ReferenceError; + this.el_ = t, this.base_ = this.el_.href, this.salt_ = this.hash_(this.base_) + } + var t = e.prototype; + return t.fetch = function() { + var n = this; + return new Promise(function(t) { + var e = l.a.getJSON(n.salt_ + ".cache-source"); + void 0 !== e ? t(e) : n.fetch_().then(function(e) { + l.a.set(n.salt_ + ".cache-source", e, { + expires: 1 / 96 + }), t(e) + }) + }) + }, t.fetch_ = function() { + throw new Error("fetch_(): Not implemented") + }, t.format_ = function(e) { + return 1e4 < e ? (e / 1e3).toFixed(0) + "k" : 1e3 < e ? (e / 1e3).toFixed(1) + "k" : "" + e + }, t.hash_ = function(e) { + var t = 0; + if (0 === e.length) return t; + for (var n = 0, r = e.length; n < r; n++) t = (t << 5) - t + e.charCodeAt(n), t |= 0; + return t + }, e + }()) + }, + Repository: n(10).a + }, + f = { + Toggle: function() { + function e(e) { + var t = "string" == typeof e ? document.querySelector(e) : e; + if (!(t instanceof Node)) throw new ReferenceError; + this.el_ = t; + var n = document.querySelector("[data-md-component=header]"); + this.height_ = n.offsetHeight, this.active_ = !1 + } + var t = e.prototype; + return t.update = function() { + var e = window.pageYOffset >= this.el_.children[0].offsetTop + (5 - this.height_); + e !== this.active_ && (this.el_.dataset.mdState = (this.active_ = e) ? "hidden" : "") + }, t.reset = function() { + this.el_.dataset.mdState = "", this.active_ = !1 + }, e + }() + }; + t.a = { + Event: r, + Header: i, + Nav: o, + Search: a, + Sidebar: s, + Source: u, + Tabs: f + } +}, function(t, e, n) { + (function(e) { + t.exports = e.lunr = n(24) + }).call(this, n(4)) +}, function(e, f, d) { + "use strict"; + (function(t) { + var e = d(8), + n = setTimeout; + + function r() {} + + function o(e) { + if (!(this instanceof o)) throw new TypeError("Promises must be constructed via new"); + if ("function" != typeof e) throw new TypeError("not a function"); + this._state = 0, this._handled = !1, this._value = void 0, this._deferreds = [], u(e, this) + } + + function i(n, r) { + for (; 3 === n._state;) n = n._value; + 0 !== n._state ? (n._handled = !0, o._immediateFn(function() { + var e = 1 === n._state ? r.onFulfilled : r.onRejected; + if (null !== e) { + var t; + try { + t = e(n._value) + } catch (e) { + return void s(r.promise, e) + } + a(r.promise, t) + } else(1 === n._state ? a : s)(r.promise, n._value) + })) : n._deferreds.push(r) + } + + function a(t, e) { + try { + if (e === t) throw new TypeError("A promise cannot be resolved with itself."); + if (e && ("object" == typeof e || "function" == typeof e)) { + var n = e.then; + if (e instanceof o) return t._state = 3, t._value = e, void c(t); + if ("function" == typeof n) return void u((r = n, i = e, function() { + r.apply(i, arguments) + }), t) + } + t._state = 1, t._value = e, c(t) + } catch (e) { + s(t, e) + } + var r, i + } + + function s(e, t) { + e._state = 2, e._value = t, c(e) + } + + function c(e) { + 2 === e._state && 0 === e._deferreds.length && o._immediateFn(function() { + e._handled || o._unhandledRejectionFn(e._value) + }); + for (var t = 0, n = e._deferreds.length; t < n; t++) i(e, e._deferreds[t]); + e._deferreds = null + } + + function l(e, t, n) { + this.onFulfilled = "function" == typeof e ? e : null, this.onRejected = "function" == typeof t ? t : null, this.promise = n + } + + function u(e, t) { + var n = !1; + try { + e(function(e) { + n || (n = !0, a(t, e)) + }, function(e) { + n || (n = !0, s(t, e)) + }) + } catch (e) { + if (n) return; + n = !0, s(t, e) + } + } + o.prototype.catch = function(e) { + return this.then(null, e) + }, o.prototype.then = function(e, t) { + var n = new this.constructor(r); + return i(this, new l(e, t, n)), n + }, o.prototype.finally = e.a, o.all = function(t) { + return new o(function(r, i) { + if (!t || void 0 === t.length) throw new TypeError("Promise.all accepts an array"); + var o = Array.prototype.slice.call(t); + if (0 === o.length) return r([]); + var a = o.length; + + function s(t, e) { + try { + if (e && ("object" == typeof e || "function" == typeof e)) { + var n = e.then; + if ("function" == typeof n) return void n.call(e, function(e) { + s(t, e) + }, i) + } + o[t] = e, 0 == --a && r(o) + } catch (e) { + i(e) + } + } + for (var e = 0; e < o.length; e++) s(e, o[e]) + }) + }, o.resolve = function(t) { + return t && "object" == typeof t && t.constructor === o ? t : new o(function(e) { + e(t) + }) + }, o.reject = function(n) { + return new o(function(e, t) { + t(n) + }) + }, o.race = function(i) { + return new o(function(e, t) { + for (var n = 0, r = i.length; n < r; n++) i[n].then(e, t) + }) + }, o._immediateFn = "function" == typeof t && function(e) { + t(e) + } || function(e) { + n(e, 0) + }, o._unhandledRejectionFn = function(e) { + "undefined" != typeof console && console && console.warn("Possible Unhandled Promise Rejection:", e) + }, f.a = o + }).call(this, d(21).setImmediate) +}, function(e, t, n) { + "use strict"; + + function r(e, t) { + var n = document.createElement(e); + t && Array.prototype.forEach.call(Object.keys(t), function(e) { + n.setAttribute(e, t[e]) + }); + for (var r = arguments.length, i = new Array(2 < r ? r - 2 : 0), o = 2; o < r; o++) i[o - 2] = arguments[o]; + return function t(e) { + Array.prototype.forEach.call(e, function(e) { + "string" == typeof e || "number" == typeof e ? n.textContent += e : Array.isArray(e) ? t(e) : void 0 !== e.__html ? n.innerHTML += e.__html : e instanceof Node && n.appendChild(e) + }) + }(i), n + } + n.r(t), n.d(t, "createElement", function() { + return r + }) +}, function(e, t) { + var n; + n = function() { + return this + }(); + try { + n = n || new Function("return this")() + } catch (e) { + "object" == typeof window && (n = window) + } + e.exports = n +}, function(e, t, n) { + var r; + r = function() { + return function(n) { + var r = {}; + + function i(e) { + if (r[e]) return r[e].exports; + var t = r[e] = { + i: e, + l: !1, + exports: {} + }; + return n[e].call(t.exports, t, t.exports, i), t.l = !0, t.exports + } + return i.m = n, i.c = r, i.d = function(e, t, n) { + i.o(e, t) || Object.defineProperty(e, t, { + enumerable: !0, + get: n + }) + }, i.r = function(e) { + "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, { + value: "Module" + }), Object.defineProperty(e, "__esModule", { + value: !0 + }) + }, i.t = function(t, e) { + if (1 & e && (t = i(t)), 8 & e) return t; + if (4 & e && "object" == typeof t && t && t.__esModule) return t; + var n = Object.create(null); + if (i.r(n), Object.defineProperty(n, "default", { + enumerable: !0, + value: t + }), 2 & e && "string" != typeof t) + for (var r in t) i.d(n, r, function(e) { + return t[e] + }.bind(null, r)); + return n + }, i.n = function(e) { + var t = e && e.__esModule ? function() { + return e.default + } : function() { + return e + }; + return i.d(t, "a", t), t + }, i.o = function(e, t) { + return Object.prototype.hasOwnProperty.call(e, t) + }, i.p = "", i(i.s = 0) + }([function(e, t, n) { + "use strict"; + var i = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) { + return typeof e + } : function(e) { + return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e + }, + o = function() { + function r(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r) + } + } + return function(e, t, n) { + return t && r(e.prototype, t), n && r(e, n), e + } + }(), + a = r(n(1)), + s = r(n(3)), + c = r(n(4)); + + function r(e) { + return e && e.__esModule ? e : { + default: e + } + } + var l = function(e) { + function r(e, t) { + ! function(e, t) { + if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") + }(this, r); + var n = function(e, t) { + if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); + return !t || "object" != typeof t && "function" != typeof t ? e : t + }(this, (r.__proto__ || Object.getPrototypeOf(r)).call(this)); + return n.resolveOptions(t), n.listenClick(e), n + } + return function(e, t) { + if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t); + e.prototype = Object.create(t && t.prototype, { + constructor: { + value: e, + enumerable: !1, + writable: !0, + configurable: !0 + } + }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t) + }(r, s.default), o(r, [{ + key: "resolveOptions", + value: function() { + var e = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : {}; + this.action = "function" == typeof e.action ? e.action : this.defaultAction, this.target = "function" == typeof e.target ? e.target : this.defaultTarget, this.text = "function" == typeof e.text ? e.text : this.defaultText, this.container = "object" === i(e.container) ? e.container : document.body + } + }, { + key: "listenClick", + value: function(e) { + var t = this; + this.listener = (0, c.default)(e, "click", function(e) { + return t.onClick(e) + }) + } + }, { + key: "onClick", + value: function(e) { + var t = e.delegateTarget || e.currentTarget; + this.clipboardAction && (this.clipboardAction = null), this.clipboardAction = new a.default({ + action: this.action(t), + target: this.target(t), + text: this.text(t), + container: this.container, + trigger: t, + emitter: this + }) + } + }, { + key: "defaultAction", + value: function(e) { + return u("action", e) + } + }, { + key: "defaultTarget", + value: function(e) { + var t = u("target", e); + if (t) return document.querySelector(t) + } + }, { + key: "defaultText", + value: function(e) { + return u("text", e) + } + }, { + key: "destroy", + value: function() { + this.listener.destroy(), this.clipboardAction && (this.clipboardAction.destroy(), this.clipboardAction = null) + } + }], [{ + key: "isSupported", + value: function() { + var e = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : ["copy", "cut"], + t = "string" == typeof e ? [e] : e, + n = !!document.queryCommandSupported; + return t.forEach(function(e) { + n = n && !!document.queryCommandSupported(e) + }), n + } + }]), r + }(); + + function u(e, t) { + var n = "data-clipboard-" + e; + if (t.hasAttribute(n)) return t.getAttribute(n) + } + e.exports = l + }, function(e, t, n) { + "use strict"; + var r, i = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) { + return typeof e + } : function(e) { + return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e + }, + o = function() { + function r(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r) + } + } + return function(e, t, n) { + return t && r(e.prototype, t), n && r(e, n), e + } + }(), + a = n(2), + s = (r = a) && r.__esModule ? r : { + default: r + }; + var c = function() { + function t(e) { + ! function(e, t) { + if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") + }(this, t), this.resolveOptions(e), this.initSelection() + } + return o(t, [{ + key: "resolveOptions", + value: function() { + var e = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : {}; + this.action = e.action, this.container = e.container, this.emitter = e.emitter, this.target = e.target, this.text = e.text, this.trigger = e.trigger, this.selectedText = "" + } + }, { + key: "initSelection", + value: function() { + this.text ? this.selectFake() : this.target && this.selectTarget() + } + }, { + key: "selectFake", + value: function() { + var e = this, + t = "rtl" == document.documentElement.getAttribute("dir"); + this.removeFake(), this.fakeHandlerCallback = function() { + return e.removeFake() + }, this.fakeHandler = this.container.addEventListener("click", this.fakeHandlerCallback) || !0, this.fakeElem = document.createElement("textarea"), this.fakeElem.style.fontSize = "12pt", this.fakeElem.style.border = "0", this.fakeElem.style.padding = "0", this.fakeElem.style.margin = "0", this.fakeElem.style.position = "absolute", this.fakeElem.style[t ? "right" : "left"] = "-9999px"; + var n = window.pageYOffset || document.documentElement.scrollTop; + this.fakeElem.style.top = n + "px", this.fakeElem.setAttribute("readonly", ""), this.fakeElem.value = this.text, this.container.appendChild(this.fakeElem), this.selectedText = (0, s.default)(this.fakeElem), this.copyText() + } + }, { + key: "removeFake", + value: function() { + this.fakeHandler && (this.container.removeEventListener("click", this.fakeHandlerCallback), this.fakeHandler = null, this.fakeHandlerCallback = null), this.fakeElem && (this.container.removeChild(this.fakeElem), this.fakeElem = null) + } + }, { + key: "selectTarget", + value: function() { + this.selectedText = (0, s.default)(this.target), this.copyText() + } + }, { + key: "copyText", + value: function() { + var t = void 0; + try { + t = document.execCommand(this.action) + } catch (e) { + t = !1 + } + this.handleResult(t) + } + }, { + key: "handleResult", + value: function(e) { + this.emitter.emit(e ? "success" : "error", { + action: this.action, + text: this.selectedText, + trigger: this.trigger, + clearSelection: this.clearSelection.bind(this) + }) + } + }, { + key: "clearSelection", + value: function() { + this.trigger && this.trigger.focus(), window.getSelection().removeAllRanges() + } + }, { + key: "destroy", + value: function() { + this.removeFake() + } + }, { + key: "action", + set: function() { + var e = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : "copy"; + if (this._action = e, "copy" !== this._action && "cut" !== this._action) throw new Error('Invalid "action" value, use either "copy" or "cut"') + }, + get: function() { + return this._action + } + }, { + key: "target", + set: function(e) { + if (void 0 !== e) { + if (!e || "object" !== (void 0 === e ? "undefined" : i(e)) || 1 !== e.nodeType) throw new Error('Invalid "target" value, use a valid Element'); + if ("copy" === this.action && e.hasAttribute("disabled")) throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute'); + if ("cut" === this.action && (e.hasAttribute("readonly") || e.hasAttribute("disabled"))) throw new Error('Invalid "target" attribute. You can\'t cut text from elements with "readonly" or "disabled" attributes'); + this._target = e + } + }, + get: function() { + return this._target + } + }]), t + }(); + e.exports = c + }, function(e, t) { + e.exports = function(e) { + var t; + if ("SELECT" === e.nodeName) e.focus(), t = e.value; + else if ("INPUT" === e.nodeName || "TEXTAREA" === e.nodeName) { + var n = e.hasAttribute("readonly"); + n || e.setAttribute("readonly", ""), e.select(), e.setSelectionRange(0, e.value.length), n || e.removeAttribute("readonly"), t = e.value + } else { + e.hasAttribute("contenteditable") && e.focus(); + var r = window.getSelection(), + i = document.createRange(); + i.selectNodeContents(e), r.removeAllRanges(), r.addRange(i), t = r.toString() + } + return t + } + }, function(e, t) { + function n() {} + n.prototype = { + on: function(e, t, n) { + var r = this.e || (this.e = {}); + return (r[e] || (r[e] = [])).push({ + fn: t, + ctx: n + }), this + }, + once: function(e, t, n) { + var r = this; + + function i() { + r.off(e, i), t.apply(n, arguments) + } + return i._ = t, this.on(e, i, n) + }, + emit: function(e) { + for (var t = [].slice.call(arguments, 1), n = ((this.e || (this.e = {}))[e] || []).slice(), r = 0, i = n.length; r < i; r++) n[r].fn.apply(n[r].ctx, t); + return this + }, + off: function(e, t) { + var n = this.e || (this.e = {}), + r = n[e], + i = []; + if (r && t) + for (var o = 0, a = r.length; o < a; o++) r[o].fn !== t && r[o].fn._ !== t && i.push(r[o]); + return i.length ? n[e] = i : delete n[e], this + } + }, e.exports = n + }, function(e, t, n) { + var d = n(5), + h = n(6); + e.exports = function(e, t, n) { + if (!e && !t && !n) throw new Error("Missing required arguments"); + if (!d.string(t)) throw new TypeError("Second argument must be a String"); + if (!d.fn(n)) throw new TypeError("Third argument must be a Function"); + if (d.node(e)) return u = t, f = n, (l = e).addEventListener(u, f), { + destroy: function() { + l.removeEventListener(u, f) + } + }; + if (d.nodeList(e)) return a = e, s = t, c = n, Array.prototype.forEach.call(a, function(e) { + e.addEventListener(s, c) + }), { + destroy: function() { + Array.prototype.forEach.call(a, function(e) { + e.removeEventListener(s, c) + }) + } + }; + if (d.string(e)) return r = e, i = t, o = n, h(document.body, r, i, o); + throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList"); + var r, i, o, a, s, c, l, u, f + } + }, function(e, n) { + n.node = function(e) { + return void 0 !== e && e instanceof HTMLElement && 1 === e.nodeType + }, n.nodeList = function(e) { + var t = Object.prototype.toString.call(e); + return void 0 !== e && ("[object NodeList]" === t || "[object HTMLCollection]" === t) && "length" in e && (0 === e.length || n.node(e[0])) + }, n.string = function(e) { + return "string" == typeof e || e instanceof String + }, n.fn = function(e) { + return "[object Function]" === Object.prototype.toString.call(e) + } + }, function(e, t, n) { + var a = n(7); + + function o(e, t, n, r, i) { + var o = function(t, n, e, r) { + return function(e) { + e.delegateTarget = a(e.target, n), e.delegateTarget && r.call(t, e) + } + }.apply(this, arguments); + return e.addEventListener(n, o, i), { + destroy: function() { + e.removeEventListener(n, o, i) + } + } + } + e.exports = function(e, t, n, r, i) { + return "function" == typeof e.addEventListener ? o.apply(null, arguments) : "function" == typeof n ? o.bind(null, document).apply(null, arguments) : ("string" == typeof e && (e = document.querySelectorAll(e)), Array.prototype.map.call(e, function(e) { + return o(e, t, n, r, i) + })) + } + }, function(e, t) { + if ("undefined" != typeof Element && !Element.prototype.matches) { + var n = Element.prototype; + n.matches = n.matchesSelector || n.mozMatchesSelector || n.msMatchesSelector || n.oMatchesSelector || n.webkitMatchesSelector + } + e.exports = function(e, t) { + for (; e && 9 !== e.nodeType;) { + if ("function" == typeof e.matches && e.matches(t)) return e; + e = e.parentNode + } + } + }]) + }, e.exports = r() +}, function(r, i, o) { + var a, s; + ! function(e) { + if (void 0 === (s = "function" == typeof(a = e) ? a.call(i, o, i, r) : a) || (r.exports = s), !0, r.exports = e(), !!0) { + var t = window.Cookies, + n = window.Cookies = e(); + n.noConflict = function() { + return window.Cookies = t, n + } + } + }(function() { + function m() { + for (var e = 0, t = {}; e < arguments.length; e++) { + var n = arguments[e]; + for (var r in n) t[r] = n[r] + } + return t + } + return function e(h) { + function p(e, t, n) { + var r; + if ("undefined" != typeof document) { + if (1 < arguments.length) { + if ("number" == typeof(n = m({ + path: "/" + }, p.defaults, n)).expires) { + var i = new Date; + i.setMilliseconds(i.getMilliseconds() + 864e5 * n.expires), n.expires = i + } + n.expires = n.expires ? n.expires.toUTCString() : ""; + try { + r = JSON.stringify(t), /^[\{\[]/.test(r) && (t = r) + } catch (e) {} + t = h.write ? h.write(t, e) : encodeURIComponent(String(t)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent), e = (e = (e = encodeURIComponent(String(e))).replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent)).replace(/[\(\)]/g, escape); + var o = ""; + for (var a in n) n[a] && (o += "; " + a, !0 !== n[a] && (o += "=" + n[a])); + return document.cookie = e + "=" + t + o + } + e || (r = {}); + for (var s = document.cookie ? document.cookie.split("; ") : [], c = /(%[0-9A-Z]{2})+/g, l = 0; l < s.length; l++) { + var u = s[l].split("="), + f = u.slice(1).join("="); + this.json || '"' !== f.charAt(0) || (f = f.slice(1, -1)); + try { + var d = u[0].replace(c, decodeURIComponent); + if (f = h.read ? h.read(f, d) : h(f, d) || f.replace(c, decodeURIComponent), this.json) try { + f = JSON.parse(f) + } catch (e) {} + if (e === d) { + r = f; + break + } + e || (r[d] = f) + } catch (e) {} + } + return r + } + } + return (p.set = p).get = function(e) { + return p.call(p, e) + }, p.getJSON = function() { + return p.apply({ + json: !0 + }, [].slice.call(arguments)) + }, p.defaults = {}, p.remove = function(e, t) { + p(e, "", m(t, { + expires: -1 + })) + }, p.withConverter = e, p + }(function() {}) + }) +}, function(e, t, n) { + "use strict"; + n.r(t); + var r = "function" == typeof fetch ? fetch.bind() : function(i, o) { + return o = o || {}, new Promise(function(e, t) { + var n = new XMLHttpRequest; + for (var r in n.open(o.method || "get", i, !0), o.headers) n.setRequestHeader(r, o.headers[r]); + + function s() { + var r, i = [], + o = [], + a = {}; + return n.getAllResponseHeaders().replace(/^(.*?):[^\S\n]*([\s\S]*?)$/gm, function(e, t, n) { + i.push(t = t.toLowerCase()), o.push([t, n]), r = a[t], a[t] = r ? r + "," + n : n + }), { + ok: 2 == (n.status / 100 | 0), + status: n.status, + statusText: n.statusText, + url: n.responseURL, + clone: s, + text: function() { + return Promise.resolve(n.responseText) + }, + json: function() { + return Promise.resolve(n.responseText).then(JSON.parse) + }, + blob: function() { + return Promise.resolve(new Blob([n.response])) + }, + headers: { + keys: function() { + return i + }, + entries: function() { + return o + }, + get: function(e) { + return a[e.toLowerCase()] + }, + has: function(e) { + return e.toLowerCase() in a + } + } + } + } + n.withCredentials = "include" == o.credentials, n.onload = function() { + e(s()) + }, n.onerror = t, n.send(o.body || null) + }) + }; + t.default = r +}, function(e, t, n) { + "use strict"; + t.a = function(t) { + var n = this.constructor; + return this.then(function(e) { + return n.resolve(t()).then(function() { + return e + }) + }, function(e) { + return n.resolve(t()).then(function() { + return n.reject(e) + }) + }) + } +}, function(e, n, r) { + "use strict"; + (function(f) { + r.d(n, "a", function() { + return t + }); + var e = r(1), + d = r.n(e), + h = function(e) { + var t = document.getElementsByName("lang:" + e)[0]; + if (!(t instanceof HTMLMetaElement)) throw new ReferenceError; + return t.content + }, + t = function() { + function e(e, t) { + var n = "string" == typeof e ? document.querySelector(e) : e; + if (!(n instanceof HTMLElement)) throw new ReferenceError; + this.el_ = n; + var r = Array.prototype.slice.call(this.el_.children), + i = r[0], + o = r[1]; + this.data_ = t, this.meta_ = i, this.list_ = o, this.message_ = { + placeholder: this.meta_.textContent, + none: h("search.result.none"), + one: h("search.result.one"), + other: h("search.result.other") + }; + var a = h("search.tokenizer"); + a.length && (d.a.tokenizer.separator = a), this.lang_ = h("search.language").split(",").filter(Boolean).map(function(e) { + return e.trim() + }) + } + return e.prototype.update = function(e) { + var t, a = this; + if ("focus" !== e.type || this.index_) { + if ("focus" === e.type || "keyup" === e.type) { + var n = e.target; + if (!(n instanceof HTMLInputElement)) throw new ReferenceError; + if (!this.index_ || n.value === this.value_) return; + for (; this.list_.firstChild;) this.list_.removeChild(this.list_.firstChild); + if (this.value_ = n.value, 0 === this.value_.length) return void(this.meta_.textContent = this.message_.placeholder); + var r = this.index_.query(function(t) { + a.value_.toLowerCase().split(" ").filter(Boolean).forEach(function(e) { + t.term(e, { + wildcard: d.a.Query.wildcard.TRAILING + }) + }) + }).reduce(function(e, t) { + var n = a.docs_.get(t.ref); + if (n.parent) { + var r = n.parent.location; + e.set(r, (e.get(r) || []).concat(t)) + } else { + var i = n.location; + e.set(i, e.get(i) || []) + } + return e + }, new Map), + i = (t = this.value_.trim(), t.replace(/[|\\{}()[\]^$+*?.-]/g, "\\$&")).replace(new RegExp(d.a.tokenizer.separator, "img"), "|"), + s = new RegExp("(^|" + d.a.tokenizer.separator + ")(" + i + ")", "img"), + c = function(e, t, n) { + return t + "" + n + "" + }; + this.stack_ = [], r.forEach(function(e, t) { + var n, r = a.docs_.get(t), + i = f.createElement("li", { + class: "md-search-result__item" + }, f.createElement("a", { + href: r.location, + title: r.title, + class: "md-search-result__link", + tabindex: "-1" + }, f.createElement("article", { + class: "md-search-result__article md-search-result__article--document" + }, f.createElement("h1", { + class: "md-search-result__title" + }, { + __html: r.title.replace(s, c) + }), r.text.length ? f.createElement("p", { + class: "md-search-result__teaser" + }, { + __html: r.text.replace(s, c) + }) : {}))), + o = e.map(function(t) { + return function() { + var e = a.docs_.get(t.ref); + i.appendChild(f.createElement("a", { + href: e.location, + title: e.title, + class: "md-search-result__link", + "data-md-rel": "anchor", + tabindex: "-1" + }, f.createElement("article", { + class: "md-search-result__article" + }, f.createElement("h1", { + class: "md-search-result__title" + }, { + __html: e.title.replace(s, c) + }), e.text.length ? f.createElement("p", { + class: "md-search-result__teaser" + }, { + __html: function(e, t) { + var n = t; + if (e.length > n) { + for (; + " " !== e[n] && 0 < --n;); + return e.substring(0, n) + "..." + } + return e + }(e.text.replace(s, c), 400) + }) : {}))) + } + }); + (n = a.stack_).push.apply(n, [function() { + return a.list_.appendChild(i) + }].concat(o)) + }); + var o = this.el_.parentNode; + if (!(o instanceof HTMLElement)) throw new ReferenceError; + for (; this.stack_.length && o.offsetHeight >= o.scrollHeight - 16;) this.stack_.shift()(); + var l = this.list_.querySelectorAll("[data-md-rel=anchor]"); + switch (Array.prototype.forEach.call(l, function(r) { + ["click", "keydown"].forEach(function(n) { + r.addEventListener(n, function(e) { + if ("keydown" !== n || 13 === e.keyCode) { + var t = document.querySelector("[data-md-toggle=search]"); + if (!(t instanceof HTMLInputElement)) throw new ReferenceError; + t.checked && (t.checked = !1, t.dispatchEvent(new CustomEvent("change"))), e.preventDefault(), setTimeout(function() { + document.location.href = r.href + }, 100) + } + }) + }) + }), r.size) { + case 0: + this.meta_.textContent = this.message_.none; + break; + case 1: + this.meta_.textContent = this.message_.one; + break; + default: + this.meta_.textContent = this.message_.other.replace("#", r.size) + } + } + } else { + var u = function(e) { + a.docs_ = e.reduce(function(e, t) { + var n, r, i, o = t.location.split("#"), + a = o[0], + s = o[1]; + return t.text = (n = t.text, r = document.createTextNode(n), (i = document.createElement("p")).appendChild(r), i.innerHTML), s && (t.parent = e.get(a), t.parent && !t.parent.done && (t.parent.title = t.title, t.parent.text = t.text, t.parent.done = !0)), t.text = t.text.replace(/\n/g, " ").replace(/\s+/g, " ").replace(/\s+([,.:;!?])/g, function(e, t) { + return t + }), t.parent && t.parent.title === t.title || e.set(t.location, t), e + }, new Map); + var i = a.docs_, + o = a.lang_; + a.stack_ = [], a.index_ = d()(function() { + var e, t = this, + n = { + "search.pipeline.trimmer": d.a.trimmer, + "search.pipeline.stopwords": d.a.stopWordFilter + }, + r = Object.keys(n).reduce(function(e, t) { + return h(t).match(/^false$/i) || e.push(n[t]), e + }, []); + this.pipeline.reset(), r && (e = this.pipeline).add.apply(e, r), 1 === o.length && "en" !== o[0] && d.a[o[0]] ? this.use(d.a[o[0]]) : 1 < o.length && this.use(d.a.multiLanguage.apply(d.a, o)), this.field("title", { + boost: 10 + }), this.field("text"), this.ref("location"), i.forEach(function(e) { + return t.add(e) + }) + }); + var t = a.el_.parentNode; + if (!(t instanceof HTMLElement)) throw new ReferenceError; + t.addEventListener("scroll", function() { + for (; a.stack_.length && t.scrollTop + t.offsetHeight >= t.scrollHeight - 16;) a.stack_.splice(0, 10).forEach(function(e) { + return e() + }) + }) + }; + setTimeout(function() { + return "function" == typeof a.data_ ? a.data_().then(u) : u(a.data_) + }, 250) + } + }, e + }() + }).call(this, r(3)) +}, function(e, n, r) { + "use strict"; + (function(t) { + r.d(n, "a", function() { + return e + }); + var e = function() { + function e(e) { + var t = "string" == typeof e ? document.querySelector(e) : e; + if (!(t instanceof HTMLElement)) throw new ReferenceError; + this.el_ = t + } + return e.prototype.initialize = function(e) { + e.length && this.el_.children.length && this.el_.children[this.el_.children.length - 1].appendChild(t.createElement("ul", { + class: "md-source__facts" + }, e.map(function(e) { + return t.createElement("li", { + class: "md-source__fact" + }, e) + }))), this.el_.dataset.mdState = "done" + }, e + }() + }).call(this, r(3)) +}, , , function(e, n, c) { + "use strict"; + c.r(n), + function(o) { + c.d(n, "app", function() { + return t + }); + c(14), c(15), c(16), c(17), c(18), c(19), c(20); + var r = c(2), + e = c(5), + a = c.n(e), + i = c(0); + window.Promise = window.Promise || r.a; + var s = function(e) { + var t = document.getElementsByName("lang:" + e)[0]; + if (!(t instanceof HTMLMetaElement)) throw new ReferenceError; + return t.content + }; + var t = { + initialize: function(t) { + new i.a.Event.Listener(document, "DOMContentLoaded", function() { + if (!(document.body instanceof HTMLElement)) throw new ReferenceError; + Modernizr.addTest("ios", function() { + return !!navigator.userAgent.match(/(iPad|iPhone|iPod)/g) + }); + var e = document.querySelectorAll("table:not([class])"); + if (Array.prototype.forEach.call(e, function(e) { + var t = o.createElement("div", { + class: "md-typeset__scrollwrap" + }, o.createElement("div", { + class: "md-typeset__table" + })); + e.nextSibling ? e.parentNode.insertBefore(t, e.nextSibling) : e.parentNode.appendChild(t), t.children[0].appendChild(e) + }), a.a.isSupported()) { + var t = document.querySelectorAll(".codehilite > pre, pre > code"); + Array.prototype.forEach.call(t, function(e, t) { + var n = "__code_" + t, + r = o.createElement("button", { + class: "md-clipboard", + title: s("clipboard.copy"), + "data-clipboard-target": "#" + n + " pre, #" + n + " code" + }, o.createElement("span", { + class: "md-clipboard__message" + })), + i = e.parentNode; + i.id = n, i.insertBefore(r, e) + }), new a.a(".md-clipboard").on("success", function(e) { + var t = e.trigger.querySelector(".md-clipboard__message"); + if (!(t instanceof HTMLElement)) throw new ReferenceError; + e.clearSelection(), t.dataset.mdTimer && clearTimeout(parseInt(t.dataset.mdTimer, 10)), t.classList.add("md-clipboard__message--active"), t.innerHTML = s("clipboard.copied"), t.dataset.mdTimer = setTimeout(function() { + t.classList.remove("md-clipboard__message--active"), t.dataset.mdTimer = "" + }, 2e3).toString() + }) + } + if (!Modernizr.details) { + var n = document.querySelectorAll("details > summary"); + Array.prototype.forEach.call(n, function(e) { + e.addEventListener("click", function(e) { + var t = e.target.parentNode; + t.hasAttribute("open") ? t.removeAttribute("open") : t.setAttribute("open", "") + }) + }) + } + var r = function() { + if (document.location.hash) { + var e = document.getElementById(document.location.hash.substring(1)); + if (!e) return; + for (var t = e.parentNode; t && !(t instanceof HTMLDetailsElement);) t = t.parentNode; + if (t && !t.open) { + t.open = !0; + var n = location.hash; + location.hash = " ", location.hash = n + } + } + }; + if (window.addEventListener("hashchange", r), r(), Modernizr.ios) { + var i = document.querySelectorAll("[data-md-scrollfix]"); + Array.prototype.forEach.call(i, function(t) { + t.addEventListener("touchstart", function() { + var e = t.scrollTop; + 0 === e ? t.scrollTop = 1 : e + t.offsetHeight === t.scrollHeight && (t.scrollTop = e - 1) + }) + }) + } + }).listen(), new i.a.Event.Listener(window, ["scroll", "resize", "orientationchange"], new i.a.Header.Shadow("[data-md-component=container]", "[data-md-component=header]")).listen(), new i.a.Event.Listener(window, ["scroll", "resize", "orientationchange"], new i.a.Header.Title("[data-md-component=title]", ".md-typeset h1")).listen(), document.querySelector("[data-md-component=hero]") && new i.a.Event.Listener(window, ["scroll", "resize", "orientationchange"], new i.a.Tabs.Toggle("[data-md-component=hero]")).listen(), document.querySelector("[data-md-component=tabs]") && new i.a.Event.Listener(window, ["scroll", "resize", "orientationchange"], new i.a.Tabs.Toggle("[data-md-component=tabs]")).listen(), new i.a.Event.MatchMedia("(min-width: 1220px)", new i.a.Event.Listener(window, ["scroll", "resize", "orientationchange"], new i.a.Sidebar.Position("[data-md-component=navigation]", "[data-md-component=header]"))), document.querySelector("[data-md-component=toc]") && new i.a.Event.MatchMedia("(min-width: 960px)", new i.a.Event.Listener(window, ["scroll", "resize", "orientationchange"], new i.a.Sidebar.Position("[data-md-component=toc]", "[data-md-component=header]"))), new i.a.Event.MatchMedia("(min-width: 960px)", new i.a.Event.Listener(window, "scroll", new i.a.Nav.Blur("[data-md-component=toc] .md-nav__link"))); + var e = document.querySelectorAll("[data-md-component=collapsible]"); + Array.prototype.forEach.call(e, function(e) { + new i.a.Event.MatchMedia("(min-width: 1220px)", new i.a.Event.Listener(e.previousElementSibling, "click", new i.a.Nav.Collapse(e))) + }), new i.a.Event.MatchMedia("(max-width: 1219px)", new i.a.Event.Listener("[data-md-component=navigation] [data-md-toggle]", "change", new i.a.Nav.Scrolling("[data-md-component=navigation] nav"))), document.querySelector("[data-md-component=search]") && (new i.a.Event.MatchMedia("(max-width: 959px)", new i.a.Event.Listener("[data-md-toggle=search]", "change", new i.a.Search.Lock("[data-md-toggle=search]")))), + new i.a.Event.Listener(document.body, "keydown", function(e) { + if (9 === e.keyCode) { + var t = document.querySelectorAll("[data-md-component=navigation] .md-nav__link[for]:not([tabindex])"); + Array.prototype.forEach.call(t, function(e) { + e.offsetHeight && (e.tabIndex = 0) + }) + } + }).listen(), new i.a.Event.Listener(document.body, "mousedown", function() { + var e = document.querySelectorAll("[data-md-component=navigation] .md-nav__link[tabindex]"); + Array.prototype.forEach.call(e, function(e) { + e.removeAttribute("tabIndex") + }) + }).listen(), document.body.addEventListener("click", function() { + "tabbing" === document.body.dataset.mdState && (document.body.dataset.mdState = "") + }), new i.a.Event.MatchMedia("(max-width: 959px)", new i.a.Event.Listener("[data-md-component=navigation] [href^='#']", "click", function() { + var e = document.querySelector("[data-md-toggle=drawer]"); + if (!(e instanceof HTMLInputElement)) throw new ReferenceError; + e.checked && (e.checked = !1, e.dispatchEvent(new CustomEvent("change"))) + })), + function() { + var e = document.querySelector("[data-md-source]"); + if (!e) return r.a.resolve([]); + if (!(e instanceof HTMLAnchorElement)) throw new ReferenceError; + switch (e.dataset.mdSource) { + case "github": + return new i.a.Source.Adapter.GitHub(e).fetch(); + default: + return r.a.resolve([]) + } + }().then(function(t) { + var e = document.querySelectorAll("[data-md-source]"); + Array.prototype.forEach.call(e, function(e) { + new i.a.Source.Repository(e).initialize(t) + }) + }); + var n = function() { + var e = document.querySelectorAll("details"); + Array.prototype.forEach.call(e, function(e) { + e.setAttribute("open", "") + }) + }; + new i.a.Event.MatchMedia("print", { + listen: n, + unlisten: function() {} + }), window.onbeforeprint = n + } + } + }.call(this, c(3)) +}, function(e, t, n) { + e.exports = n.p + "assets/images/icons/bitbucket.1b09e088.svg" +}, function(e, t, n) { + e.exports = n.p + "assets/images/icons/github.f0b8504a.svg" +}, function(e, t, n) { + e.exports = n.p + "assets/images/icons/gitlab.6dd19c00.svg" +}, function(e, t) { + e.exports = "/Users/squidfunk/Desktop/General/Sources/mkdocs-material/material/application.4031d38b.css" +}, function(e, t) { + e.exports = "/Users/squidfunk/Desktop/General/Sources/mkdocs-material/material/application-palette.224b79ff.css" +}, function(e, t) { + ! function() { + if ("undefined" != typeof window) try { + var e = new window.CustomEvent("test", { + cancelable: !0 + }); + if (e.preventDefault(), !0 !== e.defaultPrevented) throw new Error("Could not prevent default") + } catch (e) { + var t = function(e, t) { + var n, r; + return (t = t || {}).bubbles = !!t.bubbles, t.cancelable = !!t.cancelable, (n = document.createEvent("CustomEvent")).initCustomEvent(e, t.bubbles, t.cancelable, t.detail), r = n.preventDefault, n.preventDefault = function() { + r.call(this); + try { + Object.defineProperty(this, "defaultPrevented", { + get: function() { + return !0 + } + }) + } catch (e) { + this.defaultPrevented = !0 + } + }, n + }; + t.prototype = window.Event.prototype, window.CustomEvent = t + } + }() +}, function(e, t, n) { + window.fetch || (window.fetch = n(7).default || n(7)) +}, function(e, i, o) { + (function(e) { + var t = void 0 !== e && e || "undefined" != typeof self && self || window, + n = Function.prototype.apply; + + function r(e, t) { + this._id = e, this._clearFn = t + } + i.setTimeout = function() { + return new r(n.call(setTimeout, t, arguments), clearTimeout) + }, i.setInterval = function() { + return new r(n.call(setInterval, t, arguments), clearInterval) + }, i.clearTimeout = i.clearInterval = function(e) { + e && e.close() + }, r.prototype.unref = r.prototype.ref = function() {}, r.prototype.close = function() { + this._clearFn.call(t, this._id) + }, i.enroll = function(e, t) { + clearTimeout(e._idleTimeoutId), e._idleTimeout = t + }, i.unenroll = function(e) { + clearTimeout(e._idleTimeoutId), e._idleTimeout = -1 + }, i._unrefActive = i.active = function(e) { + clearTimeout(e._idleTimeoutId); + var t = e._idleTimeout; + 0 <= t && (e._idleTimeoutId = setTimeout(function() { + e._onTimeout && e._onTimeout() + }, t)) + }, o(22), i.setImmediate = "undefined" != typeof self && self.setImmediate || void 0 !== e && e.setImmediate || this && this.setImmediate, i.clearImmediate = "undefined" != typeof self && self.clearImmediate || void 0 !== e && e.clearImmediate || this && this.clearImmediate + }).call(this, o(4)) +}, function(e, t, n) { + (function(e, p) { + ! function(n, r) { + "use strict"; + if (!n.setImmediate) { + var i, o, t, a, e, s = 1, + c = {}, + l = !1, + u = n.document, + f = Object.getPrototypeOf && Object.getPrototypeOf(n); + f = f && f.setTimeout ? f : n, i = "[object process]" === {}.toString.call(n.process) ? function(e) { + p.nextTick(function() { + h(e) + }) + } : function() { + if (n.postMessage && !n.importScripts) { + var e = !0, + t = n.onmessage; + return n.onmessage = function() { + e = !1 + }, n.postMessage("", "*"), n.onmessage = t, e + } + }() ? (a = "setImmediate$" + Math.random() + "$", e = function(e) { + e.source === n && "string" == typeof e.data && 0 === e.data.indexOf(a) && h(+e.data.slice(a.length)) + }, n.addEventListener ? n.addEventListener("message", e, !1) : n.attachEvent("onmessage", e), function(e) { + n.postMessage(a + e, "*") + }) : n.MessageChannel ? ((t = new MessageChannel).port1.onmessage = function(e) { + h(e.data) + }, function(e) { + t.port2.postMessage(e) + }) : u && "onreadystatechange" in u.createElement("script") ? (o = u.documentElement, function(e) { + var t = u.createElement("script"); + t.onreadystatechange = function() { + h(e), t.onreadystatechange = null, o.removeChild(t), t = null + }, o.appendChild(t) + }) : function(e) { + setTimeout(h, 0, e) + }, f.setImmediate = function(e) { + "function" != typeof e && (e = new Function("" + e)); + for (var t = new Array(arguments.length - 1), n = 0; n < t.length; n++) t[n] = arguments[n + 1]; + var r = { + callback: e, + args: t + }; + return c[s] = r, i(s), s++ + }, f.clearImmediate = d + } + + function d(e) { + delete c[e] + } + + function h(e) { + if (l) setTimeout(h, 0, e); + else { + var t = c[e]; + if (t) { + l = !0; + try { + ! function(e) { + var t = e.callback, + n = e.args; + switch (n.length) { + case 0: + t(); + break; + case 1: + t(n[0]); + break; + case 2: + t(n[0], n[1]); + break; + case 3: + t(n[0], n[1], n[2]); + break; + default: + t.apply(r, n) + } + }(t) + } finally { + d(e), l = !1 + } + } + } + } + }("undefined" == typeof self ? void 0 === e ? this : e : self) + }).call(this, n(4), n(23)) +}, function(e, t) { + var n, r, i = e.exports = {}; + + function o() { + throw new Error("setTimeout has not been defined") + } + + function a() { + throw new Error("clearTimeout has not been defined") + } + + function s(t) { + if (n === setTimeout) return setTimeout(t, 0); + if ((n === o || !n) && setTimeout) return n = setTimeout, setTimeout(t, 0); + try { + return n(t, 0) + } catch (e) { + try { + return n.call(null, t, 0) + } catch (e) { + return n.call(this, t, 0) + } + } + }! function() { + try { + n = "function" == typeof setTimeout ? setTimeout : o + } catch (e) { + n = o + } + try { + r = "function" == typeof clearTimeout ? clearTimeout : a + } catch (e) { + r = a + } + }(); + var c, l = [], + u = !1, + f = -1; + + function d() { + u && c && (u = !1, c.length ? l = c.concat(l) : f = -1, l.length && h()) + } + + function h() { + if (!u) { + var e = s(d); + u = !0; + for (var t = l.length; t;) { + for (c = l, l = []; ++f < t;) c && c[f].run(); + f = -1, t = l.length + } + c = null, u = !1, + function(t) { + if (r === clearTimeout) return clearTimeout(t); + if ((r === a || !r) && clearTimeout) return r = clearTimeout, clearTimeout(t); + try { + r(t) + } catch (e) { + try { + return r.call(null, t) + } catch (e) { + return r.call(this, t) + } + } + }(e) + } + } + + function p(e, t) { + this.fun = e, this.array = t + } + + function m() {} + i.nextTick = function(e) { + var t = new Array(arguments.length - 1); + if (1 < arguments.length) + for (var n = 1; n < arguments.length; n++) t[n - 1] = arguments[n]; + l.push(new p(e, t)), 1 !== l.length || u || s(h) + }, p.prototype.run = function() { + this.fun.apply(null, this.array) + }, i.title = "browser", i.browser = !0, i.env = {}, i.argv = [], i.version = "", i.versions = {}, i.on = m, i.addListener = m, i.once = m, i.off = m, i.removeListener = m, i.removeAllListeners = m, i.emit = m, i.prependListener = m, i.prependOnceListener = m, i.listeners = function(e) { + return [] + }, i.binding = function(e) { + throw new Error("process.binding is not supported") + }, i.cwd = function() { + return "/" + }, i.chdir = function(e) { + throw new Error("process.chdir is not supported") + }, i.umask = function() { + return 0 + } +}, function(i, o, a) { + var s, c; + /** + * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.6 + * Copyright (C) 2019 Oliver Nightingale + * @license MIT + */ + ! function() { + var t, l, u, e, n, f, d, h, p, m, y, v, g, w, _, E, x, b, k, S, T, L, R, O, C, r, D = function(e) { + var t = new D.Builder; + return t.pipeline.add(D.trimmer, D.stopWordFilter, D.stemmer), t.searchPipeline.add(D.stemmer), e.call(t, t), t.build() + }; + D.version = "2.3.6", D.utils = {}, D.utils.warn = (t = this, function(e) { + t.console && console.warn && console.warn(e) + }), D.utils.asString = function(e) { + return null == e ? "" : e.toString() + }, D.utils.clone = function(e) { + if (null == e) return e; + for (var t = Object.create(null), n = Object.keys(e), r = 0; r < n.length; r++) { + var i = n[r], + o = e[i]; + if (Array.isArray(o)) t[i] = o.slice(); + else { + if ("string" != typeof o && "number" != typeof o && "boolean" != typeof o) throw new TypeError("clone is not deep and does not support nested objects"); + t[i] = o + } + } + return t + }, D.FieldRef = function(e, t, n) { + this.docRef = e, this.fieldName = t, this._stringValue = n + }, D.FieldRef.joiner = "/", D.FieldRef.fromString = function(e) { + var t = e.indexOf(D.FieldRef.joiner); + if (-1 === t) throw "malformed field ref string"; + var n = e.slice(0, t), + r = e.slice(t + 1); + return new D.FieldRef(r, n, e) + }, D.FieldRef.prototype.toString = function() { + return null == this._stringValue && (this._stringValue = this.fieldName + D.FieldRef.joiner + this.docRef), this._stringValue + }, D.Set = function(e) { + if (this.elements = Object.create(null), e) { + this.length = e.length; + for (var t = 0; t < this.length; t++) this.elements[e[t]] = !0 + } else this.length = 0 + }, D.Set.complete = { + intersect: function(e) { + return e + }, + union: function(e) { + return e + }, + contains: function() { + return !0 + } + }, D.Set.empty = { + intersect: function() { + return this + }, + union: function(e) { + return e + }, + contains: function() { + return !1 + } + }, D.Set.prototype.contains = function(e) { + return !!this.elements[e] + }, D.Set.prototype.intersect = function(e) { + var t, n, r, i = []; + if (e === D.Set.complete) return this; + if (e === D.Set.empty) return e; + n = this.length < e.length ? (t = this, e) : (t = e, this), r = Object.keys(t.elements); + for (var o = 0; o < r.length; o++) { + var a = r[o]; + a in n.elements && i.push(a) + } + return new D.Set(i) + }, D.Set.prototype.union = function(e) { + return e === D.Set.complete ? D.Set.complete : e === D.Set.empty ? this : new D.Set(Object.keys(this.elements).concat(Object.keys(e.elements))) + }, D.idf = function(e, t) { + var n = 0; + for (var r in e) "_index" != r && (n += Object.keys(e[r]).length); + var i = (t - n + .5) / (n + .5); + return Math.log(1 + Math.abs(i)) + }, D.Token = function(e, t) { + this.str = e || "", this.metadata = t || {} + }, D.Token.prototype.toString = function() { + return this.str + }, D.Token.prototype.update = function(e) { + return this.str = e(this.str, this.metadata), this + }, D.Token.prototype.clone = function(e) { + return e = e || function(e) { + return e + }, new D.Token(e(this.str, this.metadata), this.metadata) + }, D.tokenizer = function(e, t) { + if (null == e || null == e) return []; + if (Array.isArray(e)) return e.map(function(e) { + return new D.Token(D.utils.asString(e).toLowerCase(), D.utils.clone(t)) + }); + for (var n = e.toString().trim().toLowerCase(), r = n.length, i = [], o = 0, a = 0; o <= r; o++) { + var s = o - a; + if (n.charAt(o).match(D.tokenizer.separator) || o == r) { + if (0 < s) { + var c = D.utils.clone(t) || {}; + c.position = [a, s], c.index = i.length, i.push(new D.Token(n.slice(a, o), c)) + } + a = o + 1 + } + } + return i + }, D.tokenizer.separator = /[\s\-]+/, D.Pipeline = function() { + this._stack = [] + }, D.Pipeline.registeredFunctions = Object.create(null), D.Pipeline.registerFunction = function(e, t) { + t in this.registeredFunctions && D.utils.warn("Overwriting existing registered function: " + t), e.label = t, D.Pipeline.registeredFunctions[e.label] = e + }, D.Pipeline.warnIfFunctionNotRegistered = function(e) { + e.label && e.label in this.registeredFunctions || D.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n", e) + }, D.Pipeline.load = function(e) { + var n = new D.Pipeline; + return e.forEach(function(e) { + var t = D.Pipeline.registeredFunctions[e]; + if (!t) throw new Error("Cannot load unregistered function: " + e); + n.add(t) + }), n + }, D.Pipeline.prototype.add = function() { + Array.prototype.slice.call(arguments).forEach(function(e) { + D.Pipeline.warnIfFunctionNotRegistered(e), this._stack.push(e) + }, this) + }, D.Pipeline.prototype.after = function(e, t) { + D.Pipeline.warnIfFunctionNotRegistered(t); + var n = this._stack.indexOf(e); + if (-1 == n) throw new Error("Cannot find existingFn"); + n += 1, this._stack.splice(n, 0, t) + }, D.Pipeline.prototype.before = function(e, t) { + D.Pipeline.warnIfFunctionNotRegistered(t); + var n = this._stack.indexOf(e); + if (-1 == n) throw new Error("Cannot find existingFn"); + this._stack.splice(n, 0, t) + }, D.Pipeline.prototype.remove = function(e) { + var t = this._stack.indexOf(e); - 1 != t && this._stack.splice(t, 1) + }, D.Pipeline.prototype.run = function(e) { + for (var t = this._stack.length, n = 0; n < t; n++) { + for (var r = this._stack[n], i = [], o = 0; o < e.length; o++) { + var a = r(e[o], o, e); + if (void 0 !== a && "" !== a) + if (Array.isArray(a)) + for (var s = 0; s < a.length; s++) i.push(a[s]); + else i.push(a) + } + e = i + } + return e + }, D.Pipeline.prototype.runString = function(e, t) { + var n = new D.Token(e, t); + return this.run([n]).map(function(e) { + return e.toString() + }) + }, D.Pipeline.prototype.reset = function() { + this._stack = [] + }, D.Pipeline.prototype.toJSON = function() { + return this._stack.map(function(e) { + return D.Pipeline.warnIfFunctionNotRegistered(e), e.label + }) + }, D.Vector = function(e) { + this._magnitude = 0, this.elements = e || [] + }, D.Vector.prototype.positionForIndex = function(e) { + if (0 == this.elements.length) return 0; + for (var t = 0, n = this.elements.length / 2, r = n - t, i = Math.floor(r / 2), o = this.elements[2 * i]; 1 < r && (o < e && (t = i), e < o && (n = i), o != e);) r = n - t, i = t + Math.floor(r / 2), o = this.elements[2 * i]; + return o == e ? 2 * i : e < o ? 2 * i : o < e ? 2 * (i + 1) : void 0 + }, D.Vector.prototype.insert = function(e, t) { + this.upsert(e, t, function() { + throw "duplicate index" + }) + }, D.Vector.prototype.upsert = function(e, t, n) { + this._magnitude = 0; + var r = this.positionForIndex(e); + this.elements[r] == e ? this.elements[r + 1] = n(this.elements[r + 1], t) : this.elements.splice(r, 0, e, t) + }, D.Vector.prototype.magnitude = function() { + if (this._magnitude) return this._magnitude; + for (var e = 0, t = this.elements.length, n = 1; n < t; n += 2) { + var r = this.elements[n]; + e += r * r + } + return this._magnitude = Math.sqrt(e) + }, D.Vector.prototype.dot = function(e) { + for (var t = 0, n = this.elements, r = e.elements, i = n.length, o = r.length, a = 0, s = 0, c = 0, l = 0; c < i && l < o;)(a = n[c]) < (s = r[l]) ? c += 2 : s < a ? l += 2 : a == s && (t += n[c + 1] * r[l + 1], c += 2, l += 2); + return t + }, D.Vector.prototype.similarity = function(e) { + return this.dot(e) / this.magnitude() || 0 + }, D.Vector.prototype.toArray = function() { + for (var e = new Array(this.elements.length / 2), t = 1, n = 0; t < this.elements.length; t += 2, n++) e[n] = this.elements[t]; + return e + }, D.Vector.prototype.toJSON = function() { + return this.elements + }, D.stemmer = (l = { + ational: "ate", + tional: "tion", + enci: "ence", + anci: "ance", + izer: "ize", + bli: "ble", + alli: "al", + entli: "ent", + eli: "e", + ousli: "ous", + ization: "ize", + ation: "ate", + ator: "ate", + alism: "al", + iveness: "ive", + fulness: "ful", + ousness: "ous", + aliti: "al", + iviti: "ive", + biliti: "ble", + logi: "log" + }, u = { + icate: "ic", + ative: "", + alize: "al", + iciti: "ic", + ical: "ic", + ful: "", + ness: "" + }, e = "[aeiouy]", n = "[^aeiou][^aeiouy]*", f = new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*"), d = new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*[aeiouy][aeiou]*[^aeiou][^aeiouy]*"), h = new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*([aeiouy][aeiou]*)?$"), p = new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy]"), m = /^(.+?)(ss|i)es$/, y = /^(.+?)([^s])s$/, v = /^(.+?)eed$/, g = /^(.+?)(ed|ing)$/, w = /.$/, _ = /(at|bl|iz)$/, E = new RegExp("([^aeiouylsz])\\1$"), x = new RegExp("^" + n + e + "[^aeiouwxy]$"), b = /^(.+?[^aeiou])y$/, k = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/, S = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/, T = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/, L = /^(.+?)(s|t)(ion)$/, R = /^(.+?)e$/, O = /ll$/, C = new RegExp("^" + n + e + "[^aeiouwxy]$"), r = function(e) { + var t, n, r, i, o, a, s; + if (e.length < 3) return e; + if ("y" == (r = e.substr(0, 1)) && (e = r.toUpperCase() + e.substr(1)), o = y, (i = m).test(e) ? e = e.replace(i, "$1$2") : o.test(e) && (e = e.replace(o, "$1$2")), o = g, (i = v).test(e)) { + var c = i.exec(e); + (i = f).test(c[1]) && (i = w, e = e.replace(i, "")) + } else if (o.test(e)) { + t = (c = o.exec(e))[1], (o = p).test(t) && (a = E, s = x, (o = _).test(e = t) ? e += "e" : a.test(e) ? (i = w, e = e.replace(i, "")) : s.test(e) && (e += "e")) + }(i = b).test(e) && (e = (t = (c = i.exec(e))[1]) + "i"); + (i = k).test(e) && (t = (c = i.exec(e))[1], n = c[2], (i = f).test(t) && (e = t + l[n])); + (i = S).test(e) && (t = (c = i.exec(e))[1], n = c[2], (i = f).test(t) && (e = t + u[n])); + if (o = L, (i = T).test(e)) t = (c = i.exec(e))[1], (i = d).test(t) && (e = t); + else if (o.test(e)) { + t = (c = o.exec(e))[1] + c[2], (o = d).test(t) && (e = t) + }(i = R).test(e) && (t = (c = i.exec(e))[1], o = h, a = C, ((i = d).test(t) || o.test(t) && !a.test(t)) && (e = t)); + return o = d, (i = O).test(e) && o.test(e) && (i = w, e = e.replace(i, "")), "y" == r && (e = r.toLowerCase() + e.substr(1)), e + }, function(e) { + return e.update(r) + }), D.Pipeline.registerFunction(D.stemmer, "stemmer"), D.generateStopWordFilter = function(e) { + var t = e.reduce(function(e, t) { + return e[t] = t, e + }, {}); + return function(e) { + if (e && t[e.toString()] !== e.toString()) return e + } + }, D.stopWordFilter = D.generateStopWordFilter(["a", "able", "about", "across", "after", "all", "almost", "also", "am", "among", "an", "and", "any", "are", "as", "at", "be", "because", "been", "but", "by", "can", "cannot", "could", "dear", "did", "do", "does", "either", "else", "ever", "every", "for", "from", "get", "got", "had", "has", "have", "he", "her", "hers", "him", "his", "how", "however", "i", "if", "in", "into", "is", "it", "its", "just", "least", "let", "like", "likely", "may", "me", "might", "most", "must", "my", "neither", "no", "nor", "not", "of", "off", "often", "on", "only", "or", "other", "our", "own", "rather", "said", "say", "says", "she", "should", "since", "so", "some", "than", "that", "the", "their", "them", "then", "there", "these", "they", "this", "tis", "to", "too", "twas", "us", "wants", "was", "we", "were", "what", "when", "where", "which", "while", "who", "whom", "why", "will", "with", "would", "yet", "you", "your"]), D.Pipeline.registerFunction(D.stopWordFilter, "stopWordFilter"), D.trimmer = function(e) { + return e.update(function(e) { + return e.replace(/^\W+/, "").replace(/\W+$/, "") + }) + }, D.Pipeline.registerFunction(D.trimmer, "trimmer"), D.TokenSet = function() { + this.final = !1, this.edges = {}, this.id = D.TokenSet._nextId, D.TokenSet._nextId += 1 + }, D.TokenSet._nextId = 1, D.TokenSet.fromArray = function(e) { + for (var t = new D.TokenSet.Builder, n = 0, r = e.length; n < r; n++) t.insert(e[n]); + return t.finish(), t.root + }, D.TokenSet.fromClause = function(e) { + return "editDistance" in e ? D.TokenSet.fromFuzzyString(e.term, e.editDistance) : D.TokenSet.fromString(e.term) + }, D.TokenSet.fromFuzzyString = function(e, t) { + for (var n = new D.TokenSet, r = [{ + node: n, + editsRemaining: t, + str: e + }]; r.length;) { + var i = r.pop(); + if (0 < i.str.length) { + var o, a = i.str.charAt(0); + a in i.node.edges ? o = i.node.edges[a] : (o = new D.TokenSet, i.node.edges[a] = o), 1 == i.str.length && (o.final = !0), r.push({ + node: o, + editsRemaining: i.editsRemaining, + str: i.str.slice(1) + }) + } + if (0 != i.editsRemaining) { + if ("*" in i.node.edges) var s = i.node.edges["*"]; + else { + s = new D.TokenSet; + i.node.edges["*"] = s + } + if (0 == i.str.length && (s.final = !0), r.push({ + node: s, + editsRemaining: i.editsRemaining - 1, + str: i.str + }), 1 < i.str.length && r.push({ + node: i.node, + editsRemaining: i.editsRemaining - 1, + str: i.str.slice(1) + }), 1 == i.str.length && (i.node.final = !0), 1 <= i.str.length) { + if ("*" in i.node.edges) var c = i.node.edges["*"]; + else { + c = new D.TokenSet; + i.node.edges["*"] = c + } + 1 == i.str.length && (c.final = !0), r.push({ + node: c, + editsRemaining: i.editsRemaining - 1, + str: i.str.slice(1) + }) + } + if (1 < i.str.length) { + var l, u = i.str.charAt(0), + f = i.str.charAt(1); + f in i.node.edges ? l = i.node.edges[f] : (l = new D.TokenSet, i.node.edges[f] = l), 1 == i.str.length && (l.final = !0), r.push({ + node: l, + editsRemaining: i.editsRemaining - 1, + str: u + i.str.slice(2) + }) + } + } + } + return n + }, D.TokenSet.fromString = function(e) { + for (var t = new D.TokenSet, n = t, r = 0, i = e.length; r < i; r++) { + var o = e[r], + a = r == i - 1; + if ("*" == o)(t.edges[o] = t).final = a; + else { + var s = new D.TokenSet; + s.final = a, t.edges[o] = s, t = s + } + } + return n + }, D.TokenSet.prototype.toArray = function() { + for (var e = [], t = [{ + prefix: "", + node: this + }]; t.length;) { + var n = t.pop(), + r = Object.keys(n.node.edges), + i = r.length; + n.node.final && (n.prefix.charAt(0), e.push(n.prefix)); + for (var o = 0; o < i; o++) { + var a = r[o]; + t.push({ + prefix: n.prefix.concat(a), + node: n.node.edges[a] + }) + } + } + return e + }, D.TokenSet.prototype.toString = function() { + if (this._str) return this._str; + for (var e = this.final ? "1" : "0", t = Object.keys(this.edges).sort(), n = t.length, r = 0; r < n; r++) { + var i = t[r]; + e = e + i + this.edges[i].id + } + return e + }, D.TokenSet.prototype.intersect = function(e) { + for (var t = new D.TokenSet, n = void 0, r = [{ + qNode: e, + output: t, + node: this + }]; r.length;) { + n = r.pop(); + for (var i = Object.keys(n.qNode.edges), o = i.length, a = Object.keys(n.node.edges), s = a.length, c = 0; c < o; c++) + for (var l = i[c], u = 0; u < s; u++) { + var f = a[u]; + if (f == l || "*" == l) { + var d = n.node.edges[f], + h = n.qNode.edges[l], + p = d.final && h.final, + m = void 0; + f in n.output.edges ? (m = n.output.edges[f]).final = m.final || p : ((m = new D.TokenSet).final = p, n.output.edges[f] = m), r.push({ + qNode: h, + output: m, + node: d + }) + } + } + } + return t + }, D.TokenSet.Builder = function() { + this.previousWord = "", this.root = new D.TokenSet, this.uncheckedNodes = [], this.minimizedNodes = {} + }, D.TokenSet.Builder.prototype.insert = function(e) { + var t, n = 0; + if (e < this.previousWord) throw new Error("Out of order word insertion"); + for (var r = 0; r < e.length && r < this.previousWord.length && e[r] == this.previousWord[r]; r++) n++; + this.minimize(n), t = 0 == this.uncheckedNodes.length ? this.root : this.uncheckedNodes[this.uncheckedNodes.length - 1].child; + for (r = n; r < e.length; r++) { + var i = new D.TokenSet, + o = e[r]; + t.edges[o] = i, this.uncheckedNodes.push({ + parent: t, + char: o, + child: i + }), t = i + } + t.final = !0, this.previousWord = e + }, D.TokenSet.Builder.prototype.finish = function() { + this.minimize(0) + }, D.TokenSet.Builder.prototype.minimize = function(e) { + for (var t = this.uncheckedNodes.length - 1; e <= t; t--) { + var n = this.uncheckedNodes[t], + r = n.child.toString(); + r in this.minimizedNodes ? n.parent.edges[n.char] = this.minimizedNodes[r] : (n.child._str = r, this.minimizedNodes[r] = n.child), this.uncheckedNodes.pop() + } + }, D.Index = function(e) { + this.invertedIndex = e.invertedIndex, this.fieldVectors = e.fieldVectors, this.tokenSet = e.tokenSet, this.fields = e.fields, this.pipeline = e.pipeline + }, D.Index.prototype.search = function(t) { + return this.query(function(e) { + new D.QueryParser(t, e).parse() + }) + }, D.Index.prototype.query = function(e) { + for (var t = new D.Query(this.fields), n = Object.create(null), r = Object.create(null), i = Object.create(null), o = Object.create(null), a = Object.create(null), s = 0; s < this.fields.length; s++) r[this.fields[s]] = new D.Vector; + e.call(t, t); + for (s = 0; s < t.clauses.length; s++) { + var c = t.clauses[s], + l = null, + u = D.Set.complete; + l = c.usePipeline ? this.pipeline.runString(c.term, { + fields: c.fields + }) : [c.term]; + for (var f = 0; f < l.length; f++) { + var d = l[f]; + c.term = d; + var h = D.TokenSet.fromClause(c), + p = this.tokenSet.intersect(h).toArray(); + if (0 === p.length && c.presence === D.Query.presence.REQUIRED) { + for (var m = 0; m < c.fields.length; m++) { + o[Q = c.fields[m]] = D.Set.empty + } + break + } + for (var y = 0; y < p.length; y++) { + var v = p[y], + g = this.invertedIndex[v], + w = g._index; + for (m = 0; m < c.fields.length; m++) { + var _ = g[Q = c.fields[m]], + E = Object.keys(_), + x = v + "/" + Q, + b = new D.Set(E); + if (c.presence == D.Query.presence.REQUIRED && (u = u.union(b), void 0 === o[Q] && (o[Q] = D.Set.complete)), c.presence != D.Query.presence.PROHIBITED) { + if (r[Q].upsert(w, c.boost, function(e, t) { + return e + t + }), !i[x]) { + for (var k = 0; k < E.length; k++) { + var S, T = E[k], + L = new D.FieldRef(T, Q), + R = _[T]; + void 0 === (S = n[L]) ? n[L] = new D.MatchData(v, Q, R) : S.add(v, Q, R) + } + i[x] = !0 + } + } else void 0 === a[Q] && (a[Q] = D.Set.empty), a[Q] = a[Q].union(b) + } + } + } + if (c.presence === D.Query.presence.REQUIRED) + for (m = 0; m < c.fields.length; m++) { + o[Q = c.fields[m]] = o[Q].intersect(u) + } + } + var O = D.Set.complete, + C = D.Set.empty; + for (s = 0; s < this.fields.length; s++) { + var Q; + o[Q = this.fields[s]] && (O = O.intersect(o[Q])), a[Q] && (C = C.union(a[Q])) + } + var P = Object.keys(n), + A = [], + I = Object.create(null); + if (t.isNegated()) { + P = Object.keys(this.fieldVectors); + for (s = 0; s < P.length; s++) { + L = P[s]; + var M = D.FieldRef.fromString(L); + n[L] = new D.MatchData + } + } + for (s = 0; s < P.length; s++) { + var N = (M = D.FieldRef.fromString(P[s])).docRef; + if (O.contains(N) && !C.contains(N)) { + var j, F = this.fieldVectors[M], + H = r[M.fieldName].similarity(F); + if (void 0 !== (j = I[N])) j.score += H, j.matchData.combine(n[M]); + else { + var q = { + ref: N, + score: H, + matchData: n[M] + }; + I[N] = q, A.push(q) + } + } + } + return A.sort(function(e, t) { + return t.score - e.score + }) + }, D.Index.prototype.toJSON = function() { + var e = Object.keys(this.invertedIndex).sort().map(function(e) { + return [e, this.invertedIndex[e]] + }, this), + t = Object.keys(this.fieldVectors).map(function(e) { + return [e, this.fieldVectors[e].toJSON()] + }, this); + return { + version: D.version, + fields: this.fields, + fieldVectors: t, + invertedIndex: e, + pipeline: this.pipeline.toJSON() + } + }, D.Index.load = function(e) { + var t = {}, + n = {}, + r = e.fieldVectors, + i = Object.create(null), + o = e.invertedIndex, + a = new D.TokenSet.Builder, + s = D.Pipeline.load(e.pipeline); + e.version != D.version && D.utils.warn("Version mismatch when loading serialised index. Current version of lunr '" + D.version + "' does not match serialized index '" + e.version + "'"); + for (var c = 0; c < r.length; c++) { + var l = (f = r[c])[0], + u = f[1]; + n[l] = new D.Vector(u) + } + for (c = 0; c < o.length; c++) { + var f, d = (f = o[c])[0], + h = f[1]; + a.insert(d), i[d] = h + } + return a.finish(), t.fields = e.fields, t.fieldVectors = n, t.invertedIndex = i, t.tokenSet = a.root, t.pipeline = s, new D.Index(t) + }, D.Builder = function() { + this._ref = "id", this._fields = Object.create(null), this._documents = Object.create(null), this.invertedIndex = Object.create(null), this.fieldTermFrequencies = {}, this.fieldLengths = {}, this.tokenizer = D.tokenizer, this.pipeline = new D.Pipeline, this.searchPipeline = new D.Pipeline, this.documentCount = 0, this._b = .75, this._k1 = 1.2, this.termIndex = 0, this.metadataWhitelist = [] + }, D.Builder.prototype.ref = function(e) { + this._ref = e + }, D.Builder.prototype.field = function(e, t) { + if (/\//.test(e)) throw new RangeError("Field '" + e + "' contains illegal character '/'"); + this._fields[e] = t || {} + }, D.Builder.prototype.b = function(e) { + this._b = e < 0 ? 0 : 1 < e ? 1 : e + }, D.Builder.prototype.k1 = function(e) { + this._k1 = e + }, D.Builder.prototype.add = function(e, t) { + var n = e[this._ref], + r = Object.keys(this._fields); + this._documents[n] = t || {}, this.documentCount += 1; + for (var i = 0; i < r.length; i++) { + var o = r[i], + a = this._fields[o].extractor, + s = a ? a(e) : e[o], + c = this.tokenizer(s, { + fields: [o] + }), + l = this.pipeline.run(c), + u = new D.FieldRef(n, o), + f = Object.create(null); + this.fieldTermFrequencies[u] = f, this.fieldLengths[u] = 0, this.fieldLengths[u] += l.length; + for (var d = 0; d < l.length; d++) { + var h = l[d]; + if (null == f[h] && (f[h] = 0), f[h] += 1, null == this.invertedIndex[h]) { + var p = Object.create(null); + p._index = this.termIndex, this.termIndex += 1; + for (var m = 0; m < r.length; m++) p[r[m]] = Object.create(null); + this.invertedIndex[h] = p + } + null == this.invertedIndex[h][o][n] && (this.invertedIndex[h][o][n] = Object.create(null)); + for (var y = 0; y < this.metadataWhitelist.length; y++) { + var v = this.metadataWhitelist[y], + g = h.metadata[v]; + null == this.invertedIndex[h][o][n][v] && (this.invertedIndex[h][o][n][v] = []), this.invertedIndex[h][o][n][v].push(g) + } + } + } + }, D.Builder.prototype.calculateAverageFieldLengths = function() { + for (var e = Object.keys(this.fieldLengths), t = e.length, n = {}, r = {}, i = 0; i < t; i++) { + var o = D.FieldRef.fromString(e[i]), + a = o.fieldName; + r[a] || (r[a] = 0), r[a] += 1, n[a] || (n[a] = 0), n[a] += this.fieldLengths[o] + } + var s = Object.keys(this._fields); + for (i = 0; i < s.length; i++) { + var c = s[i]; + n[c] = n[c] / r[c] + } + this.averageFieldLength = n + }, D.Builder.prototype.createFieldVectors = function() { + for (var e = {}, t = Object.keys(this.fieldTermFrequencies), n = t.length, r = Object.create(null), i = 0; i < n; i++) { + for (var o = D.FieldRef.fromString(t[i]), a = o.fieldName, s = this.fieldLengths[o], c = new D.Vector, l = this.fieldTermFrequencies[o], u = Object.keys(l), f = u.length, d = this._fields[a].boost || 1, h = this._documents[o.docRef].boost || 1, p = 0; p < f; p++) { + var m, y, v, g = u[p], + w = l[g], + _ = this.invertedIndex[g]._index; + void 0 === r[g] ? (m = D.idf(this.invertedIndex[g], this.documentCount), r[g] = m) : m = r[g], y = m * ((this._k1 + 1) * w) / (this._k1 * (1 - this._b + this._b * (s / this.averageFieldLength[a])) + w), y *= d, y *= h, v = Math.round(1e3 * y) / 1e3, c.insert(_, v) + } + e[o] = c + } + this.fieldVectors = e + }, D.Builder.prototype.createTokenSet = function() { + this.tokenSet = D.TokenSet.fromArray(Object.keys(this.invertedIndex).sort()) + }, D.Builder.prototype.build = function() { + return this.calculateAverageFieldLengths(), this.createFieldVectors(), this.createTokenSet(), new D.Index({ + invertedIndex: this.invertedIndex, + fieldVectors: this.fieldVectors, + tokenSet: this.tokenSet, + fields: Object.keys(this._fields), + pipeline: this.searchPipeline + }) + }, D.Builder.prototype.use = function(e) { + var t = Array.prototype.slice.call(arguments, 1); + t.unshift(this), e.apply(this, t) + }, D.MatchData = function(e, t, n) { + for (var r = Object.create(null), i = Object.keys(n || {}), o = 0; o < i.length; o++) { + var a = i[o]; + r[a] = n[a].slice() + } + this.metadata = Object.create(null), void 0 !== e && (this.metadata[e] = Object.create(null), this.metadata[e][t] = r) + }, D.MatchData.prototype.combine = function(e) { + for (var t = Object.keys(e.metadata), n = 0; n < t.length; n++) { + var r = t[n], + i = Object.keys(e.metadata[r]); + null == this.metadata[r] && (this.metadata[r] = Object.create(null)); + for (var o = 0; o < i.length; o++) { + var a = i[o], + s = Object.keys(e.metadata[r][a]); + null == this.metadata[r][a] && (this.metadata[r][a] = Object.create(null)); + for (var c = 0; c < s.length; c++) { + var l = s[c]; + null == this.metadata[r][a][l] ? this.metadata[r][a][l] = e.metadata[r][a][l] : this.metadata[r][a][l] = this.metadata[r][a][l].concat(e.metadata[r][a][l]) + } + } + } + }, D.MatchData.prototype.add = function(e, t, n) { + if (!(e in this.metadata)) return this.metadata[e] = Object.create(null), void(this.metadata[e][t] = n); + if (t in this.metadata[e]) + for (var r = Object.keys(n), i = 0; i < r.length; i++) { + var o = r[i]; + o in this.metadata[e][t] ? this.metadata[e][t][o] = this.metadata[e][t][o].concat(n[o]) : this.metadata[e][t][o] = n[o] + } else this.metadata[e][t] = n + }, D.Query = function(e) { + this.clauses = [], this.allFields = e + }, D.Query.wildcard = new String("*"), D.Query.wildcard.NONE = 0, D.Query.wildcard.LEADING = 1, D.Query.wildcard.TRAILING = 2, D.Query.presence = { + OPTIONAL: 1, + REQUIRED: 2, + PROHIBITED: 3 + }, D.Query.prototype.clause = function(e) { + return "fields" in e || (e.fields = this.allFields), "boost" in e || (e.boost = 1), "usePipeline" in e || (e.usePipeline = !0), "wildcard" in e || (e.wildcard = D.Query.wildcard.NONE), e.wildcard & D.Query.wildcard.LEADING && e.term.charAt(0) != D.Query.wildcard && (e.term = "*" + e.term), e.wildcard & D.Query.wildcard.TRAILING && e.term.slice(-1) != D.Query.wildcard && (e.term = e.term + "*"), "presence" in e || (e.presence = D.Query.presence.OPTIONAL), this.clauses.push(e), this + }, D.Query.prototype.isNegated = function() { + for (var e = 0; e < this.clauses.length; e++) + if (this.clauses[e].presence != D.Query.presence.PROHIBITED) return !1; + return !0 + }, D.Query.prototype.term = function(e, t) { + if (Array.isArray(e)) return e.forEach(function(e) { + this.term(e, D.utils.clone(t)) + }, this), this; + var n = t || {}; + return n.term = e.toString(), this.clause(n), this + }, D.QueryParseError = function(e, t, n) { + this.name = "QueryParseError", this.message = e, this.start = t, this.end = n + }, D.QueryParseError.prototype = new Error, D.QueryLexer = function(e) { + this.lexemes = [], this.str = e, this.length = e.length, this.pos = 0, this.start = 0, this.escapeCharPositions = [] + }, D.QueryLexer.prototype.run = function() { + for (var e = D.QueryLexer.lexText; e;) e = e(this) + }, D.QueryLexer.prototype.sliceString = function() { + for (var e = [], t = this.start, n = this.pos, r = 0; r < this.escapeCharPositions.length; r++) n = this.escapeCharPositions[r], e.push(this.str.slice(t, n)), t = n + 1; + return e.push(this.str.slice(t, this.pos)), this.escapeCharPositions.length = 0, e.join("") + }, D.QueryLexer.prototype.emit = function(e) { + this.lexemes.push({ + type: e, + str: this.sliceString(), + start: this.start, + end: this.pos + }), this.start = this.pos + }, D.QueryLexer.prototype.escapeCharacter = function() { + this.escapeCharPositions.push(this.pos - 1), this.pos += 1 + }, D.QueryLexer.prototype.next = function() { + if (this.pos >= this.length) return D.QueryLexer.EOS; + var e = this.str.charAt(this.pos); + return this.pos += 1, e + }, D.QueryLexer.prototype.width = function() { + return this.pos - this.start + }, D.QueryLexer.prototype.ignore = function() { + this.start == this.pos && (this.pos += 1), this.start = this.pos + }, D.QueryLexer.prototype.backup = function() { + this.pos -= 1 + }, D.QueryLexer.prototype.acceptDigitRun = function() { + for (var e, t; 47 < (t = (e = this.next()).charCodeAt(0)) && t < 58;); + e != D.QueryLexer.EOS && this.backup() + }, D.QueryLexer.prototype.more = function() { + return this.pos < this.length + }, D.QueryLexer.EOS = "EOS", D.QueryLexer.FIELD = "FIELD", D.QueryLexer.TERM = "TERM", D.QueryLexer.EDIT_DISTANCE = "EDIT_DISTANCE", D.QueryLexer.BOOST = "BOOST", D.QueryLexer.PRESENCE = "PRESENCE", D.QueryLexer.lexField = function(e) { + return e.backup(), e.emit(D.QueryLexer.FIELD), e.ignore(), D.QueryLexer.lexText + }, D.QueryLexer.lexTerm = function(e) { + if (1 < e.width() && (e.backup(), e.emit(D.QueryLexer.TERM)), e.ignore(), e.more()) return D.QueryLexer.lexText + }, D.QueryLexer.lexEditDistance = function(e) { + return e.ignore(), e.acceptDigitRun(), e.emit(D.QueryLexer.EDIT_DISTANCE), D.QueryLexer.lexText + }, D.QueryLexer.lexBoost = function(e) { + return e.ignore(), e.acceptDigitRun(), e.emit(D.QueryLexer.BOOST), D.QueryLexer.lexText + }, D.QueryLexer.lexEOS = function(e) { + 0 < e.width() && e.emit(D.QueryLexer.TERM) + }, D.QueryLexer.termSeparator = D.tokenizer.separator, D.QueryLexer.lexText = function(e) { + for (;;) { + var t = e.next(); + if (t == D.QueryLexer.EOS) return D.QueryLexer.lexEOS; + if (92 != t.charCodeAt(0)) { + if (":" == t) return D.QueryLexer.lexField; + if ("~" == t) return e.backup(), 0 < e.width() && e.emit(D.QueryLexer.TERM), D.QueryLexer.lexEditDistance; + if ("^" == t) return e.backup(), 0 < e.width() && e.emit(D.QueryLexer.TERM), D.QueryLexer.lexBoost; + if ("+" == t && 1 === e.width()) return e.emit(D.QueryLexer.PRESENCE), D.QueryLexer.lexText; + if ("-" == t && 1 === e.width()) return e.emit(D.QueryLexer.PRESENCE), D.QueryLexer.lexText; + if (t.match(D.QueryLexer.termSeparator)) return D.QueryLexer.lexTerm + } else e.escapeCharacter() + } + }, D.QueryParser = function(e, t) { + this.lexer = new D.QueryLexer(e), this.query = t, this.currentClause = {}, this.lexemeIdx = 0 + }, D.QueryParser.prototype.parse = function() { + this.lexer.run(), this.lexemes = this.lexer.lexemes; + for (var e = D.QueryParser.parseClause; e;) e = e(this); + return this.query + }, D.QueryParser.prototype.peekLexeme = function() { + return this.lexemes[this.lexemeIdx] + }, D.QueryParser.prototype.consumeLexeme = function() { + var e = this.peekLexeme(); + return this.lexemeIdx += 1, e + }, D.QueryParser.prototype.nextClause = function() { + var e = this.currentClause; + this.query.clause(e), this.currentClause = {} + }, D.QueryParser.parseClause = function(e) { + var t = e.peekLexeme(); + if (null != t) switch (t.type) { + case D.QueryLexer.PRESENCE: + return D.QueryParser.parsePresence; + case D.QueryLexer.FIELD: + return D.QueryParser.parseField; + case D.QueryLexer.TERM: + return D.QueryParser.parseTerm; + default: + var n = "expected either a field or a term, found " + t.type; + throw 1 <= t.str.length && (n += " with value '" + t.str + "'"), new D.QueryParseError(n, t.start, t.end) + } + }, D.QueryParser.parsePresence = function(e) { + var t = e.consumeLexeme(); + if (null != t) { + switch (t.str) { + case "-": + e.currentClause.presence = D.Query.presence.PROHIBITED; + break; + case "+": + e.currentClause.presence = D.Query.presence.REQUIRED; + break; + default: + var n = "unrecognised presence operator'" + t.str + "'"; + throw new D.QueryParseError(n, t.start, t.end) + } + var r = e.peekLexeme(); + if (null == r) { + n = "expecting term or field, found nothing"; + throw new D.QueryParseError(n, t.start, t.end) + } + switch (r.type) { + case D.QueryLexer.FIELD: + return D.QueryParser.parseField; + case D.QueryLexer.TERM: + return D.QueryParser.parseTerm; + default: + n = "expecting term or field, found '" + r.type + "'"; + throw new D.QueryParseError(n, r.start, r.end) + } + } + }, D.QueryParser.parseField = function(e) { + var t = e.consumeLexeme(); + if (null != t) { + if (-1 == e.query.allFields.indexOf(t.str)) { + var n = e.query.allFields.map(function(e) { + return "'" + e + "'" + }).join(", "), + r = "unrecognised field '" + t.str + "', possible fields: " + n; + throw new D.QueryParseError(r, t.start, t.end) + } + e.currentClause.fields = [t.str]; + var i = e.peekLexeme(); + if (null == i) { + r = "expecting term, found nothing"; + throw new D.QueryParseError(r, t.start, t.end) + } + switch (i.type) { + case D.QueryLexer.TERM: + return D.QueryParser.parseTerm; + default: + r = "expecting term, found '" + i.type + "'"; + throw new D.QueryParseError(r, i.start, i.end) + } + } + }, D.QueryParser.parseTerm = function(e) { + var t = e.consumeLexeme(); + if (null != t) { + e.currentClause.term = t.str.toLowerCase(), -1 != t.str.indexOf("*") && (e.currentClause.usePipeline = !1); + var n = e.peekLexeme(); + if (null != n) switch (n.type) { + case D.QueryLexer.TERM: + return e.nextClause(), D.QueryParser.parseTerm; + case D.QueryLexer.FIELD: + return e.nextClause(), D.QueryParser.parseField; + case D.QueryLexer.EDIT_DISTANCE: + return D.QueryParser.parseEditDistance; + case D.QueryLexer.BOOST: + return D.QueryParser.parseBoost; + case D.QueryLexer.PRESENCE: + return e.nextClause(), D.QueryParser.parsePresence; + default: + var r = "Unexpected lexeme type '" + n.type + "'"; + throw new D.QueryParseError(r, n.start, n.end) + } else e.nextClause() + } + }, D.QueryParser.parseEditDistance = function(e) { + var t = e.consumeLexeme(); + if (null != t) { + var n = parseInt(t.str, 10); + if (isNaN(n)) { + var r = "edit distance must be numeric"; + throw new D.QueryParseError(r, t.start, t.end) + } + e.currentClause.editDistance = n; + var i = e.peekLexeme(); + if (null != i) switch (i.type) { + case D.QueryLexer.TERM: + return e.nextClause(), D.QueryParser.parseTerm; + case D.QueryLexer.FIELD: + return e.nextClause(), D.QueryParser.parseField; + case D.QueryLexer.EDIT_DISTANCE: + return D.QueryParser.parseEditDistance; + case D.QueryLexer.BOOST: + return D.QueryParser.parseBoost; + case D.QueryLexer.PRESENCE: + return e.nextClause(), D.QueryParser.parsePresence; + default: + r = "Unexpected lexeme type '" + i.type + "'"; + throw new D.QueryParseError(r, i.start, i.end) + } else e.nextClause() + } + }, D.QueryParser.parseBoost = function(e) { + var t = e.consumeLexeme(); + if (null != t) { + var n = parseInt(t.str, 10); + if (isNaN(n)) { + var r = "boost must be numeric"; + throw new D.QueryParseError(r, t.start, t.end) + } + e.currentClause.boost = n; + var i = e.peekLexeme(); + if (null != i) switch (i.type) { + case D.QueryLexer.TERM: + return e.nextClause(), D.QueryParser.parseTerm; + case D.QueryLexer.FIELD: + return e.nextClause(), D.QueryParser.parseField; + case D.QueryLexer.EDIT_DISTANCE: + return D.QueryParser.parseEditDistance; + case D.QueryLexer.BOOST: + return D.QueryParser.parseBoost; + case D.QueryLexer.PRESENCE: + return e.nextClause(), D.QueryParser.parsePresence; + default: + r = "Unexpected lexeme type '" + i.type + "'"; + throw new D.QueryParseError(r, i.start, i.end) + } else e.nextClause() + } + }, void 0 === (c = "function" == typeof(s = function() { + return D + }) ? s.call(o, a, o, i) : s) || (i.exports = c) + }() +}])); \ No newline at end of file diff --git a/docs/api/py/_static/javascripts/lunr/lunr.da.js b/docs/api/py/_static/javascripts/lunr/lunr.da.js new file mode 100644 index 0000000000000..34910dfe5faba --- /dev/null +++ b/docs/api/py/_static/javascripts/lunr/lunr.da.js @@ -0,0 +1 @@ +!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var r,m,i;e.da=function(){this.pipeline.reset(),this.pipeline.add(e.da.trimmer,e.da.stopWordFilter,e.da.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.da.stemmer))},e.da.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",e.da.trimmer=e.trimmerSupport.generateTrimmer(e.da.wordCharacters),e.Pipeline.registerFunction(e.da.trimmer,"trimmer-da"),e.da.stemmer=(r=e.stemmerSupport.Among,m=e.stemmerSupport.SnowballProgram,i=new function(){var i,t,n,s=[new r("hed",-1,1),new r("ethed",0,1),new r("ered",-1,1),new r("e",-1,1),new r("erede",3,1),new r("ende",3,1),new r("erende",5,1),new r("ene",3,1),new r("erne",3,1),new r("ere",3,1),new r("en",-1,1),new r("heden",10,1),new r("eren",10,1),new r("er",-1,1),new r("heder",13,1),new r("erer",13,1),new r("s",-1,2),new r("heds",16,1),new r("es",16,1),new r("endes",18,1),new r("erendes",19,1),new r("enes",18,1),new r("ernes",18,1),new r("eres",18,1),new r("ens",16,1),new r("hedens",24,1),new r("erens",24,1),new r("ers",16,1),new r("ets",16,1),new r("erets",28,1),new r("et",-1,1),new r("eret",30,1)],o=[new r("gd",-1,-1),new r("dt",-1,-1),new r("gt",-1,-1),new r("kt",-1,-1)],a=[new r("ig",-1,1),new r("lig",0,1),new r("elig",1,1),new r("els",-1,1),new r("løst",-1,2)],d=[17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,0,48,0,128],u=[239,254,42,3,0,0,0,0,0,0,0,0,0,0,0,0,16],c=new m;function l(){var e,r=c.limit-c.cursor;c.cursor>=t&&(e=c.limit_backward,c.limit_backward=t,c.ket=c.cursor,c.find_among_b(o,4)?(c.bra=c.cursor,c.limit_backward=e,c.cursor=c.limit-r,c.cursor>c.limit_backward&&(c.cursor--,c.bra=c.cursor,c.slice_del())):c.limit_backward=e)}this.setCurrent=function(e){c.setCurrent(e)},this.getCurrent=function(){return c.getCurrent()},this.stem=function(){var e,r=c.cursor;return function(){var e,r=c.cursor+3;if(t=c.limit,0<=r&&r<=c.limit){for(i=r;;){if(e=c.cursor,c.in_grouping(d,97,248)){c.cursor=e;break}if((c.cursor=e)>=c.limit)return;c.cursor++}for(;!c.out_grouping(d,97,248);){if(c.cursor>=c.limit)return;c.cursor++}(t=c.cursor)=t&&(r=c.limit_backward,c.limit_backward=t,c.ket=c.cursor,e=c.find_among_b(s,32),c.limit_backward=r,e))switch(c.bra=c.cursor,e){case 1:c.slice_del();break;case 2:c.in_grouping_b(u,97,229)&&c.slice_del()}}(),c.cursor=c.limit,l(),c.cursor=c.limit,function(){var e,r,i,n=c.limit-c.cursor;if(c.ket=c.cursor,c.eq_s_b(2,"st")&&(c.bra=c.cursor,c.eq_s_b(2,"ig")&&c.slice_del()),c.cursor=c.limit-n,c.cursor>=t&&(r=c.limit_backward,c.limit_backward=t,c.ket=c.cursor,e=c.find_among_b(a,5),c.limit_backward=r,e))switch(c.bra=c.cursor,e){case 1:c.slice_del(),i=c.limit-c.cursor,l(),c.cursor=c.limit-i;break;case 2:c.slice_from("løs")}}(),c.cursor=c.limit,c.cursor>=t&&(e=c.limit_backward,c.limit_backward=t,c.ket=c.cursor,c.out_grouping_b(d,97,248)?(c.bra=c.cursor,n=c.slice_to(n),c.limit_backward=e,c.eq_v_b(n)&&c.slice_del()):c.limit_backward=e),!0}},function(e){return"function"==typeof e.update?e.update(function(e){return i.setCurrent(e),i.stem(),i.getCurrent()}):(i.setCurrent(e),i.stem(),i.getCurrent())}),e.Pipeline.registerFunction(e.da.stemmer,"stemmer-da"),e.da.stopWordFilter=e.generateStopWordFilter("ad af alle alt anden at blev blive bliver da de dem den denne der deres det dette dig din disse dog du efter eller en end er et for fra ham han hans har havde have hende hendes her hos hun hvad hvis hvor i ikke ind jeg jer jo kunne man mange med meget men mig min mine mit mod ned noget nogle nu når og også om op os over på selv sig sin sine sit skal skulle som sådan thi til ud under var vi vil ville vor være været".split(" ")),e.Pipeline.registerFunction(e.da.stopWordFilter,"stopWordFilter-da")}}); \ No newline at end of file diff --git a/docs/api/py/_static/javascripts/lunr/lunr.de.js b/docs/api/py/_static/javascripts/lunr/lunr.de.js new file mode 100644 index 0000000000000..1529892c823df --- /dev/null +++ b/docs/api/py/_static/javascripts/lunr/lunr.de.js @@ -0,0 +1 @@ +!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var _,p,r;e.de=function(){this.pipeline.reset(),this.pipeline.add(e.de.trimmer,e.de.stopWordFilter,e.de.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.de.stemmer))},e.de.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",e.de.trimmer=e.trimmerSupport.generateTrimmer(e.de.wordCharacters),e.Pipeline.registerFunction(e.de.trimmer,"trimmer-de"),e.de.stemmer=(_=e.stemmerSupport.Among,p=e.stemmerSupport.SnowballProgram,r=new function(){var r,n,i,s=[new _("",-1,6),new _("U",0,2),new _("Y",0,1),new _("ä",0,3),new _("ö",0,4),new _("ü",0,5)],o=[new _("e",-1,2),new _("em",-1,1),new _("en",-1,2),new _("ern",-1,1),new _("er",-1,1),new _("s",-1,3),new _("es",5,2)],c=[new _("en",-1,1),new _("er",-1,1),new _("st",-1,2),new _("est",2,1)],u=[new _("ig",-1,1),new _("lich",-1,1)],a=[new _("end",-1,1),new _("ig",-1,2),new _("ung",-1,1),new _("lich",-1,3),new _("isch",-1,2),new _("ik",-1,2),new _("heit",-1,3),new _("keit",-1,4)],t=[17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,0,8,0,32,8],d=[117,30,5],l=[117,30,4],m=new p;function h(e,r,n){return!(!m.eq_s(1,e)||(m.ket=m.cursor,!m.in_grouping(t,97,252)))&&(m.slice_from(r),m.cursor=n,!0)}function w(){for(;!m.in_grouping(t,97,252);){if(m.cursor>=m.limit)return!0;m.cursor++}for(;!m.out_grouping(t,97,252);){if(m.cursor>=m.limit)return!0;m.cursor++}return!1}function f(){return i<=m.cursor}function b(){return n<=m.cursor}this.setCurrent=function(e){m.setCurrent(e)},this.getCurrent=function(){return m.getCurrent()},this.stem=function(){var e=m.cursor;return function(){for(var e,r,n,i,s=m.cursor;;)if(e=m.cursor,m.bra=e,m.eq_s(1,"ß"))m.ket=m.cursor,m.slice_from("ss");else{if(e>=m.limit)break;m.cursor=e+1}for(m.cursor=s;;)for(r=m.cursor;;){if(n=m.cursor,m.in_grouping(t,97,252)){if(i=m.cursor,m.bra=i,h("u","U",n))break;if(m.cursor=i,h("y","Y",n))break}if(n>=m.limit)return m.cursor=r;m.cursor=n+1}}(),m.cursor=e,function(){i=m.limit,n=i;var e=m.cursor+3;0<=e&&e<=m.limit&&(r=e,w()||((i=m.cursor)=m.limit)return;m.cursor++}}}(),!0}},function(e){return"function"==typeof e.update?e.update(function(e){return r.setCurrent(e),r.stem(),r.getCurrent()}):(r.setCurrent(e),r.stem(),r.getCurrent())}),e.Pipeline.registerFunction(e.de.stemmer,"stemmer-de"),e.de.stopWordFilter=e.generateStopWordFilter("aber alle allem allen aller alles als also am an ander andere anderem anderen anderer anderes anderm andern anderr anders auch auf aus bei bin bis bist da damit dann das dasselbe dazu daß dein deine deinem deinen deiner deines dem demselben den denn denselben der derer derselbe derselben des desselben dessen dich die dies diese dieselbe dieselben diesem diesen dieser dieses dir doch dort du durch ein eine einem einen einer eines einig einige einigem einigen einiger einiges einmal er es etwas euch euer eure eurem euren eurer eures für gegen gewesen hab habe haben hat hatte hatten hier hin hinter ich ihm ihn ihnen ihr ihre ihrem ihren ihrer ihres im in indem ins ist jede jedem jeden jeder jedes jene jenem jenen jener jenes jetzt kann kein keine keinem keinen keiner keines können könnte machen man manche manchem manchen mancher manches mein meine meinem meinen meiner meines mich mir mit muss musste nach nicht nichts noch nun nur ob oder ohne sehr sein seine seinem seinen seiner seines selbst sich sie sind so solche solchem solchen solcher solches soll sollte sondern sonst um und uns unse unsem unsen unser unses unter viel vom von vor war waren warst was weg weil weiter welche welchem welchen welcher welches wenn werde werden wie wieder will wir wird wirst wo wollen wollte während würde würden zu zum zur zwar zwischen über".split(" ")),e.Pipeline.registerFunction(e.de.stopWordFilter,"stopWordFilter-de")}}); \ No newline at end of file diff --git a/docs/api/py/_static/javascripts/lunr/lunr.du.js b/docs/api/py/_static/javascripts/lunr/lunr.du.js new file mode 100644 index 0000000000000..52632004a2414 --- /dev/null +++ b/docs/api/py/_static/javascripts/lunr/lunr.du.js @@ -0,0 +1 @@ +!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var v,q,r;console.warn('[Lunr Languages] Please use the "nl" instead of the "du". The "nl" code is the standard code for Dutch language, and "du" will be removed in the next major versions.'),e.du=function(){this.pipeline.reset(),this.pipeline.add(e.du.trimmer,e.du.stopWordFilter,e.du.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.du.stemmer))},e.du.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",e.du.trimmer=e.trimmerSupport.generateTrimmer(e.du.wordCharacters),e.Pipeline.registerFunction(e.du.trimmer,"trimmer-du"),e.du.stemmer=(v=e.stemmerSupport.Among,q=e.stemmerSupport.SnowballProgram,r=new function(){var r,i,u,o=[new v("",-1,6),new v("á",0,1),new v("ä",0,1),new v("é",0,2),new v("ë",0,2),new v("í",0,3),new v("ï",0,3),new v("ó",0,4),new v("ö",0,4),new v("ú",0,5),new v("ü",0,5)],n=[new v("",-1,3),new v("I",0,2),new v("Y",0,1)],t=[new v("dd",-1,-1),new v("kk",-1,-1),new v("tt",-1,-1)],c=[new v("ene",-1,2),new v("se",-1,3),new v("en",-1,2),new v("heden",2,1),new v("s",-1,3)],a=[new v("end",-1,1),new v("ig",-1,2),new v("ing",-1,1),new v("lijk",-1,3),new v("baar",-1,4),new v("bar",-1,5)],l=[new v("aa",-1,-1),new v("ee",-1,-1),new v("oo",-1,-1),new v("uu",-1,-1)],m=[17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,0,128],d=[1,0,0,17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,0,128],f=[17,67,16,1,0,0,0,0,0,0,0,0,0,0,0,0,128],_=new q;function s(e){return(_.cursor=e)>=_.limit||(_.cursor++,!1)}function w(){for(;!_.in_grouping(m,97,232);){if(_.cursor>=_.limit)return!0;_.cursor++}for(;!_.out_grouping(m,97,232);){if(_.cursor>=_.limit)return!0;_.cursor++}return!1}function b(){return i<=_.cursor}function p(){return r<=_.cursor}function g(){var e=_.limit-_.cursor;_.find_among_b(t,3)&&(_.cursor=_.limit-e,_.ket=_.cursor,_.cursor>_.limit_backward&&(_.cursor--,_.bra=_.cursor,_.slice_del()))}function h(){var e;u=!1,_.ket=_.cursor,_.eq_s_b(1,"e")&&(_.bra=_.cursor,b()&&(e=_.limit-_.cursor,_.out_grouping_b(m,97,232)&&(_.cursor=_.limit-e,_.slice_del(),u=!0,g())))}function k(){var e;b()&&(e=_.limit-_.cursor,_.out_grouping_b(m,97,232)&&(_.cursor=_.limit-e,_.eq_s_b(3,"gem")||(_.cursor=_.limit-e,_.slice_del(),g())))}this.setCurrent=function(e){_.setCurrent(e)},this.getCurrent=function(){return _.getCurrent()},this.stem=function(){var e=_.cursor;return function(){for(var e,r,i,n=_.cursor;;){if(_.bra=_.cursor,e=_.find_among(o,11))switch(_.ket=_.cursor,e){case 1:_.slice_from("a");continue;case 2:_.slice_from("e");continue;case 3:_.slice_from("i");continue;case 4:_.slice_from("o");continue;case 5:_.slice_from("u");continue;case 6:if(_.cursor>=_.limit)break;_.cursor++;continue}break}for(_.cursor=n,_.bra=n,_.eq_s(1,"y")?(_.ket=_.cursor,_.slice_from("Y")):_.cursor=n;;)if(r=_.cursor,_.in_grouping(m,97,232)){if(i=_.cursor,_.bra=i,_.eq_s(1,"i"))_.ket=_.cursor,_.in_grouping(m,97,232)&&(_.slice_from("I"),_.cursor=r);else if(_.cursor=i,_.eq_s(1,"y"))_.ket=_.cursor,_.slice_from("Y"),_.cursor=r;else if(s(r))break}else if(s(r))break}(),_.cursor=e,i=_.limit,r=i,w()||((i=_.cursor)<3&&(i=3),w()||(r=_.cursor)),_.limit_backward=e,_.cursor=_.limit,function(){var e,r,i,n,o,t,s=_.limit-_.cursor;if(_.ket=_.cursor,e=_.find_among_b(c,5))switch(_.bra=_.cursor,e){case 1:b()&&_.slice_from("heid");break;case 2:k();break;case 3:b()&&_.out_grouping_b(f,97,232)&&_.slice_del()}if(_.cursor=_.limit-s,h(),_.cursor=_.limit-s,_.ket=_.cursor,_.eq_s_b(4,"heid")&&(_.bra=_.cursor,p()&&(r=_.limit-_.cursor,_.eq_s_b(1,"c")||(_.cursor=_.limit-r,_.slice_del(),_.ket=_.cursor,_.eq_s_b(2,"en")&&(_.bra=_.cursor,k())))),_.cursor=_.limit-s,_.ket=_.cursor,e=_.find_among_b(a,6))switch(_.bra=_.cursor,e){case 1:if(p()){if(_.slice_del(),i=_.limit-_.cursor,_.ket=_.cursor,_.eq_s_b(2,"ig")&&(_.bra=_.cursor,p()&&(n=_.limit-_.cursor,!_.eq_s_b(1,"e")))){_.cursor=_.limit-n,_.slice_del();break}_.cursor=_.limit-i,g()}break;case 2:p()&&(o=_.limit-_.cursor,_.eq_s_b(1,"e")||(_.cursor=_.limit-o,_.slice_del()));break;case 3:p()&&(_.slice_del(),h());break;case 4:p()&&_.slice_del();break;case 5:p()&&u&&_.slice_del()}_.cursor=_.limit-s,_.out_grouping_b(d,73,232)&&(t=_.limit-_.cursor,_.find_among_b(l,4)&&_.out_grouping_b(m,97,232)&&(_.cursor=_.limit-t,_.ket=_.cursor,_.cursor>_.limit_backward&&(_.cursor--,_.bra=_.cursor,_.slice_del())))}(),_.cursor=_.limit_backward,function(){for(var e;;)if(_.bra=_.cursor,e=_.find_among(n,3))switch(_.ket=_.cursor,e){case 1:_.slice_from("y");break;case 2:_.slice_from("i");break;case 3:if(_.cursor>=_.limit)return;_.cursor++}}(),!0}},function(e){return"function"==typeof e.update?e.update(function(e){return r.setCurrent(e),r.stem(),r.getCurrent()}):(r.setCurrent(e),r.stem(),r.getCurrent())}),e.Pipeline.registerFunction(e.du.stemmer,"stemmer-du"),e.du.stopWordFilter=e.generateStopWordFilter(" aan al alles als altijd andere ben bij daar dan dat de der deze die dit doch doen door dus een eens en er ge geen geweest haar had heb hebben heeft hem het hier hij hoe hun iemand iets ik in is ja je kan kon kunnen maar me meer men met mij mijn moet na naar niet niets nog nu of om omdat onder ons ook op over reeds te tegen toch toen tot u uit uw van veel voor want waren was wat werd wezen wie wil worden wordt zal ze zelf zich zij zijn zo zonder zou".split(" ")),e.Pipeline.registerFunction(e.du.stopWordFilter,"stopWordFilter-du")}}); \ No newline at end of file diff --git a/docs/api/py/_static/javascripts/lunr/lunr.es.js b/docs/api/py/_static/javascripts/lunr/lunr.es.js new file mode 100644 index 0000000000000..9de6c09cb4238 --- /dev/null +++ b/docs/api/py/_static/javascripts/lunr/lunr.es.js @@ -0,0 +1 @@ +!function(e,s){"function"==typeof define&&define.amd?define(s):"object"==typeof exports?module.exports=s():s()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var C,P,s;e.es=function(){this.pipeline.reset(),this.pipeline.add(e.es.trimmer,e.es.stopWordFilter,e.es.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.es.stemmer))},e.es.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",e.es.trimmer=e.trimmerSupport.generateTrimmer(e.es.wordCharacters),e.Pipeline.registerFunction(e.es.trimmer,"trimmer-es"),e.es.stemmer=(C=e.stemmerSupport.Among,P=e.stemmerSupport.SnowballProgram,s=new function(){var r,n,i,a=[new C("",-1,6),new C("á",0,1),new C("é",0,2),new C("í",0,3),new C("ó",0,4),new C("ú",0,5)],t=[new C("la",-1,-1),new C("sela",0,-1),new C("le",-1,-1),new C("me",-1,-1),new C("se",-1,-1),new C("lo",-1,-1),new C("selo",5,-1),new C("las",-1,-1),new C("selas",7,-1),new C("les",-1,-1),new C("los",-1,-1),new C("selos",10,-1),new C("nos",-1,-1)],o=[new C("ando",-1,6),new C("iendo",-1,6),new C("yendo",-1,7),new C("ándo",-1,2),new C("iéndo",-1,1),new C("ar",-1,6),new C("er",-1,6),new C("ir",-1,6),new C("ár",-1,3),new C("ér",-1,4),new C("ír",-1,5)],s=[new C("ic",-1,-1),new C("ad",-1,-1),new C("os",-1,-1),new C("iv",-1,1)],u=[new C("able",-1,1),new C("ible",-1,1),new C("ante",-1,1)],w=[new C("ic",-1,1),new C("abil",-1,1),new C("iv",-1,1)],c=[new C("ica",-1,1),new C("ancia",-1,2),new C("encia",-1,5),new C("adora",-1,2),new C("osa",-1,1),new C("ista",-1,1),new C("iva",-1,9),new C("anza",-1,1),new C("logía",-1,3),new C("idad",-1,8),new C("able",-1,1),new C("ible",-1,1),new C("ante",-1,2),new C("mente",-1,7),new C("amente",13,6),new C("ación",-1,2),new C("ución",-1,4),new C("ico",-1,1),new C("ismo",-1,1),new C("oso",-1,1),new C("amiento",-1,1),new C("imiento",-1,1),new C("ivo",-1,9),new C("ador",-1,2),new C("icas",-1,1),new C("ancias",-1,2),new C("encias",-1,5),new C("adoras",-1,2),new C("osas",-1,1),new C("istas",-1,1),new C("ivas",-1,9),new C("anzas",-1,1),new C("logías",-1,3),new C("idades",-1,8),new C("ables",-1,1),new C("ibles",-1,1),new C("aciones",-1,2),new C("uciones",-1,4),new C("adores",-1,2),new C("antes",-1,2),new C("icos",-1,1),new C("ismos",-1,1),new C("osos",-1,1),new C("amientos",-1,1),new C("imientos",-1,1),new C("ivos",-1,9)],m=[new C("ya",-1,1),new C("ye",-1,1),new C("yan",-1,1),new C("yen",-1,1),new C("yeron",-1,1),new C("yendo",-1,1),new C("yo",-1,1),new C("yas",-1,1),new C("yes",-1,1),new C("yais",-1,1),new C("yamos",-1,1),new C("yó",-1,1)],l=[new C("aba",-1,2),new C("ada",-1,2),new C("ida",-1,2),new C("ara",-1,2),new C("iera",-1,2),new C("ía",-1,2),new C("aría",5,2),new C("ería",5,2),new C("iría",5,2),new C("ad",-1,2),new C("ed",-1,2),new C("id",-1,2),new C("ase",-1,2),new C("iese",-1,2),new C("aste",-1,2),new C("iste",-1,2),new C("an",-1,2),new C("aban",16,2),new C("aran",16,2),new C("ieran",16,2),new C("ían",16,2),new C("arían",20,2),new C("erían",20,2),new C("irían",20,2),new C("en",-1,1),new C("asen",24,2),new C("iesen",24,2),new C("aron",-1,2),new C("ieron",-1,2),new C("arán",-1,2),new C("erán",-1,2),new C("irán",-1,2),new C("ado",-1,2),new C("ido",-1,2),new C("ando",-1,2),new C("iendo",-1,2),new C("ar",-1,2),new C("er",-1,2),new C("ir",-1,2),new C("as",-1,2),new C("abas",39,2),new C("adas",39,2),new C("idas",39,2),new C("aras",39,2),new C("ieras",39,2),new C("ías",39,2),new C("arías",45,2),new C("erías",45,2),new C("irías",45,2),new C("es",-1,1),new C("ases",49,2),new C("ieses",49,2),new C("abais",-1,2),new C("arais",-1,2),new C("ierais",-1,2),new C("íais",-1,2),new C("aríais",55,2),new C("eríais",55,2),new C("iríais",55,2),new C("aseis",-1,2),new C("ieseis",-1,2),new C("asteis",-1,2),new C("isteis",-1,2),new C("áis",-1,2),new C("éis",-1,1),new C("aréis",64,2),new C("eréis",64,2),new C("iréis",64,2),new C("ados",-1,2),new C("idos",-1,2),new C("amos",-1,2),new C("ábamos",70,2),new C("áramos",70,2),new C("iéramos",70,2),new C("íamos",70,2),new C("aríamos",74,2),new C("eríamos",74,2),new C("iríamos",74,2),new C("emos",-1,1),new C("aremos",78,2),new C("eremos",78,2),new C("iremos",78,2),new C("ásemos",78,2),new C("iésemos",78,2),new C("imos",-1,2),new C("arás",-1,2),new C("erás",-1,2),new C("irás",-1,2),new C("ís",-1,2),new C("ará",-1,2),new C("erá",-1,2),new C("irá",-1,2),new C("aré",-1,2),new C("eré",-1,2),new C("iré",-1,2),new C("ió",-1,2)],d=[new C("a",-1,1),new C("e",-1,2),new C("o",-1,1),new C("os",-1,1),new C("á",-1,1),new C("é",-1,2),new C("í",-1,1),new C("ó",-1,1)],b=[17,65,16,0,0,0,0,0,0,0,0,0,0,0,0,0,1,17,4,10],f=new P;function _(){if(f.out_grouping(b,97,252)){for(;!f.in_grouping(b,97,252);){if(f.cursor>=f.limit)return!0;f.cursor++}return!1}return!0}function h(){var e,s=f.cursor;if(function(){if(f.in_grouping(b,97,252)){var e=f.cursor;if(_()){if(f.cursor=e,!f.in_grouping(b,97,252))return!0;for(;!f.out_grouping(b,97,252);){if(f.cursor>=f.limit)return!0;f.cursor++}}return!1}return!0}()){if(f.cursor=s,!f.out_grouping(b,97,252))return;if(e=f.cursor,_()){if(f.cursor=e,!f.in_grouping(b,97,252)||f.cursor>=f.limit)return;f.cursor++}}i=f.cursor}function v(){for(;!f.in_grouping(b,97,252);){if(f.cursor>=f.limit)return!1;f.cursor++}for(;!f.out_grouping(b,97,252);){if(f.cursor>=f.limit)return!1;f.cursor++}return!0}function p(){return i<=f.cursor}function g(){return r<=f.cursor}function k(e,s){if(!g())return!0;f.slice_del(),f.ket=f.cursor;var r=f.find_among_b(e,s);return r&&(f.bra=f.cursor,1==r&&g()&&f.slice_del()),!1}function y(e){return!g()||(f.slice_del(),f.ket=f.cursor,f.eq_s_b(2,e)&&(f.bra=f.cursor,g()&&f.slice_del()),!1)}function q(){var e;if(f.ket=f.cursor,e=f.find_among_b(c,46)){switch(f.bra=f.cursor,e){case 1:if(!g())return!1;f.slice_del();break;case 2:if(y("ic"))return!1;break;case 3:if(!g())return!1;f.slice_from("log");break;case 4:if(!g())return!1;f.slice_from("u");break;case 5:if(!g())return!1;f.slice_from("ente");break;case 6:if(!(n<=f.cursor))return!1;f.slice_del(),f.ket=f.cursor,(e=f.find_among_b(s,4))&&(f.bra=f.cursor,g()&&(f.slice_del(),1==e&&(f.ket=f.cursor,f.eq_s_b(2,"at")&&(f.bra=f.cursor,g()&&f.slice_del()))));break;case 7:if(k(u,3))return!1;break;case 8:if(k(w,3))return!1;break;case 9:if(y("at"))return!1}return!0}return!1}this.setCurrent=function(e){f.setCurrent(e)},this.getCurrent=function(){return f.getCurrent()},this.stem=function(){var e,s=f.cursor;return e=f.cursor,i=f.limit,r=n=i,h(),f.cursor=e,v()&&(n=f.cursor,v()&&(r=f.cursor)),f.limit_backward=s,f.cursor=f.limit,function(){var e;if(f.ket=f.cursor,f.find_among_b(t,13)&&(f.bra=f.cursor,(e=f.find_among_b(o,11))&&p()))switch(e){case 1:f.bra=f.cursor,f.slice_from("iendo");break;case 2:f.bra=f.cursor,f.slice_from("ando");break;case 3:f.bra=f.cursor,f.slice_from("ar");break;case 4:f.bra=f.cursor,f.slice_from("er");break;case 5:f.bra=f.cursor,f.slice_from("ir");break;case 6:f.slice_del();break;case 7:f.eq_s_b(1,"u")&&f.slice_del()}}(),f.cursor=f.limit,q()||(f.cursor=f.limit,function(){var e,s;if(f.cursor>=i&&(s=f.limit_backward,f.limit_backward=i,f.ket=f.cursor,e=f.find_among_b(m,12),f.limit_backward=s,e)){if(f.bra=f.cursor,1==e){if(!f.eq_s_b(1,"u"))return!1;f.slice_del()}return!0}return!1}()||(f.cursor=f.limit,function(){var e,s,r,n;if(f.cursor>=i&&(s=f.limit_backward,f.limit_backward=i,f.ket=f.cursor,e=f.find_among_b(l,96),f.limit_backward=s,e))switch(f.bra=f.cursor,e){case 1:r=f.limit-f.cursor,f.eq_s_b(1,"u")?(n=f.limit-f.cursor,f.eq_s_b(1,"g")?f.cursor=f.limit-n:f.cursor=f.limit-r):f.cursor=f.limit-r,f.bra=f.cursor;case 2:f.slice_del()}}())),f.cursor=f.limit,function(){var e,s;if(f.ket=f.cursor,e=f.find_among_b(d,8))switch(f.bra=f.cursor,e){case 1:p()&&f.slice_del();break;case 2:p()&&(f.slice_del(),f.ket=f.cursor,f.eq_s_b(1,"u")&&(f.bra=f.cursor,s=f.limit-f.cursor,f.eq_s_b(1,"g")&&(f.cursor=f.limit-s,p()&&f.slice_del())))}}(),f.cursor=f.limit_backward,function(){for(var e;;){if(f.bra=f.cursor,e=f.find_among(a,6))switch(f.ket=f.cursor,e){case 1:f.slice_from("a");continue;case 2:f.slice_from("e");continue;case 3:f.slice_from("i");continue;case 4:f.slice_from("o");continue;case 5:f.slice_from("u");continue;case 6:if(f.cursor>=f.limit)break;f.cursor++;continue}break}}(),!0}},function(e){return"function"==typeof e.update?e.update(function(e){return s.setCurrent(e),s.stem(),s.getCurrent()}):(s.setCurrent(e),s.stem(),s.getCurrent())}),e.Pipeline.registerFunction(e.es.stemmer,"stemmer-es"),e.es.stopWordFilter=e.generateStopWordFilter("a al algo algunas algunos ante antes como con contra cual cuando de del desde donde durante e el ella ellas ellos en entre era erais eran eras eres es esa esas ese eso esos esta estaba estabais estaban estabas estad estada estadas estado estados estamos estando estar estaremos estará estarán estarás estaré estaréis estaría estaríais estaríamos estarían estarías estas este estemos esto estos estoy estuve estuviera estuvierais estuvieran estuvieras estuvieron estuviese estuvieseis estuviesen estuvieses estuvimos estuviste estuvisteis estuviéramos estuviésemos estuvo está estábamos estáis están estás esté estéis estén estés fue fuera fuerais fueran fueras fueron fuese fueseis fuesen fueses fui fuimos fuiste fuisteis fuéramos fuésemos ha habida habidas habido habidos habiendo habremos habrá habrán habrás habré habréis habría habríais habríamos habrían habrías habéis había habíais habíamos habían habías han has hasta hay haya hayamos hayan hayas hayáis he hemos hube hubiera hubierais hubieran hubieras hubieron hubiese hubieseis hubiesen hubieses hubimos hubiste hubisteis hubiéramos hubiésemos hubo la las le les lo los me mi mis mucho muchos muy más mí mía mías mío míos nada ni no nos nosotras nosotros nuestra nuestras nuestro nuestros o os otra otras otro otros para pero poco por porque que quien quienes qué se sea seamos sean seas seremos será serán serás seré seréis sería seríais seríamos serían serías seáis sido siendo sin sobre sois somos son soy su sus suya suyas suyo suyos sí también tanto te tendremos tendrá tendrán tendrás tendré tendréis tendría tendríais tendríamos tendrían tendrías tened tenemos tenga tengamos tengan tengas tengo tengáis tenida tenidas tenido tenidos teniendo tenéis tenía teníais teníamos tenían tenías ti tiene tienen tienes todo todos tu tus tuve tuviera tuvierais tuvieran tuvieras tuvieron tuviese tuvieseis tuviesen tuvieses tuvimos tuviste tuvisteis tuviéramos tuviésemos tuvo tuya tuyas tuyo tuyos tú un una uno unos vosotras vosotros vuestra vuestras vuestro vuestros y ya yo él éramos".split(" ")),e.Pipeline.registerFunction(e.es.stopWordFilter,"stopWordFilter-es")}}); \ No newline at end of file diff --git a/docs/api/py/_static/javascripts/lunr/lunr.fi.js b/docs/api/py/_static/javascripts/lunr/lunr.fi.js new file mode 100644 index 0000000000000..2f9bf5aebdb39 --- /dev/null +++ b/docs/api/py/_static/javascripts/lunr/lunr.fi.js @@ -0,0 +1 @@ +!function(i,e){"function"==typeof define&&define.amd?define(e):"object"==typeof exports?module.exports=e():e()(i.lunr)}(this,function(){return function(i){if(void 0===i)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===i.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var v,C,e;i.fi=function(){this.pipeline.reset(),this.pipeline.add(i.fi.trimmer,i.fi.stopWordFilter,i.fi.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(i.fi.stemmer))},i.fi.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",i.fi.trimmer=i.trimmerSupport.generateTrimmer(i.fi.wordCharacters),i.Pipeline.registerFunction(i.fi.trimmer,"trimmer-fi"),i.fi.stemmer=(v=i.stemmerSupport.Among,C=i.stemmerSupport.SnowballProgram,e=new function(){var n,t,l,o,r=[new v("pa",-1,1),new v("sti",-1,2),new v("kaan",-1,1),new v("han",-1,1),new v("kin",-1,1),new v("hän",-1,1),new v("kään",-1,1),new v("ko",-1,1),new v("pä",-1,1),new v("kö",-1,1)],s=[new v("lla",-1,-1),new v("na",-1,-1),new v("ssa",-1,-1),new v("ta",-1,-1),new v("lta",3,-1),new v("sta",3,-1)],a=[new v("llä",-1,-1),new v("nä",-1,-1),new v("ssä",-1,-1),new v("tä",-1,-1),new v("ltä",3,-1),new v("stä",3,-1)],u=[new v("lle",-1,-1),new v("ine",-1,-1)],c=[new v("nsa",-1,3),new v("mme",-1,3),new v("nne",-1,3),new v("ni",-1,2),new v("si",-1,1),new v("an",-1,4),new v("en",-1,6),new v("än",-1,5),new v("nsä",-1,3)],i=[new v("aa",-1,-1),new v("ee",-1,-1),new v("ii",-1,-1),new v("oo",-1,-1),new v("uu",-1,-1),new v("ää",-1,-1),new v("öö",-1,-1)],m=[new v("a",-1,8),new v("lla",0,-1),new v("na",0,-1),new v("ssa",0,-1),new v("ta",0,-1),new v("lta",4,-1),new v("sta",4,-1),new v("tta",4,9),new v("lle",-1,-1),new v("ine",-1,-1),new v("ksi",-1,-1),new v("n",-1,7),new v("han",11,1),new v("den",11,-1,q),new v("seen",11,-1,j),new v("hen",11,2),new v("tten",11,-1,q),new v("hin",11,3),new v("siin",11,-1,q),new v("hon",11,4),new v("hän",11,5),new v("hön",11,6),new v("ä",-1,8),new v("llä",22,-1),new v("nä",22,-1),new v("ssä",22,-1),new v("tä",22,-1),new v("ltä",26,-1),new v("stä",26,-1),new v("ttä",26,9)],w=[new v("eja",-1,-1),new v("mma",-1,1),new v("imma",1,-1),new v("mpa",-1,1),new v("impa",3,-1),new v("mmi",-1,1),new v("immi",5,-1),new v("mpi",-1,1),new v("impi",7,-1),new v("ejä",-1,-1),new v("mmä",-1,1),new v("immä",10,-1),new v("mpä",-1,1),new v("impä",12,-1)],_=[new v("i",-1,-1),new v("j",-1,-1)],k=[new v("mma",-1,1),new v("imma",0,-1)],b=[17,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8],d=[17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,0,8,0,32],e=[17,65,16,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,32],f=[17,97,24,1,0,0,0,0,0,0,0,0,0,0,0,0,8,0,32],h=new C;function p(){for(var i;i=h.cursor,!h.in_grouping(d,97,246);){if((h.cursor=i)>=h.limit)return!0;h.cursor++}for(h.cursor=i;!h.out_grouping(d,97,246);){if(h.cursor>=h.limit)return!0;h.cursor++}return!1}function g(){var i,e;if(h.cursor>=o)if(e=h.limit_backward,h.limit_backward=o,h.ket=h.cursor,i=h.find_among_b(r,10)){switch(h.bra=h.cursor,h.limit_backward=e,i){case 1:if(!h.in_grouping_b(f,97,246))return;break;case 2:if(!(l<=h.cursor))return}h.slice_del()}else h.limit_backward=e}function j(){return h.find_among_b(i,7)}function q(){return h.eq_s_b(1,"i")&&h.in_grouping_b(e,97,246)}this.setCurrent=function(i){h.setCurrent(i)},this.getCurrent=function(){return h.getCurrent()},this.stem=function(){var i,e=h.cursor;return o=h.limit,l=o,p()||(o=h.cursor,p()||(l=h.cursor)),n=!1,h.limit_backward=e,h.cursor=h.limit,g(),h.cursor=h.limit,function(){var i,e,r;if(h.cursor>=o)if(e=h.limit_backward,h.limit_backward=o,h.ket=h.cursor,i=h.find_among_b(c,9))switch(h.bra=h.cursor,h.limit_backward=e,i){case 1:r=h.limit-h.cursor,h.eq_s_b(1,"k")||(h.cursor=h.limit-r,h.slice_del());break;case 2:h.slice_del(),h.ket=h.cursor,h.eq_s_b(3,"kse")&&(h.bra=h.cursor,h.slice_from("ksi"));break;case 3:h.slice_del();break;case 4:h.find_among_b(s,6)&&h.slice_del();break;case 5:h.find_among_b(a,6)&&h.slice_del();break;case 6:h.find_among_b(u,2)&&h.slice_del()}else h.limit_backward=e}(),h.cursor=h.limit,function(){var i,e,r;if(h.cursor>=o)if(e=h.limit_backward,h.limit_backward=o,h.ket=h.cursor,i=h.find_among_b(m,30)){switch(h.bra=h.cursor,h.limit_backward=e,i){case 1:if(!h.eq_s_b(1,"a"))return;break;case 2:case 9:if(!h.eq_s_b(1,"e"))return;break;case 3:if(!h.eq_s_b(1,"i"))return;break;case 4:if(!h.eq_s_b(1,"o"))return;break;case 5:if(!h.eq_s_b(1,"ä"))return;break;case 6:if(!h.eq_s_b(1,"ö"))return;break;case 7:if(r=h.limit-h.cursor,!j()&&(h.cursor=h.limit-r,!h.eq_s_b(2,"ie"))){h.cursor=h.limit-r;break}if(h.cursor=h.limit-r,h.cursor<=h.limit_backward){h.cursor=h.limit-r;break}h.cursor--,h.bra=h.cursor;break;case 8:if(!h.in_grouping_b(d,97,246)||!h.out_grouping_b(d,97,246))return}h.slice_del(),n=!0}else h.limit_backward=e}(),h.cursor=h.limit,function(){var i,e,r;if(h.cursor>=l)if(e=h.limit_backward,h.limit_backward=l,h.ket=h.cursor,i=h.find_among_b(w,14)){if(h.bra=h.cursor,h.limit_backward=e,1==i){if(r=h.limit-h.cursor,h.eq_s_b(2,"po"))return;h.cursor=h.limit-r}h.slice_del()}else h.limit_backward=e}(),h.cursor=h.limit,h.cursor=(n?h.cursor>=o&&(i=h.limit_backward,h.limit_backward=o,h.ket=h.cursor,h.find_among_b(_,2)?(h.bra=h.cursor,h.limit_backward=i,h.slice_del()):h.limit_backward=i):(h.cursor=h.limit,function(){var i,e,r,n,t,s;if(h.cursor>=o){if(e=h.limit_backward,h.limit_backward=o,h.ket=h.cursor,h.eq_s_b(1,"t")&&(h.bra=h.cursor,r=h.limit-h.cursor,h.in_grouping_b(d,97,246)&&(h.cursor=h.limit-r,h.slice_del(),h.limit_backward=e,n=h.limit-h.cursor,h.cursor>=l&&(h.cursor=l,t=h.limit_backward,h.limit_backward=h.cursor,h.cursor=h.limit-n,h.ket=h.cursor,i=h.find_among_b(k,2))))){if(h.bra=h.cursor,h.limit_backward=t,1==i){if(s=h.limit-h.cursor,h.eq_s_b(2,"po"))return;h.cursor=h.limit-s}return h.slice_del()}h.limit_backward=e}}()),h.limit),function(){var i,e,r,n;if(h.cursor>=o){for(i=h.limit_backward,h.limit_backward=o,e=h.limit-h.cursor,j()&&(h.cursor=h.limit-e,h.ket=h.cursor,h.cursor>h.limit_backward&&(h.cursor--,h.bra=h.cursor,h.slice_del())),h.cursor=h.limit-e,h.ket=h.cursor,h.in_grouping_b(b,97,228)&&(h.bra=h.cursor,h.out_grouping_b(d,97,246)&&h.slice_del()),h.cursor=h.limit-e,h.ket=h.cursor,h.eq_s_b(1,"j")&&(h.bra=h.cursor,r=h.limit-h.cursor,h.eq_s_b(1,"o")?h.slice_del():(h.cursor=h.limit-r,h.eq_s_b(1,"u")&&h.slice_del())),h.cursor=h.limit-e,h.ket=h.cursor,h.eq_s_b(1,"o")&&(h.bra=h.cursor,h.eq_s_b(1,"j")&&h.slice_del()),h.cursor=h.limit-e,h.limit_backward=i;;){if(n=h.limit-h.cursor,h.out_grouping_b(d,97,246)){h.cursor=h.limit-n;break}if(h.cursor=h.limit-n,h.cursor<=h.limit_backward)return;h.cursor--}h.ket=h.cursor,h.cursor>h.limit_backward&&(h.cursor--,h.bra=h.cursor,t=h.slice_to(),h.eq_v_b(t)&&h.slice_del())}}(),!0}},function(i){return"function"==typeof i.update?i.update(function(i){return e.setCurrent(i),e.stem(),e.getCurrent()}):(e.setCurrent(i),e.stem(),e.getCurrent())}),i.Pipeline.registerFunction(i.fi.stemmer,"stemmer-fi"),i.fi.stopWordFilter=i.generateStopWordFilter("ei eivät emme en et ette että he heidän heidät heihin heille heillä heiltä heissä heistä heitä hän häneen hänelle hänellä häneltä hänen hänessä hänestä hänet häntä itse ja johon joiden joihin joiksi joilla joille joilta joina joissa joista joita joka joksi jolla jolle jolta jona jonka jos jossa josta jota jotka kanssa keiden keihin keiksi keille keillä keiltä keinä keissä keistä keitä keneen keneksi kenelle kenellä keneltä kenen kenenä kenessä kenestä kenet ketkä ketkä ketä koska kuin kuka kun me meidän meidät meihin meille meillä meiltä meissä meistä meitä mihin miksi mikä mille millä miltä minkä minkä minua minulla minulle minulta minun minussa minusta minut minuun minä minä missä mistä mitkä mitä mukaan mutta ne niiden niihin niiksi niille niillä niiltä niin niin niinä niissä niistä niitä noiden noihin noiksi noilla noille noilta noin noina noissa noista noita nuo nyt näiden näihin näiksi näille näillä näiltä näinä näissä näistä näitä nämä ole olemme olen olet olette oli olimme olin olisi olisimme olisin olisit olisitte olisivat olit olitte olivat olla olleet ollut on ovat poikki se sekä sen siihen siinä siitä siksi sille sillä sillä siltä sinua sinulla sinulle sinulta sinun sinussa sinusta sinut sinuun sinä sinä sitä tai te teidän teidät teihin teille teillä teiltä teissä teistä teitä tuo tuohon tuoksi tuolla tuolle tuolta tuon tuona tuossa tuosta tuota tähän täksi tälle tällä tältä tämä tämän tänä tässä tästä tätä vaan vai vaikka yli".split(" ")),i.Pipeline.registerFunction(i.fi.stopWordFilter,"stopWordFilter-fi")}}); \ No newline at end of file diff --git a/docs/api/py/_static/javascripts/lunr/lunr.fr.js b/docs/api/py/_static/javascripts/lunr/lunr.fr.js new file mode 100644 index 0000000000000..078d0cab706ba --- /dev/null +++ b/docs/api/py/_static/javascripts/lunr/lunr.fr.js @@ -0,0 +1 @@ +!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var r,y,s;e.fr=function(){this.pipeline.reset(),this.pipeline.add(e.fr.trimmer,e.fr.stopWordFilter,e.fr.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.fr.stemmer))},e.fr.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",e.fr.trimmer=e.trimmerSupport.generateTrimmer(e.fr.wordCharacters),e.Pipeline.registerFunction(e.fr.trimmer,"trimmer-fr"),e.fr.stemmer=(r=e.stemmerSupport.Among,y=e.stemmerSupport.SnowballProgram,s=new function(){var s,i,t,n=[new r("col",-1,-1),new r("par",-1,-1),new r("tap",-1,-1)],u=[new r("",-1,4),new r("I",0,1),new r("U",0,2),new r("Y",0,3)],o=[new r("iqU",-1,3),new r("abl",-1,3),new r("Ièr",-1,4),new r("ièr",-1,4),new r("eus",-1,2),new r("iv",-1,1)],c=[new r("ic",-1,2),new r("abil",-1,1),new r("iv",-1,3)],a=[new r("iqUe",-1,1),new r("atrice",-1,2),new r("ance",-1,1),new r("ence",-1,5),new r("logie",-1,3),new r("able",-1,1),new r("isme",-1,1),new r("euse",-1,11),new r("iste",-1,1),new r("ive",-1,8),new r("if",-1,8),new r("usion",-1,4),new r("ation",-1,2),new r("ution",-1,4),new r("ateur",-1,2),new r("iqUes",-1,1),new r("atrices",-1,2),new r("ances",-1,1),new r("ences",-1,5),new r("logies",-1,3),new r("ables",-1,1),new r("ismes",-1,1),new r("euses",-1,11),new r("istes",-1,1),new r("ives",-1,8),new r("ifs",-1,8),new r("usions",-1,4),new r("ations",-1,2),new r("utions",-1,4),new r("ateurs",-1,2),new r("ments",-1,15),new r("ements",30,6),new r("issements",31,12),new r("ités",-1,7),new r("ment",-1,15),new r("ement",34,6),new r("issement",35,12),new r("amment",34,13),new r("emment",34,14),new r("aux",-1,10),new r("eaux",39,9),new r("eux",-1,1),new r("ité",-1,7)],l=[new r("ira",-1,1),new r("ie",-1,1),new r("isse",-1,1),new r("issante",-1,1),new r("i",-1,1),new r("irai",4,1),new r("ir",-1,1),new r("iras",-1,1),new r("ies",-1,1),new r("îmes",-1,1),new r("isses",-1,1),new r("issantes",-1,1),new r("îtes",-1,1),new r("is",-1,1),new r("irais",13,1),new r("issais",13,1),new r("irions",-1,1),new r("issions",-1,1),new r("irons",-1,1),new r("issons",-1,1),new r("issants",-1,1),new r("it",-1,1),new r("irait",21,1),new r("issait",21,1),new r("issant",-1,1),new r("iraIent",-1,1),new r("issaIent",-1,1),new r("irent",-1,1),new r("issent",-1,1),new r("iront",-1,1),new r("ît",-1,1),new r("iriez",-1,1),new r("issiez",-1,1),new r("irez",-1,1),new r("issez",-1,1)],w=[new r("a",-1,3),new r("era",0,2),new r("asse",-1,3),new r("ante",-1,3),new r("ée",-1,2),new r("ai",-1,3),new r("erai",5,2),new r("er",-1,2),new r("as",-1,3),new r("eras",8,2),new r("âmes",-1,3),new r("asses",-1,3),new r("antes",-1,3),new r("âtes",-1,3),new r("ées",-1,2),new r("ais",-1,3),new r("erais",15,2),new r("ions",-1,1),new r("erions",17,2),new r("assions",17,3),new r("erons",-1,2),new r("ants",-1,3),new r("és",-1,2),new r("ait",-1,3),new r("erait",23,2),new r("ant",-1,3),new r("aIent",-1,3),new r("eraIent",26,2),new r("èrent",-1,2),new r("assent",-1,3),new r("eront",-1,2),new r("ât",-1,3),new r("ez",-1,2),new r("iez",32,2),new r("eriez",33,2),new r("assiez",33,3),new r("erez",32,2),new r("é",-1,2)],f=[new r("e",-1,3),new r("Ière",0,2),new r("ière",0,2),new r("ion",-1,1),new r("Ier",-1,2),new r("ier",-1,2),new r("ë",-1,4)],m=[new r("ell",-1,-1),new r("eill",-1,-1),new r("enn",-1,-1),new r("onn",-1,-1),new r("ett",-1,-1)],_=[17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,128,130,103,8,5],b=[1,65,20,0,0,0,0,0,0,0,0,0,0,0,0,0,128],d=new y;function k(e,r,s){return!(!d.eq_s(1,e)||(d.ket=d.cursor,!d.in_grouping(_,97,251)))&&(d.slice_from(r),d.cursor=s,!0)}function p(e,r,s){return!!d.eq_s(1,e)&&(d.ket=d.cursor,d.slice_from(r),d.cursor=s,!0)}function g(){for(;!d.in_grouping(_,97,251);){if(d.cursor>=d.limit)return!0;d.cursor++}for(;!d.out_grouping(_,97,251);){if(d.cursor>=d.limit)return!0;d.cursor++}return!1}function q(){return t<=d.cursor}function v(){return i<=d.cursor}function h(){return s<=d.cursor}function z(){if(!function(){var e,r;if(d.ket=d.cursor,e=d.find_among_b(a,43)){switch(d.bra=d.cursor,e){case 1:if(!h())return!1;d.slice_del();break;case 2:if(!h())return!1;d.slice_del(),d.ket=d.cursor,d.eq_s_b(2,"ic")&&(d.bra=d.cursor,h()?d.slice_del():d.slice_from("iqU"));break;case 3:if(!h())return!1;d.slice_from("log");break;case 4:if(!h())return!1;d.slice_from("u");break;case 5:if(!h())return!1;d.slice_from("ent");break;case 6:if(!q())return!1;if(d.slice_del(),d.ket=d.cursor,e=d.find_among_b(o,6))switch(d.bra=d.cursor,e){case 1:h()&&(d.slice_del(),d.ket=d.cursor,d.eq_s_b(2,"at")&&(d.bra=d.cursor,h()&&d.slice_del()));break;case 2:h()?d.slice_del():v()&&d.slice_from("eux");break;case 3:h()&&d.slice_del();break;case 4:q()&&d.slice_from("i")}break;case 7:if(!h())return!1;if(d.slice_del(),d.ket=d.cursor,e=d.find_among_b(c,3))switch(d.bra=d.cursor,e){case 1:h()?d.slice_del():d.slice_from("abl");break;case 2:h()?d.slice_del():d.slice_from("iqU");break;case 3:h()&&d.slice_del()}break;case 8:if(!h())return!1;if(d.slice_del(),d.ket=d.cursor,d.eq_s_b(2,"at")&&(d.bra=d.cursor,h()&&(d.slice_del(),d.ket=d.cursor,d.eq_s_b(2,"ic")))){d.bra=d.cursor,h()?d.slice_del():d.slice_from("iqU");break}break;case 9:d.slice_from("eau");break;case 10:if(!v())return!1;d.slice_from("al");break;case 11:if(h())d.slice_del();else{if(!v())return!1;d.slice_from("eux")}break;case 12:if(!v()||!d.out_grouping_b(_,97,251))return!1;d.slice_del();break;case 13:return q()&&d.slice_from("ant"),!1;case 14:return q()&&d.slice_from("ent"),!1;case 15:return r=d.limit-d.cursor,d.in_grouping_b(_,97,251)&&q()&&(d.cursor=d.limit-r,d.slice_del()),!1}return!0}return!1}()&&(d.cursor=d.limit,!function(){var e,r;if(d.cursor=t){if(s=d.limit_backward,d.limit_backward=t,d.ket=d.cursor,e=d.find_among_b(f,7))switch(d.bra=d.cursor,e){case 1:if(h()){if(i=d.limit-d.cursor,!d.eq_s_b(1,"s")&&(d.cursor=d.limit-i,!d.eq_s_b(1,"t")))break;d.slice_del()}break;case 2:d.slice_from("i");break;case 3:d.slice_del();break;case 4:d.eq_s_b(2,"gu")&&d.slice_del()}d.limit_backward=s}}();d.cursor=d.limit,d.ket=d.cursor,d.eq_s_b(1,"Y")?(d.bra=d.cursor,d.slice_from("i")):(d.cursor=d.limit,d.eq_s_b(1,"ç")&&(d.bra=d.cursor,d.slice_from("c")))}this.setCurrent=function(e){d.setCurrent(e)},this.getCurrent=function(){return d.getCurrent()},this.stem=function(){var e,r=d.cursor;return function(){for(var e,r;;){if(e=d.cursor,d.in_grouping(_,97,251)){if(d.bra=d.cursor,r=d.cursor,k("u","U",e))continue;if(d.cursor=r,k("i","I",e))continue;if(d.cursor=r,p("y","Y",e))continue}if(d.cursor=e,!k("y","Y",d.bra=e)){if(d.cursor=e,d.eq_s(1,"q")&&(d.bra=d.cursor,p("u","U",e)))continue;if((d.cursor=e)>=d.limit)return;d.cursor++}}}(),d.cursor=r,function(){var e=d.cursor;if(t=d.limit,s=i=t,d.in_grouping(_,97,251)&&d.in_grouping(_,97,251)&&d.cursor=d.limit){d.cursor=t;break}d.cursor++}while(!d.in_grouping(_,97,251))}t=d.cursor,d.cursor=e,g()||(i=d.cursor,g()||(s=d.cursor))}(),d.limit_backward=r,d.cursor=d.limit,z(),d.cursor=d.limit,e=d.limit-d.cursor,d.find_among_b(m,5)&&(d.cursor=d.limit-e,d.ket=d.cursor,d.cursor>d.limit_backward&&(d.cursor--,d.bra=d.cursor,d.slice_del())),d.cursor=d.limit,function(){for(var e,r=1;d.out_grouping_b(_,97,251);)r--;if(r<=0){if(d.ket=d.cursor,e=d.limit-d.cursor,!d.eq_s_b(1,"é")&&(d.cursor=d.limit-e,!d.eq_s_b(1,"è")))return;d.bra=d.cursor,d.slice_from("e")}}(),d.cursor=d.limit_backward,function(){for(var e,r;r=d.cursor,d.bra=r,e=d.find_among(u,4);)switch(d.ket=d.cursor,e){case 1:d.slice_from("i");break;case 2:d.slice_from("u");break;case 3:d.slice_from("y");break;case 4:if(d.cursor>=d.limit)return;d.cursor++}}(),!0}},function(e){return"function"==typeof e.update?e.update(function(e){return s.setCurrent(e),s.stem(),s.getCurrent()}):(s.setCurrent(e),s.stem(),s.getCurrent())}),e.Pipeline.registerFunction(e.fr.stemmer,"stemmer-fr"),e.fr.stopWordFilter=e.generateStopWordFilter("ai aie aient aies ait as au aura aurai auraient aurais aurait auras aurez auriez aurions aurons auront aux avaient avais avait avec avez aviez avions avons ayant ayez ayons c ce ceci celà ces cet cette d dans de des du elle en es est et eu eue eues eurent eus eusse eussent eusses eussiez eussions eut eux eûmes eût eûtes furent fus fusse fussent fusses fussiez fussions fut fûmes fût fûtes ici il ils j je l la le les leur leurs lui m ma mais me mes moi mon même n ne nos notre nous on ont ou par pas pour qu que quel quelle quelles quels qui s sa sans se sera serai seraient serais serait seras serez seriez serions serons seront ses soi soient sois soit sommes son sont soyez soyons suis sur t ta te tes toi ton tu un une vos votre vous y à étaient étais était étant étiez étions été étée étées étés êtes".split(" ")),e.Pipeline.registerFunction(e.fr.stopWordFilter,"stopWordFilter-fr")}}); \ No newline at end of file diff --git a/docs/api/py/_static/javascripts/lunr/lunr.hu.js b/docs/api/py/_static/javascripts/lunr/lunr.hu.js new file mode 100644 index 0000000000000..56a4b0dc19f7c --- /dev/null +++ b/docs/api/py/_static/javascripts/lunr/lunr.hu.js @@ -0,0 +1 @@ +!function(e,n){"function"==typeof define&&define.amd?define(n):"object"==typeof exports?module.exports=n():n()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var p,_,n;e.hu=function(){this.pipeline.reset(),this.pipeline.add(e.hu.trimmer,e.hu.stopWordFilter,e.hu.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.hu.stemmer))},e.hu.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",e.hu.trimmer=e.trimmerSupport.generateTrimmer(e.hu.wordCharacters),e.Pipeline.registerFunction(e.hu.trimmer,"trimmer-hu"),e.hu.stemmer=(p=e.stemmerSupport.Among,_=e.stemmerSupport.SnowballProgram,n=new function(){var r,i=[new p("cs",-1,-1),new p("dzs",-1,-1),new p("gy",-1,-1),new p("ly",-1,-1),new p("ny",-1,-1),new p("sz",-1,-1),new p("ty",-1,-1),new p("zs",-1,-1)],n=[new p("á",-1,1),new p("é",-1,2)],a=[new p("bb",-1,-1),new p("cc",-1,-1),new p("dd",-1,-1),new p("ff",-1,-1),new p("gg",-1,-1),new p("jj",-1,-1),new p("kk",-1,-1),new p("ll",-1,-1),new p("mm",-1,-1),new p("nn",-1,-1),new p("pp",-1,-1),new p("rr",-1,-1),new p("ccs",-1,-1),new p("ss",-1,-1),new p("zzs",-1,-1),new p("tt",-1,-1),new p("vv",-1,-1),new p("ggy",-1,-1),new p("lly",-1,-1),new p("nny",-1,-1),new p("tty",-1,-1),new p("ssz",-1,-1),new p("zz",-1,-1)],t=[new p("al",-1,1),new p("el",-1,2)],e=[new p("ba",-1,-1),new p("ra",-1,-1),new p("be",-1,-1),new p("re",-1,-1),new p("ig",-1,-1),new p("nak",-1,-1),new p("nek",-1,-1),new p("val",-1,-1),new p("vel",-1,-1),new p("ul",-1,-1),new p("nál",-1,-1),new p("nél",-1,-1),new p("ból",-1,-1),new p("ról",-1,-1),new p("tól",-1,-1),new p("bõl",-1,-1),new p("rõl",-1,-1),new p("tõl",-1,-1),new p("ül",-1,-1),new p("n",-1,-1),new p("an",19,-1),new p("ban",20,-1),new p("en",19,-1),new p("ben",22,-1),new p("képpen",22,-1),new p("on",19,-1),new p("ön",19,-1),new p("képp",-1,-1),new p("kor",-1,-1),new p("t",-1,-1),new p("at",29,-1),new p("et",29,-1),new p("ként",29,-1),new p("anként",32,-1),new p("enként",32,-1),new p("onként",32,-1),new p("ot",29,-1),new p("ért",29,-1),new p("öt",29,-1),new p("hez",-1,-1),new p("hoz",-1,-1),new p("höz",-1,-1),new p("vá",-1,-1),new p("vé",-1,-1)],s=[new p("án",-1,2),new p("én",-1,1),new p("ánként",-1,3)],c=[new p("stul",-1,2),new p("astul",0,1),new p("ástul",0,3),new p("stül",-1,2),new p("estül",3,1),new p("éstül",3,4)],w=[new p("á",-1,1),new p("é",-1,2)],o=[new p("k",-1,7),new p("ak",0,4),new p("ek",0,6),new p("ok",0,5),new p("ák",0,1),new p("ék",0,2),new p("ök",0,3)],l=[new p("éi",-1,7),new p("áéi",0,6),new p("ééi",0,5),new p("é",-1,9),new p("ké",3,4),new p("aké",4,1),new p("eké",4,1),new p("oké",4,1),new p("áké",4,3),new p("éké",4,2),new p("öké",4,1),new p("éé",3,8)],u=[new p("a",-1,18),new p("ja",0,17),new p("d",-1,16),new p("ad",2,13),new p("ed",2,13),new p("od",2,13),new p("ád",2,14),new p("éd",2,15),new p("öd",2,13),new p("e",-1,18),new p("je",9,17),new p("nk",-1,4),new p("unk",11,1),new p("ánk",11,2),new p("énk",11,3),new p("ünk",11,1),new p("uk",-1,8),new p("juk",16,7),new p("ájuk",17,5),new p("ük",-1,8),new p("jük",19,7),new p("éjük",20,6),new p("m",-1,12),new p("am",22,9),new p("em",22,9),new p("om",22,9),new p("ám",22,10),new p("ém",22,11),new p("o",-1,18),new p("á",-1,19),new p("é",-1,20)],m=[new p("id",-1,10),new p("aid",0,9),new p("jaid",1,6),new p("eid",0,9),new p("jeid",3,6),new p("áid",0,7),new p("éid",0,8),new p("i",-1,15),new p("ai",7,14),new p("jai",8,11),new p("ei",7,14),new p("jei",10,11),new p("ái",7,12),new p("éi",7,13),new p("itek",-1,24),new p("eitek",14,21),new p("jeitek",15,20),new p("éitek",14,23),new p("ik",-1,29),new p("aik",18,26),new p("jaik",19,25),new p("eik",18,26),new p("jeik",21,25),new p("áik",18,27),new p("éik",18,28),new p("ink",-1,20),new p("aink",25,17),new p("jaink",26,16),new p("eink",25,17),new p("jeink",28,16),new p("áink",25,18),new p("éink",25,19),new p("aitok",-1,21),new p("jaitok",32,20),new p("áitok",-1,22),new p("im",-1,5),new p("aim",35,4),new p("jaim",36,1),new p("eim",35,4),new p("jeim",38,1),new p("áim",35,2),new p("éim",35,3)],k=[17,65,16,0,0,0,0,0,0,0,0,0,0,0,0,0,1,17,52,14],f=new _;function b(){return r<=f.cursor}function d(){var e=f.limit-f.cursor;return!!f.find_among_b(a,23)&&(f.cursor=f.limit-e,!0)}function g(){if(f.cursor>f.limit_backward){f.cursor--,f.ket=f.cursor;var e=f.cursor-1;f.limit_backward<=e&&e<=f.limit&&(f.cursor=e,f.bra=e,f.slice_del())}}function h(){f.ket=f.cursor,f.find_among_b(e,44)&&(f.bra=f.cursor,b()&&(f.slice_del(),function(){var e;if(f.ket=f.cursor,(e=f.find_among_b(n,2))&&(f.bra=f.cursor,b()))switch(e){case 1:f.slice_from("a");break;case 2:f.slice_from("e")}}()))}this.setCurrent=function(e){f.setCurrent(e)},this.getCurrent=function(){return f.getCurrent()},this.stem=function(){var e=f.cursor;return function(){var e,n=f.cursor;if(r=f.limit,f.in_grouping(k,97,252))for(;;){if(e=f.cursor,f.out_grouping(k,97,252))return f.cursor=e,f.find_among(i,8)||(f.cursor=e)=f.limit)return r=e;f.cursor++}if(f.cursor=n,f.out_grouping(k,97,252)){for(;!f.in_grouping(k,97,252);){if(f.cursor>=f.limit)return;f.cursor++}r=f.cursor}}(),f.limit_backward=e,f.cursor=f.limit,function(){var e;if(f.ket=f.cursor,(e=f.find_among_b(t,2))&&(f.bra=f.cursor,b())){if((1==e||2==e)&&!d())return;f.slice_del(),g()}}(),f.cursor=f.limit,h(),f.cursor=f.limit,function(){var e;if(f.ket=f.cursor,(e=f.find_among_b(s,3))&&(f.bra=f.cursor,b()))switch(e){case 1:f.slice_from("e");break;case 2:case 3:f.slice_from("a")}}(),f.cursor=f.limit,function(){var e;if(f.ket=f.cursor,(e=f.find_among_b(c,6))&&(f.bra=f.cursor,b()))switch(e){case 1:case 2:f.slice_del();break;case 3:f.slice_from("a");break;case 4:f.slice_from("e")}}(),f.cursor=f.limit,function(){var e;if(f.ket=f.cursor,(e=f.find_among_b(w,2))&&(f.bra=f.cursor,b())){if((1==e||2==e)&&!d())return;f.slice_del(),g()}}(),f.cursor=f.limit,function(){var e;if(f.ket=f.cursor,(e=f.find_among_b(l,12))&&(f.bra=f.cursor,b()))switch(e){case 1:case 4:case 7:case 9:f.slice_del();break;case 2:case 5:case 8:f.slice_from("e");break;case 3:case 6:f.slice_from("a")}}(),f.cursor=f.limit,function(){var e;if(f.ket=f.cursor,(e=f.find_among_b(u,31))&&(f.bra=f.cursor,b()))switch(e){case 1:case 4:case 7:case 8:case 9:case 12:case 13:case 16:case 17:case 18:f.slice_del();break;case 2:case 5:case 10:case 14:case 19:f.slice_from("a");break;case 3:case 6:case 11:case 15:case 20:f.slice_from("e")}}(),f.cursor=f.limit,function(){var e;if(f.ket=f.cursor,(e=f.find_among_b(m,42))&&(f.bra=f.cursor,b()))switch(e){case 1:case 4:case 5:case 6:case 9:case 10:case 11:case 14:case 15:case 16:case 17:case 20:case 21:case 24:case 25:case 26:case 29:f.slice_del();break;case 2:case 7:case 12:case 18:case 22:case 27:f.slice_from("a");break;case 3:case 8:case 13:case 19:case 23:case 28:f.slice_from("e")}}(),f.cursor=f.limit,function(){var e;if(f.ket=f.cursor,(e=f.find_among_b(o,7))&&(f.bra=f.cursor,b()))switch(e){case 1:f.slice_from("a");break;case 2:f.slice_from("e");break;case 3:case 4:case 5:case 6:case 7:f.slice_del()}}(),!0}},function(e){return"function"==typeof e.update?e.update(function(e){return n.setCurrent(e),n.stem(),n.getCurrent()}):(n.setCurrent(e),n.stem(),n.getCurrent())}),e.Pipeline.registerFunction(e.hu.stemmer,"stemmer-hu"),e.hu.stopWordFilter=e.generateStopWordFilter("a abban ahhoz ahogy ahol aki akik akkor alatt amely amelyek amelyekben amelyeket amelyet amelynek ami amikor amit amolyan amíg annak arra arról az azok azon azonban azt aztán azután azzal azért be belül benne bár cikk cikkek cikkeket csak de e ebben eddig egy egyes egyetlen egyik egyre egyéb egész ehhez ekkor el ellen elsõ elég elõ elõször elõtt emilyen ennek erre ez ezek ezen ezt ezzel ezért fel felé hanem hiszen hogy hogyan igen ill ill. illetve ilyen ilyenkor ismét ison itt jobban jó jól kell kellett keressünk keresztül ki kívül között közül legalább legyen lehet lehetett lenne lenni lesz lett maga magát majd majd meg mellett mely melyek mert mi mikor milyen minden mindenki mindent mindig mint mintha mit mivel miért most már más másik még míg nagy nagyobb nagyon ne nekem neki nem nincs néha néhány nélkül olyan ott pedig persze rá s saját sem semmi sok sokat sokkal szemben szerint szinte számára talán tehát teljes tovább továbbá több ugyanis utolsó után utána vagy vagyis vagyok valaki valami valamint való van vannak vele vissza viszont volna volt voltak voltam voltunk által általában át én éppen és így õ õk õket össze úgy új újabb újra".split(" ")),e.Pipeline.registerFunction(e.hu.stopWordFilter,"stopWordFilter-hu")}}); \ No newline at end of file diff --git a/docs/api/py/_static/javascripts/lunr/lunr.it.js b/docs/api/py/_static/javascripts/lunr/lunr.it.js new file mode 100644 index 0000000000000..50dddaa04b87a --- /dev/null +++ b/docs/api/py/_static/javascripts/lunr/lunr.it.js @@ -0,0 +1 @@ +!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var z,P,r;e.it=function(){this.pipeline.reset(),this.pipeline.add(e.it.trimmer,e.it.stopWordFilter,e.it.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.it.stemmer))},e.it.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",e.it.trimmer=e.trimmerSupport.generateTrimmer(e.it.wordCharacters),e.Pipeline.registerFunction(e.it.trimmer,"trimmer-it"),e.it.stemmer=(z=e.stemmerSupport.Among,P=e.stemmerSupport.SnowballProgram,r=new function(){var o,t,s,a=[new z("",-1,7),new z("qu",0,6),new z("á",0,1),new z("é",0,2),new z("í",0,3),new z("ó",0,4),new z("ú",0,5)],u=[new z("",-1,3),new z("I",0,1),new z("U",0,2)],c=[new z("la",-1,-1),new z("cela",0,-1),new z("gliela",0,-1),new z("mela",0,-1),new z("tela",0,-1),new z("vela",0,-1),new z("le",-1,-1),new z("cele",6,-1),new z("gliele",6,-1),new z("mele",6,-1),new z("tele",6,-1),new z("vele",6,-1),new z("ne",-1,-1),new z("cene",12,-1),new z("gliene",12,-1),new z("mene",12,-1),new z("sene",12,-1),new z("tene",12,-1),new z("vene",12,-1),new z("ci",-1,-1),new z("li",-1,-1),new z("celi",20,-1),new z("glieli",20,-1),new z("meli",20,-1),new z("teli",20,-1),new z("veli",20,-1),new z("gli",20,-1),new z("mi",-1,-1),new z("si",-1,-1),new z("ti",-1,-1),new z("vi",-1,-1),new z("lo",-1,-1),new z("celo",31,-1),new z("glielo",31,-1),new z("melo",31,-1),new z("telo",31,-1),new z("velo",31,-1)],w=[new z("ando",-1,1),new z("endo",-1,1),new z("ar",-1,2),new z("er",-1,2),new z("ir",-1,2)],r=[new z("ic",-1,-1),new z("abil",-1,-1),new z("os",-1,-1),new z("iv",-1,1)],n=[new z("ic",-1,1),new z("abil",-1,1),new z("iv",-1,1)],i=[new z("ica",-1,1),new z("logia",-1,3),new z("osa",-1,1),new z("ista",-1,1),new z("iva",-1,9),new z("anza",-1,1),new z("enza",-1,5),new z("ice",-1,1),new z("atrice",7,1),new z("iche",-1,1),new z("logie",-1,3),new z("abile",-1,1),new z("ibile",-1,1),new z("usione",-1,4),new z("azione",-1,2),new z("uzione",-1,4),new z("atore",-1,2),new z("ose",-1,1),new z("ante",-1,1),new z("mente",-1,1),new z("amente",19,7),new z("iste",-1,1),new z("ive",-1,9),new z("anze",-1,1),new z("enze",-1,5),new z("ici",-1,1),new z("atrici",25,1),new z("ichi",-1,1),new z("abili",-1,1),new z("ibili",-1,1),new z("ismi",-1,1),new z("usioni",-1,4),new z("azioni",-1,2),new z("uzioni",-1,4),new z("atori",-1,2),new z("osi",-1,1),new z("anti",-1,1),new z("amenti",-1,6),new z("imenti",-1,6),new z("isti",-1,1),new z("ivi",-1,9),new z("ico",-1,1),new z("ismo",-1,1),new z("oso",-1,1),new z("amento",-1,6),new z("imento",-1,6),new z("ivo",-1,9),new z("ità",-1,8),new z("istà",-1,1),new z("istè",-1,1),new z("istì",-1,1)],l=[new z("isca",-1,1),new z("enda",-1,1),new z("ata",-1,1),new z("ita",-1,1),new z("uta",-1,1),new z("ava",-1,1),new z("eva",-1,1),new z("iva",-1,1),new z("erebbe",-1,1),new z("irebbe",-1,1),new z("isce",-1,1),new z("ende",-1,1),new z("are",-1,1),new z("ere",-1,1),new z("ire",-1,1),new z("asse",-1,1),new z("ate",-1,1),new z("avate",16,1),new z("evate",16,1),new z("ivate",16,1),new z("ete",-1,1),new z("erete",20,1),new z("irete",20,1),new z("ite",-1,1),new z("ereste",-1,1),new z("ireste",-1,1),new z("ute",-1,1),new z("erai",-1,1),new z("irai",-1,1),new z("isci",-1,1),new z("endi",-1,1),new z("erei",-1,1),new z("irei",-1,1),new z("assi",-1,1),new z("ati",-1,1),new z("iti",-1,1),new z("eresti",-1,1),new z("iresti",-1,1),new z("uti",-1,1),new z("avi",-1,1),new z("evi",-1,1),new z("ivi",-1,1),new z("isco",-1,1),new z("ando",-1,1),new z("endo",-1,1),new z("Yamo",-1,1),new z("iamo",-1,1),new z("avamo",-1,1),new z("evamo",-1,1),new z("ivamo",-1,1),new z("eremo",-1,1),new z("iremo",-1,1),new z("assimo",-1,1),new z("ammo",-1,1),new z("emmo",-1,1),new z("eremmo",54,1),new z("iremmo",54,1),new z("immo",-1,1),new z("ano",-1,1),new z("iscano",58,1),new z("avano",58,1),new z("evano",58,1),new z("ivano",58,1),new z("eranno",-1,1),new z("iranno",-1,1),new z("ono",-1,1),new z("iscono",65,1),new z("arono",65,1),new z("erono",65,1),new z("irono",65,1),new z("erebbero",-1,1),new z("irebbero",-1,1),new z("assero",-1,1),new z("essero",-1,1),new z("issero",-1,1),new z("ato",-1,1),new z("ito",-1,1),new z("uto",-1,1),new z("avo",-1,1),new z("evo",-1,1),new z("ivo",-1,1),new z("ar",-1,1),new z("ir",-1,1),new z("erà",-1,1),new z("irà",-1,1),new z("erò",-1,1),new z("irò",-1,1)],m=[17,65,16,0,0,0,0,0,0,0,0,0,0,0,0,128,128,8,2,1],f=[17,65,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,8,2],v=[17],b=new P;function d(e,r,n){return!(!b.eq_s(1,e)||(b.ket=b.cursor,!b.in_grouping(m,97,249)))&&(b.slice_from(r),b.cursor=n,!0)}function _(e){if(b.cursor=e,!b.in_grouping(m,97,249))return!1;for(;!b.out_grouping(m,97,249);){if(b.cursor>=b.limit)return!1;b.cursor++}return!0}function g(){var e,r=b.cursor;if(!function(){if(b.in_grouping(m,97,249)){var e=b.cursor;if(b.out_grouping(m,97,249)){for(;!b.in_grouping(m,97,249);){if(b.cursor>=b.limit)return _(e);b.cursor++}return!0}return _(e)}return!1}()){if(b.cursor=r,!b.out_grouping(m,97,249))return;if(e=b.cursor,b.out_grouping(m,97,249)){for(;!b.in_grouping(m,97,249);){if(b.cursor>=b.limit)return b.cursor=e,void(b.in_grouping(m,97,249)&&b.cursor=b.limit)return;b.cursor++}s=b.cursor}function p(){for(;!b.in_grouping(m,97,249);){if(b.cursor>=b.limit)return!1;b.cursor++}for(;!b.out_grouping(m,97,249);){if(b.cursor>=b.limit)return!1;b.cursor++}return!0}function k(){return s<=b.cursor}function h(){return o<=b.cursor}function q(){var e;if(b.ket=b.cursor,!(e=b.find_among_b(i,51)))return!1;switch(b.bra=b.cursor,e){case 1:if(!h())return!1;b.slice_del();break;case 2:if(!h())return!1;b.slice_del(),b.ket=b.cursor,b.eq_s_b(2,"ic")&&(b.bra=b.cursor,h()&&b.slice_del());break;case 3:if(!h())return!1;b.slice_from("log");break;case 4:if(!h())return!1;b.slice_from("u");break;case 5:if(!h())return!1;b.slice_from("ente");break;case 6:if(!k())return!1;b.slice_del();break;case 7:if(!(t<=b.cursor))return!1;b.slice_del(),b.ket=b.cursor,(e=b.find_among_b(r,4))&&(b.bra=b.cursor,h()&&(b.slice_del(),1==e&&(b.ket=b.cursor,b.eq_s_b(2,"at")&&(b.bra=b.cursor,h()&&b.slice_del()))));break;case 8:if(!h())return!1;b.slice_del(),b.ket=b.cursor,(e=b.find_among_b(n,3))&&(b.bra=b.cursor,1==e&&h()&&b.slice_del());break;case 9:if(!h())return!1;b.slice_del(),b.ket=b.cursor,b.eq_s_b(2,"at")&&(b.bra=b.cursor,h()&&(b.slice_del(),b.ket=b.cursor,b.eq_s_b(2,"ic")&&(b.bra=b.cursor,h()&&b.slice_del())))}return!0}function C(){var e;e=b.limit-b.cursor,b.ket=b.cursor,b.in_grouping_b(f,97,242)&&(b.bra=b.cursor,k()&&(b.slice_del(),b.ket=b.cursor,b.eq_s_b(1,"i")&&(b.bra=b.cursor,k())))?b.slice_del():b.cursor=b.limit-e,b.ket=b.cursor,b.eq_s_b(1,"h")&&(b.bra=b.cursor,b.in_grouping_b(v,99,103)&&k()&&b.slice_del())}this.setCurrent=function(e){b.setCurrent(e)},this.getCurrent=function(){return b.getCurrent()},this.stem=function(){var e,r,n,i=b.cursor;return function(){for(var e,r,n,i,o=b.cursor;;){if(b.bra=b.cursor,e=b.find_among(a,7))switch(b.ket=b.cursor,e){case 1:b.slice_from("à");continue;case 2:b.slice_from("è");continue;case 3:b.slice_from("ì");continue;case 4:b.slice_from("ò");continue;case 5:b.slice_from("ù");continue;case 6:b.slice_from("qU");continue;case 7:if(b.cursor>=b.limit)break;b.cursor++;continue}break}for(b.cursor=o;;)for(r=b.cursor;;){if(n=b.cursor,b.in_grouping(m,97,249)){if(b.bra=b.cursor,i=b.cursor,d("u","U",n))break;if(b.cursor=i,d("i","I",n))break}if(b.cursor=n,b.cursor>=b.limit)return b.cursor=r;b.cursor++}}(),b.cursor=i,e=b.cursor,s=b.limit,o=t=s,g(),b.cursor=e,p()&&(t=b.cursor,p()&&(o=b.cursor)),b.limit_backward=i,b.cursor=b.limit,function(){var e;if(b.ket=b.cursor,b.find_among_b(c,37)&&(b.bra=b.cursor,(e=b.find_among_b(w,5))&&k()))switch(e){case 1:b.slice_del();break;case 2:b.slice_from("e")}}(),b.cursor=b.limit,q()||(b.cursor=b.limit,b.cursor>=s&&(n=b.limit_backward,b.limit_backward=s,b.ket=b.cursor,(r=b.find_among_b(l,87))&&(b.bra=b.cursor,1==r&&b.slice_del()),b.limit_backward=n)),b.cursor=b.limit,C(),b.cursor=b.limit_backward,function(){for(var e;b.bra=b.cursor,e=b.find_among(u,3);)switch(b.ket=b.cursor,e){case 1:b.slice_from("i");break;case 2:b.slice_from("u");break;case 3:if(b.cursor>=b.limit)return;b.cursor++}}(),!0}},function(e){return"function"==typeof e.update?e.update(function(e){return r.setCurrent(e),r.stem(),r.getCurrent()}):(r.setCurrent(e),r.stem(),r.getCurrent())}),e.Pipeline.registerFunction(e.it.stemmer,"stemmer-it"),e.it.stopWordFilter=e.generateStopWordFilter("a abbia abbiamo abbiano abbiate ad agl agli ai al all alla alle allo anche avemmo avendo avesse avessero avessi avessimo aveste avesti avete aveva avevamo avevano avevate avevi avevo avrai avranno avrebbe avrebbero avrei avremmo avremo avreste avresti avrete avrà avrò avuta avute avuti avuto c che chi ci coi col come con contro cui da dagl dagli dai dal dall dalla dalle dallo degl degli dei del dell della delle dello di dov dove e ebbe ebbero ebbi ed era erano eravamo eravate eri ero essendo faccia facciamo facciano facciate faccio facemmo facendo facesse facessero facessi facessimo faceste facesti faceva facevamo facevano facevate facevi facevo fai fanno farai faranno farebbe farebbero farei faremmo faremo fareste faresti farete farà farò fece fecero feci fosse fossero fossi fossimo foste fosti fu fui fummo furono gli ha hai hanno ho i il in io l la le lei li lo loro lui ma mi mia mie miei mio ne negl negli nei nel nell nella nelle nello noi non nostra nostre nostri nostro o per perché più quale quanta quante quanti quanto quella quelle quelli quello questa queste questi questo sarai saranno sarebbe sarebbero sarei saremmo saremo sareste saresti sarete sarà sarò se sei si sia siamo siano siate siete sono sta stai stando stanno starai staranno starebbe starebbero starei staremmo staremo stareste staresti starete starà starò stava stavamo stavano stavate stavi stavo stemmo stesse stessero stessi stessimo steste stesti stette stettero stetti stia stiamo stiano stiate sto su sua sue sugl sugli sui sul sull sulla sulle sullo suo suoi ti tra tu tua tue tuo tuoi tutti tutto un una uno vi voi vostra vostre vostri vostro è".split(" ")),e.Pipeline.registerFunction(e.it.stopWordFilter,"stopWordFilter-it")}}); \ No newline at end of file diff --git a/docs/api/py/_static/javascripts/lunr/lunr.ja.js b/docs/api/py/_static/javascripts/lunr/lunr.ja.js new file mode 100644 index 0000000000000..69f620250d95b --- /dev/null +++ b/docs/api/py/_static/javascripts/lunr/lunr.ja.js @@ -0,0 +1 @@ +!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(m){if(void 0===m)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===m.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var l="2"==m.version[0];m.ja=function(){this.pipeline.reset(),this.pipeline.add(m.ja.trimmer,m.ja.stopWordFilter,m.ja.stemmer),l?this.tokenizer=m.ja.tokenizer:(m.tokenizer&&(m.tokenizer=m.ja.tokenizer),this.tokenizerFn&&(this.tokenizerFn=m.ja.tokenizer))};var j=new m.TinySegmenter;m.ja.tokenizer=function(e){var r,t,i,n,o,s,p,a,u;if(!arguments.length||null==e||null==e)return[];if(Array.isArray(e))return e.map(function(e){return l?new m.Token(e.toLowerCase()):e.toLowerCase()});for(r=(t=e.toString().toLowerCase().replace(/^\s+/,"")).length-1;0<=r;r--)if(/\S/.test(t.charAt(r))){t=t.substring(0,r+1);break}for(o=[],i=t.length,p=a=0;a<=i;a++)if(s=a-p,t.charAt(a).match(/\s/)||a==i){if(0=_.limit||(_.cursor++,!1)}function w(){for(;!_.in_grouping(m,97,232);){if(_.cursor>=_.limit)return!0;_.cursor++}for(;!_.out_grouping(m,97,232);){if(_.cursor>=_.limit)return!0;_.cursor++}return!1}function b(){return i<=_.cursor}function p(){return e<=_.cursor}function g(){var r=_.limit-_.cursor;_.find_among_b(t,3)&&(_.cursor=_.limit-r,_.ket=_.cursor,_.cursor>_.limit_backward&&(_.cursor--,_.bra=_.cursor,_.slice_del()))}function h(){var r;u=!1,_.ket=_.cursor,_.eq_s_b(1,"e")&&(_.bra=_.cursor,b()&&(r=_.limit-_.cursor,_.out_grouping_b(m,97,232)&&(_.cursor=_.limit-r,_.slice_del(),u=!0,g())))}function k(){var r;b()&&(r=_.limit-_.cursor,_.out_grouping_b(m,97,232)&&(_.cursor=_.limit-r,_.eq_s_b(3,"gem")||(_.cursor=_.limit-r,_.slice_del(),g())))}this.setCurrent=function(r){_.setCurrent(r)},this.getCurrent=function(){return _.getCurrent()},this.stem=function(){var r=_.cursor;return function(){for(var r,e,i,n=_.cursor;;){if(_.bra=_.cursor,r=_.find_among(o,11))switch(_.ket=_.cursor,r){case 1:_.slice_from("a");continue;case 2:_.slice_from("e");continue;case 3:_.slice_from("i");continue;case 4:_.slice_from("o");continue;case 5:_.slice_from("u");continue;case 6:if(_.cursor>=_.limit)break;_.cursor++;continue}break}for(_.cursor=n,_.bra=n,_.eq_s(1,"y")?(_.ket=_.cursor,_.slice_from("Y")):_.cursor=n;;)if(e=_.cursor,_.in_grouping(m,97,232)){if(i=_.cursor,_.bra=i,_.eq_s(1,"i"))_.ket=_.cursor,_.in_grouping(m,97,232)&&(_.slice_from("I"),_.cursor=e);else if(_.cursor=i,_.eq_s(1,"y"))_.ket=_.cursor,_.slice_from("Y"),_.cursor=e;else if(s(e))break}else if(s(e))break}(),_.cursor=r,i=_.limit,e=i,w()||((i=_.cursor)<3&&(i=3),w()||(e=_.cursor)),_.limit_backward=r,_.cursor=_.limit,function(){var r,e,i,n,o,t,s=_.limit-_.cursor;if(_.ket=_.cursor,r=_.find_among_b(c,5))switch(_.bra=_.cursor,r){case 1:b()&&_.slice_from("heid");break;case 2:k();break;case 3:b()&&_.out_grouping_b(f,97,232)&&_.slice_del()}if(_.cursor=_.limit-s,h(),_.cursor=_.limit-s,_.ket=_.cursor,_.eq_s_b(4,"heid")&&(_.bra=_.cursor,p()&&(e=_.limit-_.cursor,_.eq_s_b(1,"c")||(_.cursor=_.limit-e,_.slice_del(),_.ket=_.cursor,_.eq_s_b(2,"en")&&(_.bra=_.cursor,k())))),_.cursor=_.limit-s,_.ket=_.cursor,r=_.find_among_b(a,6))switch(_.bra=_.cursor,r){case 1:if(p()){if(_.slice_del(),i=_.limit-_.cursor,_.ket=_.cursor,_.eq_s_b(2,"ig")&&(_.bra=_.cursor,p()&&(n=_.limit-_.cursor,!_.eq_s_b(1,"e")))){_.cursor=_.limit-n,_.slice_del();break}_.cursor=_.limit-i,g()}break;case 2:p()&&(o=_.limit-_.cursor,_.eq_s_b(1,"e")||(_.cursor=_.limit-o,_.slice_del()));break;case 3:p()&&(_.slice_del(),h());break;case 4:p()&&_.slice_del();break;case 5:p()&&u&&_.slice_del()}_.cursor=_.limit-s,_.out_grouping_b(d,73,232)&&(t=_.limit-_.cursor,_.find_among_b(l,4)&&_.out_grouping_b(m,97,232)&&(_.cursor=_.limit-t,_.ket=_.cursor,_.cursor>_.limit_backward&&(_.cursor--,_.bra=_.cursor,_.slice_del())))}(),_.cursor=_.limit_backward,function(){for(var r;;)if(_.bra=_.cursor,r=_.find_among(n,3))switch(_.ket=_.cursor,r){case 1:_.slice_from("y");break;case 2:_.slice_from("i");break;case 3:if(_.cursor>=_.limit)return;_.cursor++}}(),!0}},function(r){return"function"==typeof r.update?r.update(function(r){return e.setCurrent(r),e.stem(),e.getCurrent()}):(e.setCurrent(r),e.stem(),e.getCurrent())}),r.Pipeline.registerFunction(r.nl.stemmer,"stemmer-nl"),r.nl.stopWordFilter=r.generateStopWordFilter(" aan al alles als altijd andere ben bij daar dan dat de der deze die dit doch doen door dus een eens en er ge geen geweest haar had heb hebben heeft hem het hier hij hoe hun iemand iets ik in is ja je kan kon kunnen maar me meer men met mij mijn moet na naar niet niets nog nu of om omdat onder ons ook op over reeds te tegen toch toen tot u uit uw van veel voor want waren was wat werd wezen wie wil worden wordt zal ze zelf zich zij zijn zo zonder zou".split(" ")),r.Pipeline.registerFunction(r.nl.stopWordFilter,"stopWordFilter-nl")}}); \ No newline at end of file diff --git a/docs/api/py/_static/javascripts/lunr/lunr.no.js b/docs/api/py/_static/javascripts/lunr/lunr.no.js new file mode 100644 index 0000000000000..3d156b9c191cd --- /dev/null +++ b/docs/api/py/_static/javascripts/lunr/lunr.no.js @@ -0,0 +1 @@ +!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var r,n,i;e.no=function(){this.pipeline.reset(),this.pipeline.add(e.no.trimmer,e.no.stopWordFilter,e.no.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.no.stemmer))},e.no.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",e.no.trimmer=e.trimmerSupport.generateTrimmer(e.no.wordCharacters),e.Pipeline.registerFunction(e.no.trimmer,"trimmer-no"),e.no.stemmer=(r=e.stemmerSupport.Among,n=e.stemmerSupport.SnowballProgram,i=new function(){var o,s,a=[new r("a",-1,1),new r("e",-1,1),new r("ede",1,1),new r("ande",1,1),new r("ende",1,1),new r("ane",1,1),new r("ene",1,1),new r("hetene",6,1),new r("erte",1,3),new r("en",-1,1),new r("heten",9,1),new r("ar",-1,1),new r("er",-1,1),new r("heter",12,1),new r("s",-1,2),new r("as",14,1),new r("es",14,1),new r("edes",16,1),new r("endes",16,1),new r("enes",16,1),new r("hetenes",19,1),new r("ens",14,1),new r("hetens",21,1),new r("ers",14,1),new r("ets",14,1),new r("et",-1,1),new r("het",25,1),new r("ert",-1,3),new r("ast",-1,1)],m=[new r("dt",-1,-1),new r("vt",-1,-1)],l=[new r("leg",-1,1),new r("eleg",0,1),new r("ig",-1,1),new r("eig",2,1),new r("lig",2,1),new r("elig",4,1),new r("els",-1,1),new r("lov",-1,1),new r("elov",7,1),new r("slov",7,1),new r("hetslov",9,1)],u=[17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,0,48,0,128],d=[119,125,149,1],c=new n;this.setCurrent=function(e){c.setCurrent(e)},this.getCurrent=function(){return c.getCurrent()},this.stem=function(){var e,r,n,i,t=c.cursor;return function(){var e,r=c.cursor+3;if(s=c.limit,0<=r||r<=c.limit){for(o=r;;){if(e=c.cursor,c.in_grouping(u,97,248)){c.cursor=e;break}if(e>=c.limit)return;c.cursor=e+1}for(;!c.out_grouping(u,97,248);){if(c.cursor>=c.limit)return;c.cursor++}(s=c.cursor)=s&&(r=c.limit_backward,c.limit_backward=s,c.ket=c.cursor,e=c.find_among_b(a,29),c.limit_backward=r,e))switch(c.bra=c.cursor,e){case 1:c.slice_del();break;case 2:n=c.limit-c.cursor,c.in_grouping_b(d,98,122)?c.slice_del():(c.cursor=c.limit-n,c.eq_s_b(1,"k")&&c.out_grouping_b(u,97,248)&&c.slice_del());break;case 3:c.slice_from("er")}}(),c.cursor=c.limit,r=c.limit-c.cursor,c.cursor>=s&&(e=c.limit_backward,c.limit_backward=s,c.ket=c.cursor,c.find_among_b(m,2)?(c.bra=c.cursor,c.limit_backward=e,c.cursor=c.limit-r,c.cursor>c.limit_backward&&(c.cursor--,c.bra=c.cursor,c.slice_del())):c.limit_backward=e),c.cursor=c.limit,c.cursor>=s&&(i=c.limit_backward,c.limit_backward=s,c.ket=c.cursor,(n=c.find_among_b(l,11))?(c.bra=c.cursor,c.limit_backward=i,1==n&&c.slice_del()):c.limit_backward=i),!0}},function(e){return"function"==typeof e.update?e.update(function(e){return i.setCurrent(e),i.stem(),i.getCurrent()}):(i.setCurrent(e),i.stem(),i.getCurrent())}),e.Pipeline.registerFunction(e.no.stemmer,"stemmer-no"),e.no.stopWordFilter=e.generateStopWordFilter("alle at av bare begge ble blei bli blir blitt både båe da de deg dei deim deira deires dem den denne der dere deres det dette di din disse ditt du dykk dykkar då eg ein eit eitt eller elles en enn er et ett etter for fordi fra før ha hadde han hans har hennar henne hennes her hjå ho hoe honom hoss hossen hun hva hvem hver hvilke hvilken hvis hvor hvordan hvorfor i ikke ikkje ikkje ingen ingi inkje inn inni ja jeg kan kom korleis korso kun kunne kva kvar kvarhelst kven kvi kvifor man mange me med medan meg meget mellom men mi min mine mitt mot mykje ned no noe noen noka noko nokon nokor nokre nå når og også om opp oss over på samme seg selv si si sia sidan siden sin sine sitt sjøl skal skulle slik so som som somme somt så sånn til um upp ut uten var vart varte ved vere verte vi vil ville vore vors vort vår være være vært å".split(" ")),e.Pipeline.registerFunction(e.no.stopWordFilter,"stopWordFilter-no")}}); \ No newline at end of file diff --git a/docs/api/py/_static/javascripts/lunr/lunr.pt.js b/docs/api/py/_static/javascripts/lunr/lunr.pt.js new file mode 100644 index 0000000000000..f50fc9fa6d5a0 --- /dev/null +++ b/docs/api/py/_static/javascripts/lunr/lunr.pt.js @@ -0,0 +1 @@ +!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var j,C,r;e.pt=function(){this.pipeline.reset(),this.pipeline.add(e.pt.trimmer,e.pt.stopWordFilter,e.pt.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.pt.stemmer))},e.pt.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",e.pt.trimmer=e.trimmerSupport.generateTrimmer(e.pt.wordCharacters),e.Pipeline.registerFunction(e.pt.trimmer,"trimmer-pt"),e.pt.stemmer=(j=e.stemmerSupport.Among,C=e.stemmerSupport.SnowballProgram,r=new function(){var s,n,i,o=[new j("",-1,3),new j("ã",0,1),new j("õ",0,2)],a=[new j("",-1,3),new j("a~",0,1),new j("o~",0,2)],r=[new j("ic",-1,-1),new j("ad",-1,-1),new j("os",-1,-1),new j("iv",-1,1)],t=[new j("ante",-1,1),new j("avel",-1,1),new j("ível",-1,1)],u=[new j("ic",-1,1),new j("abil",-1,1),new j("iv",-1,1)],w=[new j("ica",-1,1),new j("ância",-1,1),new j("ência",-1,4),new j("ira",-1,9),new j("adora",-1,1),new j("osa",-1,1),new j("ista",-1,1),new j("iva",-1,8),new j("eza",-1,1),new j("logía",-1,2),new j("idade",-1,7),new j("ante",-1,1),new j("mente",-1,6),new j("amente",12,5),new j("ável",-1,1),new j("ível",-1,1),new j("ución",-1,3),new j("ico",-1,1),new j("ismo",-1,1),new j("oso",-1,1),new j("amento",-1,1),new j("imento",-1,1),new j("ivo",-1,8),new j("aça~o",-1,1),new j("ador",-1,1),new j("icas",-1,1),new j("ências",-1,4),new j("iras",-1,9),new j("adoras",-1,1),new j("osas",-1,1),new j("istas",-1,1),new j("ivas",-1,8),new j("ezas",-1,1),new j("logías",-1,2),new j("idades",-1,7),new j("uciones",-1,3),new j("adores",-1,1),new j("antes",-1,1),new j("aço~es",-1,1),new j("icos",-1,1),new j("ismos",-1,1),new j("osos",-1,1),new j("amentos",-1,1),new j("imentos",-1,1),new j("ivos",-1,8)],m=[new j("ada",-1,1),new j("ida",-1,1),new j("ia",-1,1),new j("aria",2,1),new j("eria",2,1),new j("iria",2,1),new j("ara",-1,1),new j("era",-1,1),new j("ira",-1,1),new j("ava",-1,1),new j("asse",-1,1),new j("esse",-1,1),new j("isse",-1,1),new j("aste",-1,1),new j("este",-1,1),new j("iste",-1,1),new j("ei",-1,1),new j("arei",16,1),new j("erei",16,1),new j("irei",16,1),new j("am",-1,1),new j("iam",20,1),new j("ariam",21,1),new j("eriam",21,1),new j("iriam",21,1),new j("aram",20,1),new j("eram",20,1),new j("iram",20,1),new j("avam",20,1),new j("em",-1,1),new j("arem",29,1),new j("erem",29,1),new j("irem",29,1),new j("assem",29,1),new j("essem",29,1),new j("issem",29,1),new j("ado",-1,1),new j("ido",-1,1),new j("ando",-1,1),new j("endo",-1,1),new j("indo",-1,1),new j("ara~o",-1,1),new j("era~o",-1,1),new j("ira~o",-1,1),new j("ar",-1,1),new j("er",-1,1),new j("ir",-1,1),new j("as",-1,1),new j("adas",47,1),new j("idas",47,1),new j("ias",47,1),new j("arias",50,1),new j("erias",50,1),new j("irias",50,1),new j("aras",47,1),new j("eras",47,1),new j("iras",47,1),new j("avas",47,1),new j("es",-1,1),new j("ardes",58,1),new j("erdes",58,1),new j("irdes",58,1),new j("ares",58,1),new j("eres",58,1),new j("ires",58,1),new j("asses",58,1),new j("esses",58,1),new j("isses",58,1),new j("astes",58,1),new j("estes",58,1),new j("istes",58,1),new j("is",-1,1),new j("ais",71,1),new j("eis",71,1),new j("areis",73,1),new j("ereis",73,1),new j("ireis",73,1),new j("áreis",73,1),new j("éreis",73,1),new j("íreis",73,1),new j("ásseis",73,1),new j("ésseis",73,1),new j("ísseis",73,1),new j("áveis",73,1),new j("íeis",73,1),new j("aríeis",84,1),new j("eríeis",84,1),new j("iríeis",84,1),new j("ados",-1,1),new j("idos",-1,1),new j("amos",-1,1),new j("áramos",90,1),new j("éramos",90,1),new j("íramos",90,1),new j("ávamos",90,1),new j("íamos",90,1),new j("aríamos",95,1),new j("eríamos",95,1),new j("iríamos",95,1),new j("emos",-1,1),new j("aremos",99,1),new j("eremos",99,1),new j("iremos",99,1),new j("ássemos",99,1),new j("êssemos",99,1),new j("íssemos",99,1),new j("imos",-1,1),new j("armos",-1,1),new j("ermos",-1,1),new j("irmos",-1,1),new j("ámos",-1,1),new j("arás",-1,1),new j("erás",-1,1),new j("irás",-1,1),new j("eu",-1,1),new j("iu",-1,1),new j("ou",-1,1),new j("ará",-1,1),new j("erá",-1,1),new j("irá",-1,1)],c=[new j("a",-1,1),new j("i",-1,1),new j("o",-1,1),new j("os",-1,1),new j("á",-1,1),new j("í",-1,1),new j("ó",-1,1)],l=[new j("e",-1,1),new j("ç",-1,2),new j("é",-1,1),new j("ê",-1,1)],f=[17,65,16,0,0,0,0,0,0,0,0,0,0,0,0,0,3,19,12,2],d=new C;function v(){if(d.out_grouping(f,97,250)){for(;!d.in_grouping(f,97,250);){if(d.cursor>=d.limit)return!0;d.cursor++}return!1}return!0}function p(){var e,r,s=d.cursor;if(d.in_grouping(f,97,250))if(e=d.cursor,v()){if(d.cursor=e,function(){if(d.in_grouping(f,97,250))for(;!d.out_grouping(f,97,250);){if(d.cursor>=d.limit)return!1;d.cursor++}return i=d.cursor,!0}())return}else i=d.cursor;if(d.cursor=s,d.out_grouping(f,97,250)){if(r=d.cursor,v()){if(d.cursor=r,!d.in_grouping(f,97,250)||d.cursor>=d.limit)return;d.cursor++}i=d.cursor}}function _(){for(;!d.in_grouping(f,97,250);){if(d.cursor>=d.limit)return!1;d.cursor++}for(;!d.out_grouping(f,97,250);){if(d.cursor>=d.limit)return!1;d.cursor++}return!0}function h(){return i<=d.cursor}function b(){return s<=d.cursor}function g(){var e;if(d.ket=d.cursor,!(e=d.find_among_b(w,45)))return!1;switch(d.bra=d.cursor,e){case 1:if(!b())return!1;d.slice_del();break;case 2:if(!b())return!1;d.slice_from("log");break;case 3:if(!b())return!1;d.slice_from("u");break;case 4:if(!b())return!1;d.slice_from("ente");break;case 5:if(!(n<=d.cursor))return!1;d.slice_del(),d.ket=d.cursor,(e=d.find_among_b(r,4))&&(d.bra=d.cursor,b()&&(d.slice_del(),1==e&&(d.ket=d.cursor,d.eq_s_b(2,"at")&&(d.bra=d.cursor,b()&&d.slice_del()))));break;case 6:if(!b())return!1;d.slice_del(),d.ket=d.cursor,(e=d.find_among_b(t,3))&&(d.bra=d.cursor,1==e&&b()&&d.slice_del());break;case 7:if(!b())return!1;d.slice_del(),d.ket=d.cursor,(e=d.find_among_b(u,3))&&(d.bra=d.cursor,1==e&&b()&&d.slice_del());break;case 8:if(!b())return!1;d.slice_del(),d.ket=d.cursor,d.eq_s_b(2,"at")&&(d.bra=d.cursor,b()&&d.slice_del());break;case 9:if(!h()||!d.eq_s_b(1,"e"))return!1;d.slice_from("ir")}return!0}function k(e,r){if(d.eq_s_b(1,e)){d.bra=d.cursor;var s=d.limit-d.cursor;if(d.eq_s_b(1,r))return d.cursor=d.limit-s,h()&&d.slice_del(),!1}return!0}function q(){if(!g()&&(d.cursor=d.limit,!function(){var e,r;if(d.cursor>=i){if(r=d.limit_backward,d.limit_backward=i,d.ket=d.cursor,e=d.find_among_b(m,120))return d.bra=d.cursor,1==e&&d.slice_del(),d.limit_backward=r,!0;d.limit_backward=r}return!1}()))return d.cursor=d.limit,d.ket=d.cursor,void((e=d.find_among_b(c,7))&&(d.bra=d.cursor,1==e&&h()&&d.slice_del()));var e;d.cursor=d.limit,d.ket=d.cursor,d.eq_s_b(1,"i")&&(d.bra=d.cursor,d.eq_s_b(1,"c")&&(d.cursor=d.limit,h()&&d.slice_del()))}this.setCurrent=function(e){d.setCurrent(e)},this.getCurrent=function(){return d.getCurrent()},this.stem=function(){var e,r=d.cursor;return function(){for(var e;;){if(d.bra=d.cursor,e=d.find_among(o,3))switch(d.ket=d.cursor,e){case 1:d.slice_from("a~");continue;case 2:d.slice_from("o~");continue;case 3:if(d.cursor>=d.limit)break;d.cursor++;continue}break}}(),d.cursor=r,e=d.cursor,i=d.limit,s=n=i,p(),d.cursor=e,_()&&(n=d.cursor,_()&&(s=d.cursor)),d.limit_backward=r,d.cursor=d.limit,q(),d.cursor=d.limit,function(){var e;if(d.ket=d.cursor,e=d.find_among_b(l,4))switch(d.bra=d.cursor,e){case 1:h()&&(d.slice_del(),d.ket=d.cursor,d.limit,d.cursor,k("u","g")&&k("i","c"));break;case 2:d.slice_from("c")}}(),d.cursor=d.limit_backward,function(){for(var e;;){if(d.bra=d.cursor,e=d.find_among(a,3))switch(d.ket=d.cursor,e){case 1:d.slice_from("ã");continue;case 2:d.slice_from("õ");continue;case 3:if(d.cursor>=d.limit)break;d.cursor++;continue}break}}(),!0}},function(e){return"function"==typeof e.update?e.update(function(e){return r.setCurrent(e),r.stem(),r.getCurrent()}):(r.setCurrent(e),r.stem(),r.getCurrent())}),e.Pipeline.registerFunction(e.pt.stemmer,"stemmer-pt"),e.pt.stopWordFilter=e.generateStopWordFilter("a ao aos aquela aquelas aquele aqueles aquilo as até com como da das de dela delas dele deles depois do dos e ela elas ele eles em entre era eram essa essas esse esses esta estamos estas estava estavam este esteja estejam estejamos estes esteve estive estivemos estiver estivera estiveram estiverem estivermos estivesse estivessem estivéramos estivéssemos estou está estávamos estão eu foi fomos for fora foram forem formos fosse fossem fui fôramos fôssemos haja hajam hajamos havemos hei houve houvemos houver houvera houveram houverei houverem houveremos houveria houveriam houvermos houverá houverão houveríamos houvesse houvessem houvéramos houvéssemos há hão isso isto já lhe lhes mais mas me mesmo meu meus minha minhas muito na nas nem no nos nossa nossas nosso nossos num numa não nós o os ou para pela pelas pelo pelos por qual quando que quem se seja sejam sejamos sem serei seremos seria seriam será serão seríamos seu seus somos sou sua suas são só também te tem temos tenha tenham tenhamos tenho terei teremos teria teriam terá terão teríamos teu teus teve tinha tinham tive tivemos tiver tivera tiveram tiverem tivermos tivesse tivessem tivéramos tivéssemos tu tua tuas tém tínhamos um uma você vocês vos à às éramos".split(" ")),e.Pipeline.registerFunction(e.pt.stopWordFilter,"stopWordFilter-pt")}}); \ No newline at end of file diff --git a/docs/api/py/_static/javascripts/lunr/lunr.ro.js b/docs/api/py/_static/javascripts/lunr/lunr.ro.js new file mode 100644 index 0000000000000..b19627e1b35eb --- /dev/null +++ b/docs/api/py/_static/javascripts/lunr/lunr.ro.js @@ -0,0 +1 @@ +!function(e,i){"function"==typeof define&&define.amd?define(i):"object"==typeof exports?module.exports=i():i()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var h,z,i;e.ro=function(){this.pipeline.reset(),this.pipeline.add(e.ro.trimmer,e.ro.stopWordFilter,e.ro.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.ro.stemmer))},e.ro.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",e.ro.trimmer=e.trimmerSupport.generateTrimmer(e.ro.wordCharacters),e.Pipeline.registerFunction(e.ro.trimmer,"trimmer-ro"),e.ro.stemmer=(h=e.stemmerSupport.Among,z=e.stemmerSupport.SnowballProgram,i=new function(){var r,n,t,a,o=[new h("",-1,3),new h("I",0,1),new h("U",0,2)],s=[new h("ea",-1,3),new h("aţia",-1,7),new h("aua",-1,2),new h("iua",-1,4),new h("aţie",-1,7),new h("ele",-1,3),new h("ile",-1,5),new h("iile",6,4),new h("iei",-1,4),new h("atei",-1,6),new h("ii",-1,4),new h("ului",-1,1),new h("ul",-1,1),new h("elor",-1,3),new h("ilor",-1,4),new h("iilor",14,4)],c=[new h("icala",-1,4),new h("iciva",-1,4),new h("ativa",-1,5),new h("itiva",-1,6),new h("icale",-1,4),new h("aţiune",-1,5),new h("iţiune",-1,6),new h("atoare",-1,5),new h("itoare",-1,6),new h("ătoare",-1,5),new h("icitate",-1,4),new h("abilitate",-1,1),new h("ibilitate",-1,2),new h("ivitate",-1,3),new h("icive",-1,4),new h("ative",-1,5),new h("itive",-1,6),new h("icali",-1,4),new h("atori",-1,5),new h("icatori",18,4),new h("itori",-1,6),new h("ători",-1,5),new h("icitati",-1,4),new h("abilitati",-1,1),new h("ivitati",-1,3),new h("icivi",-1,4),new h("ativi",-1,5),new h("itivi",-1,6),new h("icităi",-1,4),new h("abilităi",-1,1),new h("ivităi",-1,3),new h("icităţi",-1,4),new h("abilităţi",-1,1),new h("ivităţi",-1,3),new h("ical",-1,4),new h("ator",-1,5),new h("icator",35,4),new h("itor",-1,6),new h("ător",-1,5),new h("iciv",-1,4),new h("ativ",-1,5),new h("itiv",-1,6),new h("icală",-1,4),new h("icivă",-1,4),new h("ativă",-1,5),new h("itivă",-1,6)],u=[new h("ica",-1,1),new h("abila",-1,1),new h("ibila",-1,1),new h("oasa",-1,1),new h("ata",-1,1),new h("ita",-1,1),new h("anta",-1,1),new h("ista",-1,3),new h("uta",-1,1),new h("iva",-1,1),new h("ic",-1,1),new h("ice",-1,1),new h("abile",-1,1),new h("ibile",-1,1),new h("isme",-1,3),new h("iune",-1,2),new h("oase",-1,1),new h("ate",-1,1),new h("itate",17,1),new h("ite",-1,1),new h("ante",-1,1),new h("iste",-1,3),new h("ute",-1,1),new h("ive",-1,1),new h("ici",-1,1),new h("abili",-1,1),new h("ibili",-1,1),new h("iuni",-1,2),new h("atori",-1,1),new h("osi",-1,1),new h("ati",-1,1),new h("itati",30,1),new h("iti",-1,1),new h("anti",-1,1),new h("isti",-1,3),new h("uti",-1,1),new h("işti",-1,3),new h("ivi",-1,1),new h("ităi",-1,1),new h("oşi",-1,1),new h("ităţi",-1,1),new h("abil",-1,1),new h("ibil",-1,1),new h("ism",-1,3),new h("ator",-1,1),new h("os",-1,1),new h("at",-1,1),new h("it",-1,1),new h("ant",-1,1),new h("ist",-1,3),new h("ut",-1,1),new h("iv",-1,1),new h("ică",-1,1),new h("abilă",-1,1),new h("ibilă",-1,1),new h("oasă",-1,1),new h("ată",-1,1),new h("ită",-1,1),new h("antă",-1,1),new h("istă",-1,3),new h("ută",-1,1),new h("ivă",-1,1)],w=[new h("ea",-1,1),new h("ia",-1,1),new h("esc",-1,1),new h("ăsc",-1,1),new h("ind",-1,1),new h("ând",-1,1),new h("are",-1,1),new h("ere",-1,1),new h("ire",-1,1),new h("âre",-1,1),new h("se",-1,2),new h("ase",10,1),new h("sese",10,2),new h("ise",10,1),new h("use",10,1),new h("âse",10,1),new h("eşte",-1,1),new h("ăşte",-1,1),new h("eze",-1,1),new h("ai",-1,1),new h("eai",19,1),new h("iai",19,1),new h("sei",-1,2),new h("eşti",-1,1),new h("ăşti",-1,1),new h("ui",-1,1),new h("ezi",-1,1),new h("âi",-1,1),new h("aşi",-1,1),new h("seşi",-1,2),new h("aseşi",29,1),new h("seseşi",29,2),new h("iseşi",29,1),new h("useşi",29,1),new h("âseşi",29,1),new h("işi",-1,1),new h("uşi",-1,1),new h("âşi",-1,1),new h("aţi",-1,2),new h("eaţi",38,1),new h("iaţi",38,1),new h("eţi",-1,2),new h("iţi",-1,2),new h("âţi",-1,2),new h("arăţi",-1,1),new h("serăţi",-1,2),new h("aserăţi",45,1),new h("seserăţi",45,2),new h("iserăţi",45,1),new h("userăţi",45,1),new h("âserăţi",45,1),new h("irăţi",-1,1),new h("urăţi",-1,1),new h("ârăţi",-1,1),new h("am",-1,1),new h("eam",54,1),new h("iam",54,1),new h("em",-1,2),new h("asem",57,1),new h("sesem",57,2),new h("isem",57,1),new h("usem",57,1),new h("âsem",57,1),new h("im",-1,2),new h("âm",-1,2),new h("ăm",-1,2),new h("arăm",65,1),new h("serăm",65,2),new h("aserăm",67,1),new h("seserăm",67,2),new h("iserăm",67,1),new h("userăm",67,1),new h("âserăm",67,1),new h("irăm",65,1),new h("urăm",65,1),new h("ârăm",65,1),new h("au",-1,1),new h("eau",76,1),new h("iau",76,1),new h("indu",-1,1),new h("ându",-1,1),new h("ez",-1,1),new h("ească",-1,1),new h("ară",-1,1),new h("seră",-1,2),new h("aseră",84,1),new h("seseră",84,2),new h("iseră",84,1),new h("useră",84,1),new h("âseră",84,1),new h("iră",-1,1),new h("ură",-1,1),new h("âră",-1,1),new h("ează",-1,1)],i=[new h("a",-1,1),new h("e",-1,1),new h("ie",1,1),new h("i",-1,1),new h("ă",-1,1)],m=[17,65,16,0,0,0,0,0,0,0,0,0,0,0,0,0,2,32,0,0,4],l=new z;function f(e,i){l.eq_s(1,e)&&(l.ket=l.cursor,l.in_grouping(m,97,259)&&l.slice_from(i))}function p(){if(l.out_grouping(m,97,259)){for(;!l.in_grouping(m,97,259);){if(l.cursor>=l.limit)return!0;l.cursor++}return!1}return!0}function d(){var e,i,r=l.cursor;if(l.in_grouping(m,97,259)){if(e=l.cursor,!p())return void(a=l.cursor);if(l.cursor=e,!function(){if(l.in_grouping(m,97,259))for(;!l.out_grouping(m,97,259);){if(l.cursor>=l.limit)return!0;l.cursor++}return!1}())return void(a=l.cursor)}l.cursor=r,l.out_grouping(m,97,259)&&(i=l.cursor,p()&&(l.cursor=i,l.in_grouping(m,97,259)&&l.cursor=l.limit)return!1;l.cursor++}for(;!l.out_grouping(m,97,259);){if(l.cursor>=l.limit)return!1;l.cursor++}return!0}function v(){return t<=l.cursor}function _(){var e,i=l.limit-l.cursor;if(l.ket=l.cursor,(e=l.find_among_b(c,46))&&(l.bra=l.cursor,v())){switch(e){case 1:l.slice_from("abil");break;case 2:l.slice_from("ibil");break;case 3:l.slice_from("iv");break;case 4:l.slice_from("ic");break;case 5:l.slice_from("at");break;case 6:l.slice_from("it")}return r=!0,l.cursor=l.limit-i,!0}return!1}function g(){var e,i;for(r=!1;;)if(i=l.limit-l.cursor,!_()){l.cursor=l.limit-i;break}if(l.ket=l.cursor,(e=l.find_among_b(u,62))&&(l.bra=l.cursor,n<=l.cursor)){switch(e){case 1:l.slice_del();break;case 2:l.eq_s_b(1,"ţ")&&(l.bra=l.cursor,l.slice_from("t"));break;case 3:l.slice_from("ist")}r=!0}}function k(){var e;l.ket=l.cursor,(e=l.find_among_b(i,5))&&(l.bra=l.cursor,a<=l.cursor&&1==e&&l.slice_del())}this.setCurrent=function(e){l.setCurrent(e)},this.getCurrent=function(){return l.getCurrent()},this.stem=function(){var e,i=l.cursor;return function(){for(var e,i;e=l.cursor,l.in_grouping(m,97,259)&&(i=l.cursor,l.bra=i,f("u","U"),l.cursor=i,f("i","I")),l.cursor=e,!(l.cursor>=l.limit);)l.cursor++}(),l.cursor=i,e=l.cursor,a=l.limit,n=t=a,d(),l.cursor=e,b()&&(t=l.cursor,b()&&(n=l.cursor)),l.limit_backward=i,l.cursor=l.limit,function(){var e,i;if(l.ket=l.cursor,(e=l.find_among_b(s,16))&&(l.bra=l.cursor,v()))switch(e){case 1:l.slice_del();break;case 2:l.slice_from("a");break;case 3:l.slice_from("e");break;case 4:l.slice_from("i");break;case 5:i=l.limit-l.cursor,l.eq_s_b(2,"ab")||(l.cursor=l.limit-i,l.slice_from("i"));break;case 6:l.slice_from("at");break;case 7:l.slice_from("aţi")}}(),l.cursor=l.limit,g(),l.cursor=l.limit,r||(l.cursor=l.limit,function(){var e,i,r;if(l.cursor>=a){if(i=l.limit_backward,l.limit_backward=a,l.ket=l.cursor,e=l.find_among_b(w,94))switch(l.bra=l.cursor,e){case 1:if(r=l.limit-l.cursor,!l.out_grouping_b(m,97,259)&&(l.cursor=l.limit-r,!l.eq_s_b(1,"u")))break;case 2:l.slice_del()}l.limit_backward=i}}(),l.cursor=l.limit),k(),l.cursor=l.limit_backward,function(){for(var e;;){if(l.bra=l.cursor,e=l.find_among(o,3))switch(l.ket=l.cursor,e){case 1:l.slice_from("i");continue;case 2:l.slice_from("u");continue;case 3:if(l.cursor>=l.limit)break;l.cursor++;continue}break}}(),!0}},function(e){return"function"==typeof e.update?e.update(function(e){return i.setCurrent(e),i.stem(),i.getCurrent()}):(i.setCurrent(e),i.stem(),i.getCurrent())}),e.Pipeline.registerFunction(e.ro.stemmer,"stemmer-ro"),e.ro.stopWordFilter=e.generateStopWordFilter("acea aceasta această aceea acei aceia acel acela acele acelea acest acesta aceste acestea aceşti aceştia acolo acord acum ai aia aibă aici al ale alea altceva altcineva am ar are asemenea asta astea astăzi asupra au avea avem aveţi azi aş aşadar aţi bine bucur bună ca care caut ce cel ceva chiar cinci cine cineva contra cu cum cumva curând curînd când cât câte câtva câţi cînd cît cîte cîtva cîţi că căci cărei căror cărui către da dacă dar datorită dată dau de deci deja deoarece departe deşi din dinaintea dintr- dintre doi doilea două drept după dă ea ei el ele eram este eu eşti face fata fi fie fiecare fii fim fiu fiţi frumos fără graţie halbă iar ieri la le li lor lui lângă lîngă mai mea mei mele mereu meu mi mie mine mult multă mulţi mulţumesc mâine mîine mă ne nevoie nici nicăieri nimeni nimeri nimic nişte noastre noastră noi noroc nostru nouă noştri nu opt ori oricare orice oricine oricum oricând oricât oricînd oricît oriunde patra patru patrulea pe pentru peste pic poate pot prea prima primul prin puţin puţina puţină până pînă rog sa sale sau se spate spre sub sunt suntem sunteţi sută sînt sîntem sînteţi să săi său ta tale te timp tine toate toată tot totuşi toţi trei treia treilea tu tăi tău un una unde undeva unei uneia unele uneori unii unor unora unu unui unuia unul vi voastre voastră voi vostru vouă voştri vreme vreo vreun vă zece zero zi zice îi îl îmi împotriva în înainte înaintea încotro încât încît între întrucât întrucît îţi ăla ălea ăsta ăstea ăştia şapte şase şi ştiu ţi ţie".split(" ")),e.Pipeline.registerFunction(e.ro.stopWordFilter,"stopWordFilter-ro")}}); \ No newline at end of file diff --git a/docs/api/py/_static/javascripts/lunr/lunr.ru.js b/docs/api/py/_static/javascripts/lunr/lunr.ru.js new file mode 100644 index 0000000000000..ac99248044a35 --- /dev/null +++ b/docs/api/py/_static/javascripts/lunr/lunr.ru.js @@ -0,0 +1 @@ +!function(e,n){"function"==typeof define&&define.amd?define(n):"object"==typeof exports?module.exports=n():n()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var h,g,n;e.ru=function(){this.pipeline.reset(),this.pipeline.add(e.ru.trimmer,e.ru.stopWordFilter,e.ru.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.ru.stemmer))},e.ru.wordCharacters="Ѐ-҄҇-ԯᴫᵸⷠ-ⷿꙀ-ꚟ︮︯",e.ru.trimmer=e.trimmerSupport.generateTrimmer(e.ru.wordCharacters),e.Pipeline.registerFunction(e.ru.trimmer,"trimmer-ru"),e.ru.stemmer=(h=e.stemmerSupport.Among,g=e.stemmerSupport.SnowballProgram,n=new function(){var n,e,r=[new h("в",-1,1),new h("ив",0,2),new h("ыв",0,2),new h("вши",-1,1),new h("ивши",3,2),new h("ывши",3,2),new h("вшись",-1,1),new h("ившись",6,2),new h("ывшись",6,2)],t=[new h("ее",-1,1),new h("ие",-1,1),new h("ое",-1,1),new h("ые",-1,1),new h("ими",-1,1),new h("ыми",-1,1),new h("ей",-1,1),new h("ий",-1,1),new h("ой",-1,1),new h("ый",-1,1),new h("ем",-1,1),new h("им",-1,1),new h("ом",-1,1),new h("ым",-1,1),new h("его",-1,1),new h("ого",-1,1),new h("ему",-1,1),new h("ому",-1,1),new h("их",-1,1),new h("ых",-1,1),new h("ею",-1,1),new h("ою",-1,1),new h("ую",-1,1),new h("юю",-1,1),new h("ая",-1,1),new h("яя",-1,1)],w=[new h("ем",-1,1),new h("нн",-1,1),new h("вш",-1,1),new h("ивш",2,2),new h("ывш",2,2),new h("щ",-1,1),new h("ющ",5,1),new h("ующ",6,2)],i=[new h("сь",-1,1),new h("ся",-1,1)],u=[new h("ла",-1,1),new h("ила",0,2),new h("ыла",0,2),new h("на",-1,1),new h("ена",3,2),new h("ете",-1,1),new h("ите",-1,2),new h("йте",-1,1),new h("ейте",7,2),new h("уйте",7,2),new h("ли",-1,1),new h("или",10,2),new h("ыли",10,2),new h("й",-1,1),new h("ей",13,2),new h("уй",13,2),new h("л",-1,1),new h("ил",16,2),new h("ыл",16,2),new h("ем",-1,1),new h("им",-1,2),new h("ым",-1,2),new h("н",-1,1),new h("ен",22,2),new h("ло",-1,1),new h("ило",24,2),new h("ыло",24,2),new h("но",-1,1),new h("ено",27,2),new h("нно",27,1),new h("ет",-1,1),new h("ует",30,2),new h("ит",-1,2),new h("ыт",-1,2),new h("ют",-1,1),new h("уют",34,2),new h("ят",-1,2),new h("ны",-1,1),new h("ены",37,2),new h("ть",-1,1),new h("ить",39,2),new h("ыть",39,2),new h("ешь",-1,1),new h("ишь",-1,2),new h("ю",-1,2),new h("ую",44,2)],s=[new h("а",-1,1),new h("ев",-1,1),new h("ов",-1,1),new h("е",-1,1),new h("ие",3,1),new h("ье",3,1),new h("и",-1,1),new h("еи",6,1),new h("ии",6,1),new h("ами",6,1),new h("ями",6,1),new h("иями",10,1),new h("й",-1,1),new h("ей",12,1),new h("ией",13,1),new h("ий",12,1),new h("ой",12,1),new h("ам",-1,1),new h("ем",-1,1),new h("ием",18,1),new h("ом",-1,1),new h("ям",-1,1),new h("иям",21,1),new h("о",-1,1),new h("у",-1,1),new h("ах",-1,1),new h("ях",-1,1),new h("иях",26,1),new h("ы",-1,1),new h("ь",-1,1),new h("ю",-1,1),new h("ию",30,1),new h("ью",30,1),new h("я",-1,1),new h("ия",33,1),new h("ья",33,1)],o=[new h("ост",-1,1),new h("ость",-1,1)],c=[new h("ейше",-1,1),new h("н",-1,2),new h("ейш",-1,1),new h("ь",-1,3)],m=[33,65,8,232],l=new g;function f(){for(;!l.in_grouping(m,1072,1103);){if(l.cursor>=l.limit)return!1;l.cursor++}return!0}function a(){for(;!l.out_grouping(m,1072,1103);){if(l.cursor>=l.limit)return!1;l.cursor++}return!0}function p(e,n){var r,t;if(l.ket=l.cursor,r=l.find_among_b(e,n)){switch(l.bra=l.cursor,r){case 1:if(t=l.limit-l.cursor,!l.eq_s_b(1,"а")&&(l.cursor=l.limit-t,!l.eq_s_b(1,"я")))return!1;case 2:l.slice_del()}return!0}return!1}function d(e,n){var r;return l.ket=l.cursor,!!(r=l.find_among_b(e,n))&&(l.bra=l.cursor,1==r&&l.slice_del(),!0)}function _(){return!!d(t,26)&&(p(w,8),!0)}function b(){var e;l.ket=l.cursor,(e=l.find_among_b(o,2))&&(l.bra=l.cursor,n<=l.cursor&&1==e&&l.slice_del())}this.setCurrent=function(e){l.setCurrent(e)},this.getCurrent=function(){return l.getCurrent()},this.stem=function(){return e=l.limit,n=e,f()&&(e=l.cursor,a()&&f()&&a()&&(n=l.cursor)),l.cursor=l.limit,!(l.cursor>3]&1<<(7&s))return this.cursor++,!0}return!1},in_grouping_b:function(r,t,i){if(this.cursor>this.limit_backward){var s=b.charCodeAt(this.cursor-1);if(s<=i&&t<=s&&r[(s-=t)>>3]&1<<(7&s))return this.cursor--,!0}return!1},out_grouping:function(r,t,i){if(this.cursor>3]&1<<(7&s)))return this.cursor++,!0}return!1},out_grouping_b:function(r,t,i){if(this.cursor>this.limit_backward){var s=b.charCodeAt(this.cursor-1);if(i>3]&1<<(7&s)))return this.cursor--,!0}return!1},eq_s:function(r,t){if(this.limit-this.cursor>1),a=0,f=u=(l=r[i]).s_size){if(this.cursor=e+l.s_size,!l.method)return l.result;var m=l.method();if(this.cursor=e+l.s_size,m)return l.result}if((i=l.substring_i)<0)return 0}},find_among_b:function(r,t){for(var i=0,s=t,e=this.cursor,n=this.limit_backward,u=0,o=0,h=!1;;){for(var c=i+(s-i>>1),a=0,f=u=(_=r[i]).s_size){if(this.cursor=e-_.s_size,!_.method)return _.result;var m=_.method();if(this.cursor=e-_.s_size,m)return _.result}if((i=_.substring_i)<0)return 0}},replace_s:function(r,t,i){var s=i.length-(t-r);return b=b.substring(0,r)+i+b.substring(t),this.limit+=s,this.cursor>=t?this.cursor+=s:this.cursor>r&&(this.cursor=r),s},slice_check:function(){if(this.bra<0||this.bra>this.ket||this.ket>this.limit||this.limit>b.length)throw"faulty slice operation"},slice_from:function(r){this.slice_check(),this.replace_s(this.bra,this.ket,r)},slice_del:function(){this.slice_from("")},insert:function(r,t,i){var s=this.replace_s(r,t,i);r<=this.bra&&(this.bra+=s),r<=this.ket&&(this.ket+=s)},slice_to:function(){return this.slice_check(),b.substring(this.bra,this.ket)},eq_v_b:function(r){return this.eq_s_b(r.length,r)}}}},r.trimmerSupport={generateTrimmer:function(r){var t=new RegExp("^[^"+r+"]+"),i=new RegExp("[^"+r+"]+$");return function(r){return"function"==typeof r.update?r.update(function(r){return r.replace(t,"").replace(i,"")}):r.replace(t,"").replace(i,"")}}}}}); \ No newline at end of file diff --git a/docs/api/py/_static/javascripts/lunr/lunr.sv.js b/docs/api/py/_static/javascripts/lunr/lunr.sv.js new file mode 100644 index 0000000000000..6daf5f9d807ec --- /dev/null +++ b/docs/api/py/_static/javascripts/lunr/lunr.sv.js @@ -0,0 +1 @@ +!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var r,l,n;e.sv=function(){this.pipeline.reset(),this.pipeline.add(e.sv.trimmer,e.sv.stopWordFilter,e.sv.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.sv.stemmer))},e.sv.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",e.sv.trimmer=e.trimmerSupport.generateTrimmer(e.sv.wordCharacters),e.Pipeline.registerFunction(e.sv.trimmer,"trimmer-sv"),e.sv.stemmer=(r=e.stemmerSupport.Among,l=e.stemmerSupport.SnowballProgram,n=new function(){var n,t,i=[new r("a",-1,1),new r("arna",0,1),new r("erna",0,1),new r("heterna",2,1),new r("orna",0,1),new r("ad",-1,1),new r("e",-1,1),new r("ade",6,1),new r("ande",6,1),new r("arne",6,1),new r("are",6,1),new r("aste",6,1),new r("en",-1,1),new r("anden",12,1),new r("aren",12,1),new r("heten",12,1),new r("ern",-1,1),new r("ar",-1,1),new r("er",-1,1),new r("heter",18,1),new r("or",-1,1),new r("s",-1,2),new r("as",21,1),new r("arnas",22,1),new r("ernas",22,1),new r("ornas",22,1),new r("es",21,1),new r("ades",26,1),new r("andes",26,1),new r("ens",21,1),new r("arens",29,1),new r("hetens",29,1),new r("erns",21,1),new r("at",-1,1),new r("andet",-1,1),new r("het",-1,1),new r("ast",-1,1)],s=[new r("dd",-1,-1),new r("gd",-1,-1),new r("nn",-1,-1),new r("dt",-1,-1),new r("gt",-1,-1),new r("kt",-1,-1),new r("tt",-1,-1)],a=[new r("ig",-1,1),new r("lig",0,1),new r("els",-1,1),new r("fullt",-1,3),new r("löst",-1,2)],o=[17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,0,24,0,32],u=[119,127,149],m=new l;this.setCurrent=function(e){m.setCurrent(e)},this.getCurrent=function(){return m.getCurrent()},this.stem=function(){var e,r=m.cursor;return function(){var e,r=m.cursor+3;if(t=m.limit,0<=r||r<=m.limit){for(n=r;;){if(e=m.cursor,m.in_grouping(o,97,246)){m.cursor=e;break}if(m.cursor=e,m.cursor>=m.limit)return;m.cursor++}for(;!m.out_grouping(o,97,246);){if(m.cursor>=m.limit)return;m.cursor++}(t=m.cursor)=t&&(m.limit_backward=t,m.cursor=m.limit,m.ket=m.cursor,e=m.find_among_b(i,37),m.limit_backward=r,e))switch(m.bra=m.cursor,e){case 1:m.slice_del();break;case 2:m.in_grouping_b(u,98,121)&&m.slice_del()}}(),m.cursor=m.limit,e=m.limit_backward,m.cursor>=t&&(m.limit_backward=t,m.cursor=m.limit,m.find_among_b(s,7)&&(m.cursor=m.limit,m.ket=m.cursor,m.cursor>m.limit_backward&&(m.bra=--m.cursor,m.slice_del())),m.limit_backward=e),m.cursor=m.limit,function(){var e,r;if(m.cursor>=t){if(r=m.limit_backward,m.limit_backward=t,m.cursor=m.limit,m.ket=m.cursor,e=m.find_among_b(a,5))switch(m.bra=m.cursor,e){case 1:m.slice_del();break;case 2:m.slice_from("lös");break;case 3:m.slice_from("full")}m.limit_backward=r}}(),!0}},function(e){return"function"==typeof e.update?e.update(function(e){return n.setCurrent(e),n.stem(),n.getCurrent()}):(n.setCurrent(e),n.stem(),n.getCurrent())}),e.Pipeline.registerFunction(e.sv.stemmer,"stemmer-sv"),e.sv.stopWordFilter=e.generateStopWordFilter("alla allt att av blev bli blir blivit de dem den denna deras dess dessa det detta dig din dina ditt du där då efter ej eller en er era ert ett från för ha hade han hans har henne hennes hon honom hur här i icke ingen inom inte jag ju kan kunde man med mellan men mig min mina mitt mot mycket ni nu när någon något några och om oss på samma sedan sig sin sina sitta själv skulle som så sådan sådana sådant till under upp ut utan vad var vara varför varit varje vars vart vem vi vid vilka vilkas vilken vilket vår våra vårt än är åt över".split(" ")),e.Pipeline.registerFunction(e.sv.stopWordFilter,"stopWordFilter-sv")}}); \ No newline at end of file diff --git a/docs/api/py/_static/javascripts/lunr/lunr.th.js b/docs/api/py/_static/javascripts/lunr/lunr.th.js new file mode 100644 index 0000000000000..ee8ef373a0d0a --- /dev/null +++ b/docs/api/py/_static/javascripts/lunr/lunr.th.js @@ -0,0 +1 @@ +!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(t){if(void 0===t)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===t.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var i="2"==t.version[0];t.th=function(){this.pipeline.reset(),this.pipeline.add(t.th.trimmer),i?this.tokenizer=t.th.tokenizer:(t.tokenizer&&(t.tokenizer=t.th.tokenizer),this.tokenizerFn&&(this.tokenizerFn=t.th.tokenizer))},t.th.wordCharacters="[฀-๿]",t.th.trimmer=t.trimmerSupport.generateTrimmer(t.th.wordCharacters),t.Pipeline.registerFunction(t.th.trimmer,"trimmer-th");var n=t.wordcut;n.init(),t.th.tokenizer=function(e){if(!arguments.length||null==e||null==e)return[];if(Array.isArray(e))return e.map(function(e){return i?new t.Token(e):e});var r=e.toString().replace(/^\s+/,"");return n.cut(r).split("|")}}}); \ No newline at end of file diff --git a/docs/api/py/_static/javascripts/lunr/lunr.tr.js b/docs/api/py/_static/javascripts/lunr/lunr.tr.js new file mode 100644 index 0000000000000..e8fb5a7df64cf --- /dev/null +++ b/docs/api/py/_static/javascripts/lunr/lunr.tr.js @@ -0,0 +1 @@ +!function(r,i){"function"==typeof define&&define.amd?define(i):"object"==typeof exports?module.exports=i():i()(r.lunr)}(this,function(){return function(r){if(void 0===r)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===r.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var mr,dr,i;r.tr=function(){this.pipeline.reset(),this.pipeline.add(r.tr.trimmer,r.tr.stopWordFilter,r.tr.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(r.tr.stemmer))},r.tr.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",r.tr.trimmer=r.trimmerSupport.generateTrimmer(r.tr.wordCharacters),r.Pipeline.registerFunction(r.tr.trimmer,"trimmer-tr"),r.tr.stemmer=(mr=r.stemmerSupport.Among,dr=r.stemmerSupport.SnowballProgram,i=new function(){var t,r=[new mr("m",-1,-1),new mr("n",-1,-1),new mr("miz",-1,-1),new mr("niz",-1,-1),new mr("muz",-1,-1),new mr("nuz",-1,-1),new mr("müz",-1,-1),new mr("nüz",-1,-1),new mr("mız",-1,-1),new mr("nız",-1,-1)],i=[new mr("leri",-1,-1),new mr("ları",-1,-1)],e=[new mr("ni",-1,-1),new mr("nu",-1,-1),new mr("nü",-1,-1),new mr("nı",-1,-1)],n=[new mr("in",-1,-1),new mr("un",-1,-1),new mr("ün",-1,-1),new mr("ın",-1,-1)],u=[new mr("a",-1,-1),new mr("e",-1,-1)],o=[new mr("na",-1,-1),new mr("ne",-1,-1)],s=[new mr("da",-1,-1),new mr("ta",-1,-1),new mr("de",-1,-1),new mr("te",-1,-1)],c=[new mr("nda",-1,-1),new mr("nde",-1,-1)],l=[new mr("dan",-1,-1),new mr("tan",-1,-1),new mr("den",-1,-1),new mr("ten",-1,-1)],a=[new mr("ndan",-1,-1),new mr("nden",-1,-1)],m=[new mr("la",-1,-1),new mr("le",-1,-1)],d=[new mr("ca",-1,-1),new mr("ce",-1,-1)],f=[new mr("im",-1,-1),new mr("um",-1,-1),new mr("üm",-1,-1),new mr("ım",-1,-1)],b=[new mr("sin",-1,-1),new mr("sun",-1,-1),new mr("sün",-1,-1),new mr("sın",-1,-1)],w=[new mr("iz",-1,-1),new mr("uz",-1,-1),new mr("üz",-1,-1),new mr("ız",-1,-1)],_=[new mr("siniz",-1,-1),new mr("sunuz",-1,-1),new mr("sünüz",-1,-1),new mr("sınız",-1,-1)],k=[new mr("lar",-1,-1),new mr("ler",-1,-1)],p=[new mr("niz",-1,-1),new mr("nuz",-1,-1),new mr("nüz",-1,-1),new mr("nız",-1,-1)],g=[new mr("dir",-1,-1),new mr("tir",-1,-1),new mr("dur",-1,-1),new mr("tur",-1,-1),new mr("dür",-1,-1),new mr("tür",-1,-1),new mr("dır",-1,-1),new mr("tır",-1,-1)],y=[new mr("casına",-1,-1),new mr("cesine",-1,-1)],z=[new mr("di",-1,-1),new mr("ti",-1,-1),new mr("dik",-1,-1),new mr("tik",-1,-1),new mr("duk",-1,-1),new mr("tuk",-1,-1),new mr("dük",-1,-1),new mr("tük",-1,-1),new mr("dık",-1,-1),new mr("tık",-1,-1),new mr("dim",-1,-1),new mr("tim",-1,-1),new mr("dum",-1,-1),new mr("tum",-1,-1),new mr("düm",-1,-1),new mr("tüm",-1,-1),new mr("dım",-1,-1),new mr("tım",-1,-1),new mr("din",-1,-1),new mr("tin",-1,-1),new mr("dun",-1,-1),new mr("tun",-1,-1),new mr("dün",-1,-1),new mr("tün",-1,-1),new mr("dın",-1,-1),new mr("tın",-1,-1),new mr("du",-1,-1),new mr("tu",-1,-1),new mr("dü",-1,-1),new mr("tü",-1,-1),new mr("dı",-1,-1),new mr("tı",-1,-1)],h=[new mr("sa",-1,-1),new mr("se",-1,-1),new mr("sak",-1,-1),new mr("sek",-1,-1),new mr("sam",-1,-1),new mr("sem",-1,-1),new mr("san",-1,-1),new mr("sen",-1,-1)],v=[new mr("miş",-1,-1),new mr("muş",-1,-1),new mr("müş",-1,-1),new mr("mış",-1,-1)],q=[new mr("b",-1,1),new mr("c",-1,2),new mr("d",-1,3),new mr("ğ",-1,4)],C=[17,65,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,8,0,0,0,0,0,0,1],P=[1,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,1],F=[65],S=[65],W=[["a",[1,64,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],97,305],["e",[17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,130],101,252],["ı",[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],97,305],["i",[17],101,105],["o",F,111,117],["ö",S,246,252],["u",F,111,117]],L=new dr;function x(r,i,e){for(;;){var n=L.limit-L.cursor;if(L.in_grouping_b(r,i,e)){L.cursor=L.limit-n;break}if(L.cursor=L.limit-n,L.cursor<=L.limit_backward)return!1;L.cursor--}return!0}function A(){var r,i;r=L.limit-L.cursor,x(C,97,305);for(var e=0;eL.limit_backward&&(L.cursor--,e=L.limit-L.cursor,i()))?(L.cursor=L.limit-e,!0):(L.cursor=L.limit-n,r()?(L.cursor=L.limit-n,!1):(L.cursor=L.limit-n,!(L.cursor<=L.limit_backward)&&(L.cursor--,!!i()&&(L.cursor=L.limit-n,!0))))}function j(r){return E(r,function(){return L.in_grouping_b(C,97,305)})}function T(){return j(function(){return L.eq_s_b(1,"n")})}function Z(){return j(function(){return L.eq_s_b(1,"y")})}function B(){return L.find_among_b(r,10)&&E(function(){return L.in_grouping_b(P,105,305)},function(){return L.out_grouping_b(C,97,305)})}function D(){return A()&&L.in_grouping_b(P,105,305)&&j(function(){return L.eq_s_b(1,"s")})}function G(){return L.find_among_b(i,2)}function H(){return A()&&L.find_among_b(n,4)&&T()}function I(){return A()&&L.find_among_b(s,4)}function J(){return A()&&L.find_among_b(c,2)}function K(){return A()&&L.find_among_b(f,4)&&Z()}function M(){return A()&&L.find_among_b(b,4)}function N(){return A()&&L.find_among_b(w,4)&&Z()}function O(){return L.find_among_b(_,4)}function Q(){return A()&&L.find_among_b(k,2)}function R(){return A()&&L.find_among_b(g,8)}function U(){return A()&&L.find_among_b(z,32)&&Z()}function V(){return L.find_among_b(h,8)&&Z()}function X(){return A()&&L.find_among_b(v,4)&&Z()}function Y(){var r=L.limit-L.cursor;return!(X()||(L.cursor=L.limit-r,U()||(L.cursor=L.limit-r,V()||(L.cursor=L.limit-r,L.eq_s_b(3,"ken")&&Z()))))}function $(){if(L.find_among_b(y,2)){var r=L.limit-L.cursor;if(O()||(L.cursor=L.limit-r,Q()||(L.cursor=L.limit-r,K()||(L.cursor=L.limit-r,M()||(L.cursor=L.limit-r,N()||(L.cursor=L.limit-r))))),X())return!1}return!0}function rr(){if(!A()||!L.find_among_b(p,4))return!0;var r=L.limit-L.cursor;return!U()&&(L.cursor=L.limit-r,!V())}function ir(){var r,i,e,n=L.limit-L.cursor;if(L.ket=L.cursor,t=!0,Y()&&(L.cursor=L.limit-n,$()&&(L.cursor=L.limit-n,function(){if(Q()){L.bra=L.cursor,L.slice_del();var r=L.limit-L.cursor;return L.ket=L.cursor,R()||(L.cursor=L.limit-r,U()||(L.cursor=L.limit-r,V()||(L.cursor=L.limit-r,X()||(L.cursor=L.limit-r)))),t=!1}return!0}()&&(L.cursor=L.limit-n,rr()&&(L.cursor=L.limit-n,e=L.limit-L.cursor,!(O()||(L.cursor=L.limit-e,N()||(L.cursor=L.limit-e,M()||(L.cursor=L.limit-e,K()))))||(L.bra=L.cursor,L.slice_del(),i=L.limit-L.cursor,L.ket=L.cursor,X()||(L.cursor=L.limit-i),0)))))){if(L.cursor=L.limit-n,!R())return;L.bra=L.cursor,L.slice_del(),L.ket=L.cursor,r=L.limit-L.cursor,O()||(L.cursor=L.limit-r,Q()||(L.cursor=L.limit-r,K()||(L.cursor=L.limit-r,M()||(L.cursor=L.limit-r,N()||(L.cursor=L.limit-r))))),X()||(L.cursor=L.limit-r)}L.bra=L.cursor,L.slice_del()}function er(){var r,i,e,n;if(L.ket=L.cursor,L.eq_s_b(2,"ki")){if(r=L.limit-L.cursor,I())return L.bra=L.cursor,L.slice_del(),i=L.limit-L.cursor,L.ket=L.cursor,Q()?(L.bra=L.cursor,L.slice_del(),er()):(L.cursor=L.limit-i,B()&&(L.bra=L.cursor,L.slice_del(),L.ket=L.cursor,Q()&&(L.bra=L.cursor,L.slice_del(),er()))),!0;if(L.cursor=L.limit-r,H()){if(L.bra=L.cursor,L.slice_del(),L.ket=L.cursor,e=L.limit-L.cursor,G())L.bra=L.cursor,L.slice_del();else{if(L.cursor=L.limit-e,L.ket=L.cursor,!B()&&(L.cursor=L.limit-e,!D()&&(L.cursor=L.limit-e,!er())))return!0;L.bra=L.cursor,L.slice_del(),L.ket=L.cursor,Q()&&(L.bra=L.cursor,L.slice_del(),er())}return!0}if(L.cursor=L.limit-r,J()){if(n=L.limit-L.cursor,G())L.bra=L.cursor,L.slice_del();else if(L.cursor=L.limit-n,D())L.bra=L.cursor,L.slice_del(),L.ket=L.cursor,Q()&&(L.bra=L.cursor,L.slice_del(),er());else if(L.cursor=L.limit-n,!er())return!1;return!0}}return!1}function nr(r){if(L.ket=L.cursor,!J()&&(L.cursor=L.limit-r,!A()||!L.find_among_b(o,2)))return!1;var i=L.limit-L.cursor;if(G())L.bra=L.cursor,L.slice_del();else if(L.cursor=L.limit-i,D())L.bra=L.cursor,L.slice_del(),L.ket=L.cursor,Q()&&(L.bra=L.cursor,L.slice_del(),er());else if(L.cursor=L.limit-i,!er())return!1;return!0}function tr(r){if(L.ket=L.cursor,!(A()&&L.find_among_b(a,2)||(L.cursor=L.limit-r,A()&&L.find_among_b(e,4))))return!1;var i=L.limit-L.cursor;return!(!D()&&(L.cursor=L.limit-i,!G()))&&(L.bra=L.cursor,L.slice_del(),L.ket=L.cursor,Q()&&(L.bra=L.cursor,L.slice_del(),er()),!0)}function ur(){var r,i=L.limit-L.cursor;return L.ket=L.cursor,!!(H()||(L.cursor=L.limit-i,A()&&L.find_among_b(m,2)&&Z()))&&(L.bra=L.cursor,L.slice_del(),r=L.limit-L.cursor,L.ket=L.cursor,!(!Q()||(L.bra=L.cursor,L.slice_del(),!er()))||(L.cursor=L.limit-r,L.ket=L.cursor,(B()||(L.cursor=L.limit-r,D()||(L.cursor=L.limit-r,er())))&&(L.bra=L.cursor,L.slice_del(),L.ket=L.cursor,Q()&&(L.bra=L.cursor,L.slice_del(),er())),!0))}function or(){var r,i,e=L.limit-L.cursor;if(L.ket=L.cursor,!(I()||(L.cursor=L.limit-e,A()&&L.in_grouping_b(P,105,305)&&Z()||(L.cursor=L.limit-e,A()&&L.find_among_b(u,2)&&Z()))))return!1;if(L.bra=L.cursor,L.slice_del(),L.ket=L.cursor,r=L.limit-L.cursor,B())L.bra=L.cursor,L.slice_del(),i=L.limit-L.cursor,L.ket=L.cursor,Q()||(L.cursor=L.limit-i);else if(L.cursor=L.limit-r,!Q())return!0;return L.bra=L.cursor,L.slice_del(),L.ket=L.cursor,er(),!0}function sr(){var r,i,e=L.limit-L.cursor;if(L.ket=L.cursor,Q())return L.bra=L.cursor,L.slice_del(),void er();if(L.cursor=L.limit-e,L.ket=L.cursor,A()&&L.find_among_b(d,2)&&T())if(L.bra=L.cursor,L.slice_del(),r=L.limit-L.cursor,L.ket=L.cursor,G())L.bra=L.cursor,L.slice_del();else{if(L.cursor=L.limit-r,L.ket=L.cursor,!B()&&(L.cursor=L.limit-r,!D())){if(L.cursor=L.limit-r,L.ket=L.cursor,!Q())return;if(L.bra=L.cursor,L.slice_del(),!er())return}L.bra=L.cursor,L.slice_del(),L.ket=L.cursor,Q()&&(L.bra=L.cursor,L.slice_del(),er())}else if(L.cursor=L.limit-e,!nr(e)&&(L.cursor=L.limit-e,!tr(e))){if(L.cursor=L.limit-e,L.ket=L.cursor,A()&&L.find_among_b(l,4))return L.bra=L.cursor,L.slice_del(),L.ket=L.cursor,i=L.limit-L.cursor,void(B()?(L.bra=L.cursor,L.slice_del(),L.ket=L.cursor,Q()&&(L.bra=L.cursor,L.slice_del(),er())):(L.cursor=L.limit-i,Q()?(L.bra=L.cursor,L.slice_del()):L.cursor=L.limit-i,er()));if(L.cursor=L.limit-e,!ur()){if(L.cursor=L.limit-e,G())return L.bra=L.cursor,void L.slice_del();L.cursor=L.limit-e,er()||(L.cursor=L.limit-e,or()||(L.cursor=L.limit-e,L.ket=L.cursor,(B()||(L.cursor=L.limit-e,D()))&&(L.bra=L.cursor,L.slice_del(),L.ket=L.cursor,Q()&&(L.bra=L.cursor,L.slice_del(),er()))))}}}function cr(r,i,e){if(L.cursor=L.limit-r,function(){for(;;){var r=L.limit-L.cursor;if(L.in_grouping_b(C,97,305)){L.cursor=L.limit-r;break}if(L.cursor=L.limit-r,L.cursor<=L.limit_backward)return!1;L.cursor--}return!0}()){var n=L.limit-L.cursor;if(!L.eq_s_b(1,i)&&(L.cursor=L.limit-n,!L.eq_s_b(1,e)))return!0;L.cursor=L.limit-r;var t=L.cursor;return L.insert(L.cursor,L.cursor,e),L.cursor=t,!1}return!0}function lr(r,i,e){for(;!L.eq_s(i,e);){if(L.cursor>=L.limit)return!0;L.cursor++}return i!=L.limit||(L.cursor=r,!1)}function ar(){var r,i,e=L.cursor;return!(!lr(r=L.cursor,2,"ad")||!lr(L.cursor=r,5,"soyad"))&&(L.limit_backward=e,L.cursor=L.limit,i=L.limit-L.cursor,(L.eq_s_b(1,"d")||(L.cursor=L.limit-i,L.eq_s_b(1,"g")))&&cr(i,"a","ı")&&cr(i,"e","i")&&cr(i,"o","u")&&cr(i,"ö","ü"),L.cursor=L.limit,function(){var r;if(L.ket=L.cursor,r=L.find_among_b(q,4))switch(L.bra=L.cursor,r){case 1:L.slice_from("p");break;case 2:L.slice_from("ç");break;case 3:L.slice_from("t");break;case 4:L.slice_from("k")}}(),!0)}this.setCurrent=function(r){L.setCurrent(r)},this.getCurrent=function(){return L.getCurrent()},this.stem=function(){return!!(function(){for(var r,i=L.cursor,e=2;;){for(r=L.cursor;!L.in_grouping(C,97,305);){if(L.cursor>=L.limit)return L.cursor=r,!(0e&&(this._events[n].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[n].length),"function"==typeof console.trace&&console.trace()));return this},r.prototype.once=function(n,t){if(!a(t))throw TypeError("listener must be a function");var e=!1;function r(){this.removeListener(n,r),e||(e=!0,t.apply(this,arguments))}return r.listener=t,this.on(n,r),this},r.prototype.removeListener=function(n,t){var e,r,i,o;if(!a(t))throw TypeError("listener must be a function");if(!this._events||!this._events[n])return this;if(i=(e=this._events[n]).length,r=-1,e===t||a(e.listener)&&e.listener===t)delete this._events[n],this._events.removeListener&&this.emit("removeListener",n,t);else if(c(e)){for(o=i;0this.maxLength)return i();if(!this.stat&&p(this.cache,o)){var t=this.cache[o];if(Array.isArray(t)&&(t="DIR"),!n||"DIR"===t)return i(null,t);if(n&&"FILE"===t)return i()}var e=this.statCache[o];if(void 0!==e){if(!1===e)return i(null,e);var s=e.isDirectory()?"DIR":"FILE";return n&&"FILE"===s?i():i(null,s,e)}var a=this,c=d("stat\0"+o,function(n,e){{if(e&&e.isSymbolicLink())return u.stat(o,function(n,t){n?a._stat2(r,o,null,e,i):a._stat2(r,o,n,t,i)});a._stat2(r,o,n,e,i)}});c&&u.lstat(o,c)},b.prototype._stat2=function(n,t,e,r,i){if(e)return this.statCache[t]=!1,i();var o="/"===n.slice(-1);if(this.statCache[t]=r,"/"===t.slice(-1)&&!r.isDirectory())return i(null,!1,r);var s=r.isDirectory()?"DIR":"FILE";return this.cache[t]=this.cache[t]||s,o&&"DIR"!==s?i():i(null,s,r)}}).call(this,_("_process"))},{"./common.js":15,"./sync.js":17,_process:24,assert:9,events:14,fs:12,inflight:18,inherits:19,minimatch:20,once:21,path:22,"path-is-absolute":23,util:28}],17:[function(e,r,n){(function(i){(r.exports=n).GlobSync=h;var s=e("fs"),c=e("minimatch"),g=(c.Minimatch,e("./glob.js").Glob,e("util"),e("path")),u=e("assert"),l=e("path-is-absolute"),t=e("./common.js"),o=(t.alphasort,t.alphasorti,t.setopts),a=t.ownProp,f=t.childrenIgnored;function n(n,t){if("function"==typeof t||3===arguments.length)throw new TypeError("callback provided to sync glob\nSee: https://github.com/isaacs/node-glob/issues/167");return new h(n,t).found}function h(n,t){if(!n)throw new Error("must provide pattern");if("function"==typeof t||3===arguments.length)throw new TypeError("callback provided to sync glob\nSee: https://github.com/isaacs/node-glob/issues/167");if(!(this instanceof h))return new h(n,t);if(o(this,n,t),this.noprocess)return this;var e=this.minimatch.set.length;this.matches=new Array(e);for(var r=0;rthis.maxLength)return!1;if(!this.stat&&a(this.cache,t)){var r=this.cache[t];if(Array.isArray(r)&&(r="DIR"),!e||"DIR"===r)return r;if(e&&"FILE"===r)return!1}var i=this.statCache[t];if(!i){var o;try{o=s.lstatSync(t)}catch(n){return!1}if(o.isSymbolicLink())try{i=s.statSync(t)}catch(n){i=o}else i=o}r=(this.statCache[t]=i).isDirectory()?"DIR":"FILE";return this.cache[t]=this.cache[t]||r,(!e||"DIR"===r)&&r},h.prototype._mark=function(n){return t.mark(this,n)},h.prototype._makeAbs=function(n){return t.makeAbs(this,n)}}).call(this,e("_process"))},{"./common.js":15,"./glob.js":16,_process:24,assert:9,fs:12,minimatch:20,path:22,"path-is-absolute":23,util:28}],18:[function(t,r,n){(function(s){var n=t("wrappy"),a=Object.create(null),e=t("once");r.exports=n(function(n,t){return a[n]?(a[n].push(t),null):(a[n]=[t],o=n,e(function n(){var t=a[o],e=t.length,r=function(n){for(var t=n.length,e=[],r=0;re?(t.splice(0,e),s.nextTick(function(){n.apply(null,r)})):delete a[o]}}));var o})}).call(this,t("_process"))},{_process:24,once:21,wrappy:29}],19:[function(n,t,e){"function"==typeof Object.create?t.exports=function(n,t){n.super_=t,n.prototype=Object.create(t.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}})}:t.exports=function(n,t){n.super_=t;var e=function(){};e.prototype=t.prototype,n.prototype=new e,n.prototype.constructor=n}},{}],20:[function(n,t,e){(t.exports=s).Minimatch=i;var u={sep:"/"};try{u=n("path")}catch(n){}var M=s.GLOBSTAR=i.GLOBSTAR={},r=n("brace-expansion"),C={"!":{open:"(?:(?!(?:",close:"))[^/]*?)"},"?":{open:"(?:",close:")?"},"+":{open:"(?:",close:")+"},"*":{open:"(?:",close:")*"},"@":{open:"(?:",close:")"}},P="[^/]",z=P+"*?",B="().*{}+?[]^$\\!".split("").reduce(function(n,t){return n[t]=!0,n},{});var l=/\/+/;function o(t,e){t=t||{},e=e||{};var r={};return Object.keys(e).forEach(function(n){r[n]=e[n]}),Object.keys(t).forEach(function(n){r[n]=t[n]}),r}function s(n,t,e){if("string"!=typeof t)throw new TypeError("glob pattern string required");return e||(e={}),!(!e.nocomment&&"#"===t.charAt(0))&&(""===t.trim()?""===n:new i(t,e).match(n))}function i(n,t){if(!(this instanceof i))return new i(n,t);if("string"!=typeof n)throw new TypeError("glob pattern string required");t||(t={}),n=n.trim(),"/"!==u.sep&&(n=n.split(u.sep).join("/")),this.options=t,this.set=[],this.pattern=n,this.regexp=null,this.negate=!1,this.comment=!1,this.empty=!1,this.make()}function a(n,t){if(t||(t=this instanceof i?this.options:{}),void 0===(n=void 0===n?this.pattern:n))throw new TypeError("undefined pattern");return t.nobrace||!n.match(/\{.*\}/)?[n]:r(n)}s.filter=function(r,i){return i=i||{},function(n,t,e){return s(n,r,i)}},s.defaults=function(r){if(!r||!Object.keys(r).length)return s;var i=s,n=function(n,t,e){return i.minimatch(n,t,o(r,e))};return n.Minimatch=function(n,t){return new i.Minimatch(n,o(r,t))},n},i.defaults=function(n){return n&&Object.keys(n).length?s.defaults(n).Minimatch:i},i.prototype.debug=function(){},i.prototype.make=function(){if(this._made)return;var n=this.pattern,t=this.options;if(!t.nocomment&&"#"===n.charAt(0))return void(this.comment=!0);if(!n)return void(this.empty=!0);this.parseNegate();var e=this.globSet=this.braceExpand();t.debug&&(this.debug=console.error);this.debug(this.pattern,e),e=this.globParts=e.map(function(n){return n.split(l)}),this.debug(this.pattern,e),e=e.map(function(n,t,e){return n.map(this.parse,this)},this),this.debug(this.pattern,e),e=e.filter(function(n){return-1===n.indexOf(!1)}),this.debug(this.pattern,e),this.set=e},i.prototype.parseNegate=function(){var n=this.pattern,t=!1,e=this.options,r=0;if(e.nonegate)return;for(var i=0,o=n.length;i>> no match, partial?",n,f,t,h),f!==s))}if("string"==typeof u?(c=r.nocase?l.toLowerCase()===u.toLowerCase():l===u,this.debug("string match",u,l,c)):(c=l.match(u),this.debug("pattern match",u,l,c)),!c)return!1}if(i===s&&o===a)return!0;if(i===s)return e;if(o===a)return i===s-1&&""===n[i];throw new Error("wtf?")}},{"brace-expansion":11,path:22}],21:[function(n,t,e){var r=n("wrappy");function i(n){var t=function(){return t.called?t.value:(t.called=!0,t.value=n.apply(this,arguments))};return t.called=!1,t}function o(n){var t=function(){if(t.called)throw new Error(t.onceError);return t.called=!0,t.value=n.apply(this,arguments)},e=n.name||"Function wrapped with `once`";return t.onceError=e+" shouldn't be called more than once",t.called=!1,t}t.exports=r(i),t.exports.strict=r(o),i.proto=i(function(){Object.defineProperty(Function.prototype,"once",{value:function(){return i(this)},configurable:!0}),Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return o(this)},configurable:!0})})},{wrappy:29}],22:[function(n,t,u){(function(i){function o(n,t){for(var e=0,r=n.length-1;0<=r;r--){var i=n[r];"."===i?n.splice(r,1):".."===i?(n.splice(r,1),e++):e&&(n.splice(r,1),e--)}if(t)for(;e--;e)n.unshift("..");return n}var t=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/,s=function(n){return t.exec(n).slice(1)};function a(n,t){if(n.filter)return n.filter(t);for(var e=[],r=0;r":">",'"':""","'":"'","`":"`"},D=d.invert(N),F=function(t){var e=function(n){return t[n]},n="(?:"+d.keys(t).join("|")+")",r=RegExp(n),i=RegExp(n,"g");return function(n){return n=null==n?"":""+n,r.test(n)?n.replace(i,e):n}};d.escape=F(N),d.unescape=F(D),d.result=function(n,t,e){var r=null==n?void 0:n[t];return void 0===r&&(r=e),d.isFunction(r)?r.call(n):r};var M=0;d.uniqueId=function(n){var t=++M+"";return n?n+t:t},d.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var C=/(.)^/,P={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},z=/\\|'|\r|\n|\u2028|\u2029/g,B=function(n){return"\\"+P[n]};d.template=function(o,n,t){!n&&t&&(n=t),n=d.defaults({},n,d.templateSettings);var e=RegExp([(n.escape||C).source,(n.interpolate||C).source,(n.evaluate||C).source].join("|")+"|$","g"),s=0,a="__p+='";o.replace(e,function(n,t,e,r,i){return a+=o.slice(s,i).replace(z,B),s=i+n.length,t?a+="'+\n((__t=("+t+"))==null?'':_.escape(__t))+\n'":e?a+="'+\n((__t=("+e+"))==null?'':__t)+\n'":r&&(a+="';\n"+r+"\n__p+='"),n}),a+="';\n",n.variable||(a="with(obj||{}){\n"+a+"}\n"),a="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+a+"return __p;\n";try{var r=new Function(n.variable||"obj","_",a)}catch(n){throw n.source=a,n}var i=function(n){return r.call(this,n,d)},c=n.variable||"obj";return i.source="function("+c+"){\n"+a+"}",i},d.chain=function(n){var t=d(n);return t._chain=!0,t};var U=function(n,t){return n._chain?d(t).chain():t};d.mixin=function(e){d.each(d.functions(e),function(n){var t=d[n]=e[n];d.prototype[n]=function(){var n=[this._wrapped];return i.apply(n,arguments),U(this,t.apply(d,n))}})},d.mixin(d),d.each(["pop","push","reverse","shift","sort","splice","unshift"],function(t){var e=r[t];d.prototype[t]=function(){var n=this._wrapped;return e.apply(n,arguments),"shift"!==t&&"splice"!==t||0!==n.length||delete n[0],U(this,n)}}),d.each(["concat","join","slice"],function(n){var t=r[n];d.prototype[n]=function(){return U(this,t.apply(this._wrapped,arguments))}}),d.prototype.value=function(){return this._wrapped},d.prototype.valueOf=d.prototype.toJSON=d.prototype.value,d.prototype.toString=function(){return""+this._wrapped}}).call(this)},{}],26:[function(n,t,e){arguments[4][19][0].apply(e,arguments)},{dup:19}],27:[function(n,t,e){t.exports=function(n){return n&&"object"==typeof n&&"function"==typeof n.copy&&"function"==typeof n.fill&&"function"==typeof n.readUInt8}},{}],28:[function(h,n,k){(function(r,i){var a=/%[sdj%]/g;k.format=function(n){if(!_(n)){for(var t=[],e=0;e+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,D=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",y.option=!!ce.lastChild;var ge={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var _t,zt=[],Ut=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=zt.pop()||S.expando+"_"+wt.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Ut.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ut.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Ut,"$1"+r):!1!==e.jsonp&&(e.url+=(Tt.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,zt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((_t=E.implementation.createHTMLDocument("").body).innerHTML="

",2===_t.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=Fe(y.pixelPosition,function(e,t){if(t)return t=We(e,n),Pe.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0"," ","+","~","preFilter","excess","unquoted","nodeNameSelector","pattern","operator","check","result","what","_argument","simple","forward","ofType","_context","xml","uniqueCache","outerCache","nodeIndex","start","parent","useCache","lastChild","uniqueID","pseudo","args","setFilters","idx","matched","not","matcher","unmatched","has","lang","elemLang","hash","location","root","focus","activeElement","hasFocus","href","tabIndex","enabled","checked","selected","selectedIndex","empty","header","button","_matchIndexes","lt","gt","radio","checkbox","file","password","image","submit","reset","tokens","combinator","base","skip","checkNonElements","doneName","oldCache","newCache","elementMatcher","matchers","condense","newUnmatched","mapped","setMatcher","postFilter","postFinder","postSelector","temp","preMap","postMap","preexisting","contexts","multipleContexts","matcherIn","matcherOut","matcherFromTokens","checkContext","leadingRelative","implicitRelative","matchContext","matchAnyContext","filters","parseOnly","soFar","preFilters","cached","elementMatchers","setMatchers","bySet","byElement","superMatcher","outermost","matchedCount","setMatched","contextBackup","dirrunsUnique","token","compiled","_name","defaultValue","unique","isXMLDoc","escapeSelector","until","truncate","is","siblings","n","rneedsContext","rsingleTag","winnow","qualifier","self","rootjQuery","parseHTML","ready","rparentsprev","guaranteedUnique","children","contents","prev","sibling","targets","l","closest","index","prevAll","add","addBack","parents","parentsUntil","nextAll","nextUntil","prevUntil","contentDocument","content","reverse","rnothtmlwhite","Identity","v","Thrower","ex","adoptValue","resolve","reject","noValue","method","promise","fail","then","Callbacks","object","_","flag","firing","memory","fired","locked","queue","firingIndex","fire","once","stopOnFalse","remove","disable","lock","fireWith","Deferred","func","tuples","state","always","deferred","catch","pipe","fns","newDefer","tuple","returned","progress","notify","onFulfilled","onRejected","onProgress","maxDepth","depth","special","that","mightThrow","TypeError","notifyWith","resolveWith","process","exceptionHook","stackTrace","rejectWith","getStackHook","setTimeout","stateString","when","singleValue","remaining","resolveContexts","resolveValues","primary","updateFunc","rerrorNames","stack","console","warn","message","readyException","readyList","completed","removeEventListener","readyWait","wait","readyState","doScroll","access","chainable","emptyGet","raw","bulk","_key","rmsPrefix","rdashAlpha","fcamelCase","_all","letter","toUpperCase","camelCase","string","acceptData","owner","Data","uid","defineProperty","configurable","set","data","prop","hasData","dataPriv","dataUser","rbrace","rmultiDash","dataAttr","JSON","parse","removeData","_data","_removeData","dequeue","startLength","hooks","_queueHooks","stop","setter","clearQueue","count","defer","pnum","source","rcssNum","cssExpand","isAttached","composed","getRootNode","isHiddenWithinTree","style","display","css","adjustCSS","valueParts","tween","adjusted","scale","maxIterations","currentValue","initial","unit","cssNumber","initialInUnit","defaultDisplayMap","showHide","show","values","body","hide","toggle","div","rcheckableType","rtagName","rscriptType","createDocumentFragment","checkClone","cloneNode","noCloneChecked","option","wrapMap","thead","col","tr","td","_default","getAll","setGlobalEval","refElements","tbody","tfoot","colgroup","caption","th","optgroup","buildFragment","scripts","selection","ignored","wrap","attached","fragment","nodes","htmlPrefilter","createTextNode","rtypenamespace","returnTrue","returnFalse","expectSync","err","safeActiveElement","on","types","one","origFn","event","off","leverageNative","notAsync","saved","isTrigger","delegateType","stopPropagation","stopImmediatePropagation","preventDefault","trigger","Event","handleObjIn","eventHandle","events","t","handleObj","handlers","namespaces","origType","elemData","create","handle","triggered","dispatch","bindType","delegateCount","setup","mappedTypes","origCount","teardown","removeEvent","nativeEvent","handlerQueue","fix","delegateTarget","preDispatch","isPropagationStopped","currentTarget","isImmediatePropagationStopped","rnamespace","postDispatch","matchedHandlers","matchedSelectors","addProp","hook","enumerable","originalEvent","writable","load","noBubble","click","beforeunload","returnValue","props","isDefaultPrevented","defaultPrevented","relatedTarget","timeStamp","now","isSimulated","altKey","bubbles","cancelable","changedTouches","ctrlKey","detail","eventPhase","metaKey","pageX","pageY","shiftKey","view","char","charCode","keyCode","buttons","clientX","clientY","offsetX","offsetY","pointerId","pointerType","screenX","screenY","targetTouches","toElement","touches","which","blur","mouseenter","mouseleave","pointerenter","pointerleave","orig","related","rnoInnerhtml","rchecked","rcleanScript","manipulationTarget","disableScript","restoreScript","cloneCopyEvent","dest","udataOld","udataCur","domManip","collection","hasScripts","iNoClone","valueIsFunction","html","_evalUrl","keepData","cleanData","dataAndEvents","deepDataAndEvents","srcElements","destElements","inPage","detach","append","prepend","insertBefore","before","after","replaceWith","replaceChild","appendTo","prependTo","insertAfter","replaceAll","original","insert","rnumnonpx","getStyles","opener","getComputedStyle","swap","old","rboxStyle","curCSS","computed","width","minWidth","maxWidth","getPropertyValue","pixelBoxStyles","addGetHookIf","conditionFn","hookFn","computeStyleTests","container","cssText","divStyle","pixelPositionVal","reliableMarginLeftVal","roundPixelMeasures","marginLeft","right","pixelBoxStylesVal","boxSizingReliableVal","position","scrollboxSizeVal","offsetWidth","measure","round","parseFloat","reliableTrDimensionsVal","backgroundClip","clearCloneStyle","boxSizingReliable","pixelPosition","reliableMarginLeft","scrollboxSize","reliableTrDimensions","table","trChild","trStyle","height","parseInt","borderTopWidth","borderBottomWidth","offsetHeight","cssPrefixes","emptyStyle","vendorProps","finalPropName","final","cssProps","capName","vendorPropName","rdisplayswap","rcustomProp","cssShow","visibility","cssNormalTransform","letterSpacing","fontWeight","setPositiveNumber","subtract","max","boxModelAdjustment","dimension","box","isBorderBox","styles","computedVal","extra","delta","ceil","getWidthOrHeight","valueIsBorderBox","offsetProp","getClientRects","Tween","easing","cssHooks","opacity","animationIterationCount","columnCount","fillOpacity","flexGrow","flexShrink","gridArea","gridColumn","gridColumnEnd","gridColumnStart","gridRow","gridRowEnd","gridRowStart","lineHeight","order","orphans","widows","zIndex","zoom","origName","isCustomProp","setProperty","isFinite","getBoundingClientRect","scrollboxSizeBuggy","left","margin","padding","border","prefix","suffix","expand","expanded","parts","propHooks","run","percent","eased","duration","pos","step","fx","scrollTop","scrollLeft","linear","p","swing","cos","PI","fxNow","inProgress","opt","rfxtypes","rrun","schedule","hidden","requestAnimationFrame","interval","tick","createFxNow","genFx","includeWidth","createTween","animation","Animation","tweeners","properties","stopped","prefilters","currentTime","startTime","tweens","opts","specialEasing","originalProperties","originalOptions","gotoEnd","propFilter","bind","complete","timer","anim","*","tweener","oldfire","propTween","restoreDisplay","isBox","dataShow","unqueued","overflow","overflowX","overflowY","prefilter","speed","speeds","fadeTo","to","animate","optall","doAnimation","finish","stopQueue","timers","cssFn","slideDown","slideUp","slideToggle","fadeIn","fadeOut","fadeToggle","slow","fast","delay","time","timeout","clearTimeout","checkOn","optSelected","radioValue","boolHook","removeAttr","nType","attrHooks","attrNames","getter","lowercaseName","rfocusable","rclickable","stripAndCollapse","getClass","classesToArray","removeProp","propFix","tabindex","for","class","addClass","classes","curValue","clazz","finalValue","removeClass","toggleClass","stateVal","isValidValue","classNames","hasClass","rreturn","valHooks","optionSet","focusin","rfocusMorph","stopPropagationCallback","onlyHandlers","bubbleType","ontype","lastElement","eventPath","parentWindow","simulate","triggerHandler","attaches","rquery","parseXML","parserErrorElem","DOMParser","parseFromString","rbracket","rCRLF","rsubmitterTypes","rsubmittable","buildParams","traditional","param","s","valueOrFunction","encodeURIComponent","serialize","serializeArray","r20","rhash","rantiCache","rheaders","rnoContent","rprotocol","transports","allTypes","originAnchor","addToPrefiltersOrTransports","structure","dataTypeExpression","dataType","dataTypes","inspectPrefiltersOrTransports","jqXHR","inspected","seekingTransport","inspect","prefilterOrFactory","dataTypeOrTransport","ajaxExtend","flatOptions","ajaxSettings","active","lastModified","etag","url","isLocal","protocol","processData","async","contentType","accepts","json","responseFields","converters","* text","text html","text json","text xml","ajaxSetup","settings","ajaxPrefilter","ajaxTransport","ajax","transport","cacheURL","responseHeadersString","responseHeaders","timeoutTimer","urlAnchor","fireGlobals","uncached","callbackContext","globalEventContext","completeDeferred","statusCode","requestHeaders","requestHeadersNames","strAbort","getResponseHeader","getAllResponseHeaders","setRequestHeader","overrideMimeType","mimeType","status","abort","statusText","finalText","crossDomain","host","hasContent","ifModified","headers","beforeSend","success","send","nativeStatusText","responses","isSuccess","response","modified","ct","finalDataType","firstDataType","ajaxHandleResponses","conv2","current","conv","dataFilter","throws","ajaxConvert","getJSON","getScript","text script","wrapAll","firstElementChild","wrapInner","htmlIsFunction","unwrap","visible","xhr","XMLHttpRequest","xhrSuccessStatus","0","1223","xhrSupported","cors","errorCallback","open","username","xhrFields","onload","onerror","onabort","ontimeout","onreadystatechange","responseType","responseText","binary","scriptAttrs","charset","scriptCharset","evt","oldCallbacks","rjsonp","jsonp","jsonpCallback","originalSettings","callbackName","overwritten","responseContainer","jsonProp","createHTMLDocument","implementation","keepScripts","parsed","params","animated","offset","setOffset","curPosition","curLeft","curCSSTop","curTop","curOffset","curCSSLeft","curElem","using","rect","win","pageYOffset","pageXOffset","offsetParent","parentOffset","scrollTo","Height","Width","","defaultExtra","funcName","unbind","delegate","undelegate","hover","fnOver","fnOut","proxy","holdReady","hold","parseJSON","isNumeric","isNaN","trim","define","amd","_jQuery","_$","$","noConflict"],"mappings":"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","file":"jquery-3.6.0.min.js"} \ No newline at end of file diff --git a/docs/api/py/_static/language_data.js b/docs/api/py/_static/language_data.js index 250f5665fa64b..367b8ed81b4e4 100644 --- a/docs/api/py/_static/language_data.js +++ b/docs/api/py/_static/language_data.js @@ -5,7 +5,7 @@ * This script contains the language-specific data used by searchtools.js, * namely the list of stopwords, stemmer, scorer and splitter. * - * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. + * :copyright: Copyright 2007-2024 by the Sphinx team, see AUTHORS. * :license: BSD, see LICENSE for details. * */ @@ -13,7 +13,7 @@ var stopwords = ["a", "and", "are", "as", "at", "be", "but", "by", "for", "if", "in", "into", "is", "it", "near", "no", "not", "of", "on", "or", "such", "that", "the", "their", "then", "there", "these", "they", "this", "to", "was", "will", "with"]; -/* Non-minified version is copied as a separate JS file, is available */ +/* Non-minified version is copied as a separate JS file, if available */ /** * Porter Stemmer diff --git a/docs/api/py/_static/material.css b/docs/api/py/_static/material.css new file mode 100644 index 0000000000000..5fa22e886b899 --- /dev/null +++ b/docs/api/py/_static/material.css @@ -0,0 +1,35 @@ +.dropdown { + width: 125px; + vertical-align: middle; +} + +.dropdownbutton { + color: inherit; + font-weight: 700; + font-size: .65rem; + +} + +.dropdown-content { + display: none; + position: absolute; + z-index: 1; + background-color: inherit; +} + +.dropdown-content a { + display: block; + width: 125px; + margin: 8px; + font-size: .65rem; + font-weight: 200; +} + +/* Change color of dropdown links on hover */ +.dropdown-content a:hover {} + +/* Show the dropdown menu on hover */ +.dropdown:hover .dropdown-content {display: block;} + +/* Change the background color of the dropdown button when the dropdown content is shown */ +.dropdown:hover .dropbtn {} \ No newline at end of file diff --git a/docs/api/py/_static/searchtools.js b/docs/api/py/_static/searchtools.js index 97d56a74d8207..b08d58c9b9b9a 100644 --- a/docs/api/py/_static/searchtools.js +++ b/docs/api/py/_static/searchtools.js @@ -4,7 +4,7 @@ * * Sphinx JavaScript utilities for the full-text search. * - * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. + * :copyright: Copyright 2007-2024 by the Sphinx team, see AUTHORS. * :license: BSD, see LICENSE for details. * */ @@ -57,12 +57,12 @@ const _removeChildren = (element) => { const _escapeRegExp = (string) => string.replace(/[.*+\-?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string -const _displayItem = (item, searchTerms) => { +const _displayItem = (item, searchTerms, highlightTerms) => { const docBuilder = DOCUMENTATION_OPTIONS.BUILDER; - const docUrlRoot = DOCUMENTATION_OPTIONS.URL_ROOT; const docFileSuffix = DOCUMENTATION_OPTIONS.FILE_SUFFIX; const docLinkSuffix = DOCUMENTATION_OPTIONS.LINK_SUFFIX; const showSearchSummary = DOCUMENTATION_OPTIONS.SHOW_SEARCH_SUMMARY; + const contentRoot = document.documentElement.dataset.content_root; const [docName, title, anchor, descr, score, _filename] = item; @@ -75,28 +75,35 @@ const _displayItem = (item, searchTerms) => { if (dirname.match(/\/index\/$/)) dirname = dirname.substring(0, dirname.length - 6); else if (dirname === "index/") dirname = ""; - requestUrl = docUrlRoot + dirname; + requestUrl = contentRoot + dirname; linkUrl = requestUrl; } else { // normal html builders - requestUrl = docUrlRoot + docName + docFileSuffix; + requestUrl = contentRoot + docName + docFileSuffix; linkUrl = docName + docLinkSuffix; } let linkEl = listItem.appendChild(document.createElement("a")); linkEl.href = linkUrl + anchor; linkEl.dataset.score = score; linkEl.innerHTML = title; - if (descr) + if (descr) { listItem.appendChild(document.createElement("span")).innerHTML = " (" + descr + ")"; + // highlight search terms in the description + if (SPHINX_HIGHLIGHT_ENABLED) // set in sphinx_highlight.js + highlightTerms.forEach((term) => _highlightText(listItem, term, "highlighted")); + } else if (showSearchSummary) fetch(requestUrl) .then((responseData) => responseData.text()) .then((data) => { if (data) listItem.appendChild( - Search.makeSearchSummary(data, searchTerms) + Search.makeSearchSummary(data, searchTerms, anchor) ); + // highlight search terms in the summary + if (SPHINX_HIGHLIGHT_ENABLED) // set in sphinx_highlight.js + highlightTerms.forEach((term) => _highlightText(listItem, term, "highlighted")); }); Search.output.appendChild(listItem); }; @@ -109,26 +116,43 @@ const _finishSearch = (resultCount) => { ); else Search.status.innerText = _( - `Search finished, found ${resultCount} page(s) matching the search query.` - ); + "Search finished, found ${resultCount} page(s) matching the search query." + ).replace('${resultCount}', resultCount); }; const _displayNextItem = ( results, resultCount, - searchTerms + searchTerms, + highlightTerms, ) => { // results left, load the summary and display it // this is intended to be dynamic (don't sub resultsCount) if (results.length) { - _displayItem(results.pop(), searchTerms); + _displayItem(results.pop(), searchTerms, highlightTerms); setTimeout( - () => _displayNextItem(results, resultCount, searchTerms), + () => _displayNextItem(results, resultCount, searchTerms, highlightTerms), 5 ); } // search finished, update title and status message else _finishSearch(resultCount); }; +// Helper function used by query() to order search results. +// Each input is an array of [docname, title, anchor, descr, score, filename]. +// Order the results by score (in opposite order of appearance, since the +// `_displayNextItem` function uses pop() to retrieve items) and then alphabetically. +const _orderResultsByScoreThenName = (a, b) => { + const leftScore = a[4]; + const rightScore = b[4]; + if (leftScore === rightScore) { + // same score: sort alphabetically + const leftTitle = a[1].toLowerCase(); + const rightTitle = b[1].toLowerCase(); + if (leftTitle === rightTitle) return 0; + return leftTitle > rightTitle ? -1 : 1; // inverted is intentional + } + return leftScore > rightScore ? 1 : -1; +}; /** * Default splitQuery function. Can be overridden in ``sphinx.search`` with a @@ -152,13 +176,26 @@ const Search = { _queued_query: null, _pulse_status: -1, - htmlToText: (htmlString) => { + htmlToText: (htmlString, anchor) => { const htmlElement = new DOMParser().parseFromString(htmlString, 'text/html'); - htmlElement.querySelectorAll(".headerlink").forEach((el) => { el.remove() }); + for (const removalQuery of [".headerlink", "script", "style"]) { + htmlElement.querySelectorAll(removalQuery).forEach((el) => { el.remove() }); + } + if (anchor) { + const anchorContent = htmlElement.querySelector(`[role="main"] ${anchor}`); + if (anchorContent) return anchorContent.textContent; + + console.warn( + `Anchored content block not found. Sphinx search tries to obtain it via DOM query '[role=main] ${anchor}'. Check your theme or template.` + ); + } + + // if anchor not specified or not found, fall back to main content const docContent = htmlElement.querySelector('[role="main"]'); - if (docContent !== undefined) return docContent.textContent; + if (docContent) return docContent.textContent; + console.warn( - "Content block not found. Sphinx search tries to obtain it via '[role=main]'. Could you check your theme or template." + "Content block not found. Sphinx search tries to obtain it via DOM query '[role=main]'. Check your theme or template." ); return ""; }, @@ -231,16 +268,7 @@ const Search = { else Search.deferQuery(query); }, - /** - * execute search (requires search index to be loaded) - */ - query: (query) => { - const filenames = Search._index.filenames; - const docNames = Search._index.docnames; - const titles = Search._index.titles; - const allTitles = Search._index.alltitles; - const indexEntries = Search._index.indexentries; - + _parseQuery: (query) => { // stem the search terms and add them to the correct list const stemmer = new Stemmer(); const searchTerms = new Set(); @@ -276,21 +304,38 @@ const Search = { // console.info("required: ", [...searchTerms]); // console.info("excluded: ", [...excludedTerms]); - // array of [docname, title, anchor, descr, score, filename] - let results = []; + return [query, searchTerms, excludedTerms, highlightTerms, objectTerms]; + }, + + /** + * execute search (requires search index to be loaded) + */ + _performSearch: (query, searchTerms, excludedTerms, highlightTerms, objectTerms) => { + const filenames = Search._index.filenames; + const docNames = Search._index.docnames; + const titles = Search._index.titles; + const allTitles = Search._index.alltitles; + const indexEntries = Search._index.indexentries; + + // Collect multiple result groups to be sorted separately and then ordered. + // Each is an array of [docname, title, anchor, descr, score, filename]. + const normalResults = []; + const nonMainIndexResults = []; + _removeChildren(document.getElementById("search-progress")); - const queryLower = query.toLowerCase(); + const queryLower = query.toLowerCase().trim(); for (const [title, foundTitles] of Object.entries(allTitles)) { - if (title.toLowerCase().includes(queryLower) && (queryLower.length >= title.length/2)) { + if (title.toLowerCase().trim().includes(queryLower) && (queryLower.length >= title.length/2)) { for (const [file, id] of foundTitles) { - let score = Math.round(100 * queryLower.length / title.length) - results.push([ + const score = Math.round(Scorer.title * queryLower.length / title.length); + const boost = titles[file] === title ? 1 : 0; // add a boost for document titles + normalResults.push([ docNames[file], titles[file] !== title ? `${titles[file]} > ${title}` : title, id !== null ? "#" + id : "", null, - score, + score + boost, filenames[file], ]); } @@ -300,46 +345,47 @@ const Search = { // search for explicit entries in index directives for (const [entry, foundEntries] of Object.entries(indexEntries)) { if (entry.includes(queryLower) && (queryLower.length >= entry.length/2)) { - for (const [file, id] of foundEntries) { - let score = Math.round(100 * queryLower.length / entry.length) - results.push([ + for (const [file, id, isMain] of foundEntries) { + const score = Math.round(100 * queryLower.length / entry.length); + const result = [ docNames[file], titles[file], id ? "#" + id : "", null, score, filenames[file], - ]); + ]; + if (isMain) { + normalResults.push(result); + } else { + nonMainIndexResults.push(result); + } } } } // lookup as object objectTerms.forEach((term) => - results.push(...Search.performObjectSearch(term, objectTerms)) + normalResults.push(...Search.performObjectSearch(term, objectTerms)) ); // lookup as search terms in fulltext - results.push(...Search.performTermsSearch(searchTerms, excludedTerms)); + normalResults.push(...Search.performTermsSearch(searchTerms, excludedTerms)); // let the scorer override scores with a custom scoring function - if (Scorer.score) results.forEach((item) => (item[4] = Scorer.score(item))); - - // now sort the results by score (in opposite order of appearance, since the - // display function below uses pop() to retrieve items) and then - // alphabetically - results.sort((a, b) => { - const leftScore = a[4]; - const rightScore = b[4]; - if (leftScore === rightScore) { - // same score: sort alphabetically - const leftTitle = a[1].toLowerCase(); - const rightTitle = b[1].toLowerCase(); - if (leftTitle === rightTitle) return 0; - return leftTitle > rightTitle ? -1 : 1; // inverted is intentional - } - return leftScore > rightScore ? 1 : -1; - }); + if (Scorer.score) { + normalResults.forEach((item) => (item[4] = Scorer.score(item))); + nonMainIndexResults.forEach((item) => (item[4] = Scorer.score(item))); + } + + // Sort each group of results by score and then alphabetically by name. + normalResults.sort(_orderResultsByScoreThenName); + nonMainIndexResults.sort(_orderResultsByScoreThenName); + + // Combine the result groups in (reverse) order. + // Non-main index entries are typically arbitrary cross-references, + // so display them after other results. + let results = [...nonMainIndexResults, ...normalResults]; // remove duplicate search results // note the reversing of results, so that in the case of duplicates, the highest-scoring entry is kept @@ -353,14 +399,19 @@ const Search = { return acc; }, []); - results = results.reverse(); + return results.reverse(); + }, + + query: (query) => { + const [searchQuery, searchTerms, excludedTerms, highlightTerms, objectTerms] = Search._parseQuery(query); + const results = Search._performSearch(searchQuery, searchTerms, excludedTerms, highlightTerms, objectTerms); // for debugging //Search.lastresults = results.slice(); // a copy // console.info("search results:", Search.lastresults); // print the results - _displayNextItem(results, results.length, searchTerms); + _displayNextItem(results, results.length, searchTerms, highlightTerms); }, /** @@ -458,14 +509,18 @@ const Search = { // add support for partial matches if (word.length > 2) { const escapedWord = _escapeRegExp(word); - Object.keys(terms).forEach((term) => { - if (term.match(escapedWord) && !terms[word]) - arr.push({ files: terms[term], score: Scorer.partialTerm }); - }); - Object.keys(titleTerms).forEach((term) => { - if (term.match(escapedWord) && !titleTerms[word]) - arr.push({ files: titleTerms[word], score: Scorer.partialTitle }); - }); + if (!terms.hasOwnProperty(word)) { + Object.keys(terms).forEach((term) => { + if (term.match(escapedWord)) + arr.push({ files: terms[term], score: Scorer.partialTerm }); + }); + } + if (!titleTerms.hasOwnProperty(word)) { + Object.keys(titleTerms).forEach((term) => { + if (term.match(escapedWord)) + arr.push({ files: titleTerms[term], score: Scorer.partialTitle }); + }); + } } // no match but word was a required one @@ -488,9 +543,8 @@ const Search = { // create the mapping files.forEach((file) => { - if (fileMap.has(file) && fileMap.get(file).indexOf(word) === -1) - fileMap.get(file).push(word); - else fileMap.set(file, [word]); + if (!fileMap.has(file)) fileMap.set(file, [word]); + else if (fileMap.get(file).indexOf(word) === -1) fileMap.get(file).push(word); }); }); @@ -541,8 +595,8 @@ const Search = { * search summary for a given text. keywords is a list * of stemmed words. */ - makeSearchSummary: (htmlText, keywords) => { - const text = Search.htmlToText(htmlText); + makeSearchSummary: (htmlText, keywords, anchor) => { + const text = Search.htmlToText(htmlText, anchor); if (text === "") return null; const textLower = text.toLowerCase(); diff --git a/docs/api/py/_static/selenium_logo_small.png b/docs/api/py/_static/selenium_logo_small.png new file mode 100644 index 0000000000000000000000000000000000000000..8028a2be827d0eb51197205d718aae040ca5597b GIT binary patch literal 647 zcmV;20(kw2P)BL^VNpQnm_WbqV^4gWthlI>@xZ$p)+L`V6>XwOt-v9st6-h)v zR5;76l+SC_KorM^>9z;gg5N`60=prkOBcEnmS{axg|M{syx3Y4m9iDI;6WBV=%FyD zf}R$^QjpRWio)teQAB$w6sw?zss}yvkV_TukMPZ;`LRiQ^Bt0zeCEBp?|Uy{r>1gj z2`5;cdy{jCO#s*AKY5 zoTW%RtRGCabU9$SDbT%Wv#Jl!tq)Xv!{rlzNsdXNO0-ki1Af^lK#I#n3GtGpK+T8v z1l(sSz!*s*` zBLag2=-C2o??_nl2@kPbcNjSosYwVDR$z=akKZ(O-ObOPK%xR_EMQ%B*+3H?*g07W zJ)A(tDyvDubt>CdD^mUwI`%lqCl?pHh&srJw$_QvPQzMXTl2Nju)3#TOB_riu&>E} zRJvFhggK`y3iZMzr<+(AM@fIP-XW;^^OVdU4r-DT;v