diff options
Diffstat (limited to 'python-selenium-wire.spec')
-rw-r--r-- | python-selenium-wire.spec | 316 |
1 files changed, 316 insertions, 0 deletions
diff --git a/python-selenium-wire.spec b/python-selenium-wire.spec new file mode 100644 index 0000000..5354a6b --- /dev/null +++ b/python-selenium-wire.spec @@ -0,0 +1,316 @@ +%global _empty_manifest_terminate_build 0 +Name: python-selenium-wire +Version: 5.1.0 +Release: 1 +Summary: Extends Selenium to give you the ability to inspect requests made by the browser. +License: MIT +URL: https://github.com/wkeeling/selenium-wire +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/9f/00/60b39e8a1efe6919d1390f07d84a3eeba4aeae5b829f2f848344c798f783/selenium-wire-5.1.0.tar.gz +BuildArch: noarch + +Requires: python3-blinker +Requires: python3-brotli +Requires: python3-certifi +Requires: python3-kaitaistruct +Requires: python3-pyasn1 +Requires: python3-pyOpenSSL +Requires: python3-pyparsing +Requires: python3-pysocks +Requires: python3-selenium +Requires: python3-wsproto +Requires: python3-zstandard +Requires: python3-dataclasses +Requires: python3-h2 +Requires: python3-hyperframe +Requires: python3-pydivert +Requires: python3-black +Requires: python3-bumpversion +Requires: python3-coverage +Requires: python3-flake8 +Requires: python3-gunicorn +Requires: python3-httpbin +Requires: python3-isort +Requires: python3-mypy +Requires: python3-pre-commit +Requires: python3-pytest +Requires: python3-pytest-cov +Requires: python3-tox +Requires: python3-twine +Requires: python3-werkzeug +Requires: python3-wheel +Requires: python3-mitmproxy + +%description +Selenium Wire extends `Selenium's <https://www.selenium.dev/documentation/en/>`_ Python bindings to give you access to the underlying requests made by the browser. You author your code in the same way as you do with Selenium, but you get extra APIs for inspecting requests and responses and making changes to them on the fly. +Simple Example +~~~~~~~~~~~~~~ + from seleniumwire import webdriver # Import from seleniumwire + # Create a new instance of the Chrome driver + driver = webdriver.Chrome() + # Go to the Google home page + driver.get('https://www.google.com') + # Access requests via the `requests` attribute + for request in driver.requests: + if request.response: + print( + request.url, + request.response.status_code, + request.response.headers['Content-Type'] + ) +Prints: + https://www.google.com/ 200 text/html; charset=UTF-8 + https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_120x44dp.png 200 image/png + https://consent.google.com/status?continue=https://www.google.com&pc=s×tamp=1531511954&gl=GB 204 text/html; charset=utf-8 + https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png 200 image/png + https://ssl.gstatic.com/gb/images/i2_2ec824b0.png 200 image/png + https://www.google.com/gen_204?s=webaft&t=aft&atyp=csi&ei=kgRJW7DBONKTlwTK77wQ&rt=wsrt.366,aft.58,prt.58 204 text/html; charset=UTF-8 +Features +~~~~~~~~ +* Pure Python, user-friendly API +* HTTP and HTTPS requests captured +* Intercept requests and responses +* Modify headers, parameters, body content on the fly +* Capture websocket messages +* HAR format supported +* Proxy server support +Compatibilty +~~~~~~~~~~~~ +* Python 3.7+ +* Selenium 4.0.0+ +* Chrome, Firefox, Edge and Remote Webdriver supported +Table of Contents +~~~~~~~~~~~~~~~~~ +- `Installation`_ + * `Browser Setup`_ + * `OpenSSL`_ +- `Creating the Webdriver`_ +- `Accessing Requests`_ +- `Request Objects`_ +- `Response Objects`_ +- `Intercepting Requests and Responses`_ + * `Example: Add a request header`_ + * `Example: Replace an existing request header`_ + * `Example: Add a response header`_ + * `Example: Add a request parameter`_ + * `Example: Update JSON in a POST request body`_ + * `Example: Basic authentication`_ + * `Example: Block a request`_ + * `Example: Mock a response`_ + * `Unset an interceptor`_ +- `Limiting Request Capture`_ +- `Request Storage`_ + * `In-Memory Storage`_ +- `Proxies`_ + * `SOCKS`_ + * `Switching Dynamically`_ +- `Bot Detection`_ +- `Certificates`_ + * `Using Your Own Certificate`_ +- `All Options`_ +- `License`_ +Installation +~~~~~~~~~~~~ +Install using pip: + pip install selenium-wire +If you get an error about not being able to build cryptography you may be running an old version of pip. Try upgrading pip with ``python -m pip install --upgrade pip`` and then re-run the above command. + +%package -n python3-selenium-wire +Summary: Extends Selenium to give you the ability to inspect requests made by the browser. +Provides: python-selenium-wire +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-selenium-wire +Selenium Wire extends `Selenium's <https://www.selenium.dev/documentation/en/>`_ Python bindings to give you access to the underlying requests made by the browser. You author your code in the same way as you do with Selenium, but you get extra APIs for inspecting requests and responses and making changes to them on the fly. +Simple Example +~~~~~~~~~~~~~~ + from seleniumwire import webdriver # Import from seleniumwire + # Create a new instance of the Chrome driver + driver = webdriver.Chrome() + # Go to the Google home page + driver.get('https://www.google.com') + # Access requests via the `requests` attribute + for request in driver.requests: + if request.response: + print( + request.url, + request.response.status_code, + request.response.headers['Content-Type'] + ) +Prints: + https://www.google.com/ 200 text/html; charset=UTF-8 + https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_120x44dp.png 200 image/png + https://consent.google.com/status?continue=https://www.google.com&pc=s×tamp=1531511954&gl=GB 204 text/html; charset=utf-8 + https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png 200 image/png + https://ssl.gstatic.com/gb/images/i2_2ec824b0.png 200 image/png + https://www.google.com/gen_204?s=webaft&t=aft&atyp=csi&ei=kgRJW7DBONKTlwTK77wQ&rt=wsrt.366,aft.58,prt.58 204 text/html; charset=UTF-8 +Features +~~~~~~~~ +* Pure Python, user-friendly API +* HTTP and HTTPS requests captured +* Intercept requests and responses +* Modify headers, parameters, body content on the fly +* Capture websocket messages +* HAR format supported +* Proxy server support +Compatibilty +~~~~~~~~~~~~ +* Python 3.7+ +* Selenium 4.0.0+ +* Chrome, Firefox, Edge and Remote Webdriver supported +Table of Contents +~~~~~~~~~~~~~~~~~ +- `Installation`_ + * `Browser Setup`_ + * `OpenSSL`_ +- `Creating the Webdriver`_ +- `Accessing Requests`_ +- `Request Objects`_ +- `Response Objects`_ +- `Intercepting Requests and Responses`_ + * `Example: Add a request header`_ + * `Example: Replace an existing request header`_ + * `Example: Add a response header`_ + * `Example: Add a request parameter`_ + * `Example: Update JSON in a POST request body`_ + * `Example: Basic authentication`_ + * `Example: Block a request`_ + * `Example: Mock a response`_ + * `Unset an interceptor`_ +- `Limiting Request Capture`_ +- `Request Storage`_ + * `In-Memory Storage`_ +- `Proxies`_ + * `SOCKS`_ + * `Switching Dynamically`_ +- `Bot Detection`_ +- `Certificates`_ + * `Using Your Own Certificate`_ +- `All Options`_ +- `License`_ +Installation +~~~~~~~~~~~~ +Install using pip: + pip install selenium-wire +If you get an error about not being able to build cryptography you may be running an old version of pip. Try upgrading pip with ``python -m pip install --upgrade pip`` and then re-run the above command. + +%package help +Summary: Development documents and examples for selenium-wire +Provides: python3-selenium-wire-doc +%description help +Selenium Wire extends `Selenium's <https://www.selenium.dev/documentation/en/>`_ Python bindings to give you access to the underlying requests made by the browser. You author your code in the same way as you do with Selenium, but you get extra APIs for inspecting requests and responses and making changes to them on the fly. +Simple Example +~~~~~~~~~~~~~~ + from seleniumwire import webdriver # Import from seleniumwire + # Create a new instance of the Chrome driver + driver = webdriver.Chrome() + # Go to the Google home page + driver.get('https://www.google.com') + # Access requests via the `requests` attribute + for request in driver.requests: + if request.response: + print( + request.url, + request.response.status_code, + request.response.headers['Content-Type'] + ) +Prints: + https://www.google.com/ 200 text/html; charset=UTF-8 + https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_120x44dp.png 200 image/png + https://consent.google.com/status?continue=https://www.google.com&pc=s×tamp=1531511954&gl=GB 204 text/html; charset=utf-8 + https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png 200 image/png + https://ssl.gstatic.com/gb/images/i2_2ec824b0.png 200 image/png + https://www.google.com/gen_204?s=webaft&t=aft&atyp=csi&ei=kgRJW7DBONKTlwTK77wQ&rt=wsrt.366,aft.58,prt.58 204 text/html; charset=UTF-8 +Features +~~~~~~~~ +* Pure Python, user-friendly API +* HTTP and HTTPS requests captured +* Intercept requests and responses +* Modify headers, parameters, body content on the fly +* Capture websocket messages +* HAR format supported +* Proxy server support +Compatibilty +~~~~~~~~~~~~ +* Python 3.7+ +* Selenium 4.0.0+ +* Chrome, Firefox, Edge and Remote Webdriver supported +Table of Contents +~~~~~~~~~~~~~~~~~ +- `Installation`_ + * `Browser Setup`_ + * `OpenSSL`_ +- `Creating the Webdriver`_ +- `Accessing Requests`_ +- `Request Objects`_ +- `Response Objects`_ +- `Intercepting Requests and Responses`_ + * `Example: Add a request header`_ + * `Example: Replace an existing request header`_ + * `Example: Add a response header`_ + * `Example: Add a request parameter`_ + * `Example: Update JSON in a POST request body`_ + * `Example: Basic authentication`_ + * `Example: Block a request`_ + * `Example: Mock a response`_ + * `Unset an interceptor`_ +- `Limiting Request Capture`_ +- `Request Storage`_ + * `In-Memory Storage`_ +- `Proxies`_ + * `SOCKS`_ + * `Switching Dynamically`_ +- `Bot Detection`_ +- `Certificates`_ + * `Using Your Own Certificate`_ +- `All Options`_ +- `License`_ +Installation +~~~~~~~~~~~~ +Install using pip: + pip install selenium-wire +If you get an error about not being able to build cryptography you may be running an old version of pip. Try upgrading pip with ``python -m pip install --upgrade pip`` and then re-run the above command. + +%prep +%autosetup -n selenium-wire-5.1.0 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-selenium-wire -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Mon Apr 10 2023 Python_Bot <Python_Bot@openeuler.org> - 5.1.0-1 +- Package Spec generated |