Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
selenium-wire — Extiende los bindings de Python de Selenium para darte la capacidad de inspeccionar las solicitudes realizadas por el navegador. | Kitploit
Herramientas/GitHubGitHub/wkeeling/selenium-wire
Proxies Web e InterceptaciónPruebas de Seguridad de APIsRecopilación de InformaciónSeguridad WebPruebas de PenetraciónArchived
GitHubwkeeling/selenium-wire

selenium-wire

Extiende los bindings de Python de Selenium para darte la capacidad de inspeccionar las solicitudes realizadas por el navegador.

Ver Repositorio
2.0k28022hace 2 añosRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Selenium Wire ya no recibe mantenimiento. Gracias por tu apoyo y todas tus contribuciones.

Selenium Wire

Selenium Wire extiende los enlaces de Python de Selenium <https://www.selenium.dev/documentation/en/>_ para darte acceso a las solicitudes subyacentes realizadas por el navegador. Escribes tu código de la misma manera que lo haces con Selenium, pero obtienes APIs adicionales para inspeccionar solicitudes y respuestas y modificarlas sobre la marcha.

.. image:: https://github.com/wkeeling/selenium-wire/workflows/build/badge.svg :target: https://github.com/wkeeling/selenium-wire/actions

.. image:: https://codecov.io/gh/wkeeling/selenium-wire/branch/master/graph/badge.svg :target: https://codecov.io/gh/wkeeling/selenium-wire

.. image:: https://img.shields.io/badge/python-3.7%2C%203.8%2C%203.9%2C%203.10-blue.svg :target: https://pypi.python.org/pypi/selenium-wire

.. image:: https://img.shields.io/pypi/v/selenium-wire.svg :target: https://pypi.python.org/pypi/selenium-wire

.. image:: https://img.shields.io/pypi/l/selenium-wire.svg :target: https://pypi.python.org/pypi/selenium-wire

.. image:: https://pepy.tech/badge/selenium-wire/month :target: https://pepy.tech/project/selenium-wire

Ejemplo Sencillo~~~~~~~~~~~~~~

.. code:: python

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:

.. code:: bash

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&timestamp=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

- `Instalación`_

  * `Configuración del Navegador`_

  * `OpenSSL`_

- `Creando el Webdriver`_

- `Accediendo a las Solicitudes`_

- `Objetos de Solicitud`_

- `Objetos de Respuesta`_

- `Interceptando Solicitudes y Respuestas`_

  * `Ejemplo: Añadir una cabecera de solicitud`_
  * `Ejemplo: Reemplazar una cabecera de solicitud existente`_
  * `Ejemplo: Añadir una cabecera de respuesta`_
  * `Ejemplo: Añadir un parámetro de solicitud`_
  * `Ejemplo: Actualizar JSON en el cuerpo de una solicitud POST`_
  * `Ejemplo: Autenticación básica`_
  * `Ejemplo: Bloquear una solicitud`_
  * `Ejemplo: Simular una respuesta`_
  * `Eliminar un interceptor`_

- `Limitando la Captura de Solicitudes`_

- `Almacenamiento de Solicitudes`_

  * `Almacenamiento en Memoria`_

- `Proxies`_

  * `SOCKS`_

  * `Cambiando Dinámicamente`_

- `Detección de Bots`_

- `Certificados`_

  * `Usando su Propio Certificado`_

- `Todas las Opciones`_

- `Licencia`_

Instalación~~~~~~~~~~~~

Install using pip:

.. code:: bash

    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.

Browser Setup
-------------

No specific configuration should be necessary except to ensure that you have downloaded the relevent webdriver executable for your browser and placed it somewhere on your system PATH.

- `Download <https://sites.google.com/chromium.org/driver/>`__ webdriver for Chrome
- `Download <https://github.com/mozilla/geckodriver/>`__ webdriver for Firefox
- `Download <https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/>`__ webdriver for Edge

OpenSSL
-------

Selenium Wire requires OpenSSL for decrypting HTTPS requests. This is probably already installed on your system (you can check by running ``openssl version`` on the command line). If it's not installed you can install it with:

**Linux**

.. code:: bash

    # For apt based Linux systems
    sudo apt install openssl

    # For RPM based Linux systems
    sudo yum install openssl

    # For Linux alpine
    sudo apk add openssl

**MacOS**

.. code:: bash

    brew install openssl

**Windows**

No installation is required.

Creating the Webdriver

Asegúrate de importar webdriver desde el paquete seleniumwire:

.. code:: python

from seleniumwire import webdriver

Después solo instancia el webdriver como lo harías si estuvieras usando Selenium directamente. Puedes pasar las capacidades que desees u opciones específicas del navegador, como la ruta del ejecutable, el modo headless, etc. Selenium Wire también tiene sus propias opciones_ que se pueden pasar en el atributo seleniumwire_options.

.. code:: python

# Create the driver with no options (use defaults)
driver = webdriver.Chrome()

# Or create using browser specific options and/or seleniumwire_options options
driver = webdriver.Chrome(
    options = webdriver.ChromeOptions(...),
    seleniumwire_options={...}
)

.. _own options: #all-options

Ten en cuenta que para los subpaquetes de webdriver, debes seguir importándolos directamente desde selenium. Por ejemplo, para importar WebDriverWait:

.. code:: python

# Sub-packages of webdriver must still be imported from `selenium` itself
from selenium.webdriver.support.ui import WebDriverWait

Webdriver remoto

Selenium Wire tiene soporte limitado para usar el cliente webdriver remoto. Cuando creas una instancia del webdriver remoto, debes especificar el nombre de host o la dirección IP de la máquina (o contenedor) que ejecuta Selenium Wire. Esto permite que la instancia remota se comunique de vuelta con Selenium Wire para enviar sus solicitudes y respuestas.

.. code:: python

options = {
    'addr': 'hostname_or_ip'  # Address of the machine running Selenium Wire. Explicitly use 127.0.0.1 rather than localhost if remote session is running locally.
}
driver = webdriver.Remote(
    command_executor='http://www.example.com',
    seleniumwire_options=options
)

Si la máquina que ejecuta el navegador necesita usar una dirección diferente para comunicarse con la máquina que ejecuta Selenium Wire, debes configurar el navegador manualmente. Este problema <https://github.com/wkeeling/selenium-wire/issues/220>_ entra en más detalle.

Acceso a las solicitudes~~~~~~~~~~~~~~~~~~

Selenium Wire captures all HTTP/HTTPS traffic made by the browser [1]_. The following attributes provide access to requests and responses.

driver.requests The list of captured requests in chronological order.

driver.last_request Convenience attribute for retrieving the most recently captured request. This is more efficient than using driver.requests[-1].

Descargar herramienta