Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
selenium-wire — Erweitert die Python-Bindings von Selenium, damit Sie die vom Browser gesendeten Anfragen untersuchen können. | Kitploit
Tools/GitHubGitHub/wkeeling/selenium-wire
Web-Proxys & AbfangenAPI-SicherheitstestsInformationsbeschaffungWebsicherheitPenetrationstestsArchived
GitHubwkeeling/selenium-wire

selenium-wire

Erweitert die Python-Bindings von Selenium, damit Sie die vom Browser gesendeten Anfragen untersuchen können.

Repository anzeigen
2.0k28021vor 2 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Selenium Wire wird nicht mehr gepflegt. Vielen Dank für deine Unterstützung und alle deine Beiträge.

Selenium Wire

Selenium Wire erweitert die Python-Bindings von Selenium <https://www.selenium.dev/documentation/en/>_, um dir Zugriff auf die zugrunde liegenden Anfragen des Browsers zu geben. Du schreibst deinen Code auf dieselbe Weise wie mit Selenium, erhältst aber zusätzliche APIs, um Anfragen und Antworten zu untersuchen und sie spontan zu ändern.

.. 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

Einfaches Beispiel~~~~~~~~~~~~~~

.. 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

- `Installation`_

  * `Browser-Einrichtung`_

  * `OpenSSL`_

- `Erstellen des Webdrivers`_

- `Zugriff auf Requests`_

- `Request-Objekte`_

- `Response-Objekte`_

- `Abfangen von Requests und Responses`_

  * `Beispiel: Einen Request-Header hinzufügen`_
  * `Beispiel: Einen vorhandenen Request-Header ersetzen`_
  * `Beispiel: Einen Response-Header hinzufügen`_
  * `Beispiel: Einen Request-Parameter hinzufügen`_
  * `Beispiel: JSON in einem POST-Request-Body aktualisieren`_
  * `Beispiel: Basis-Authentifizierung`_
  * `Beispiel: Einen Request blockieren`_
  * `Beispiel: Eine Response mocken`_
  * `Interceptor aufheben`_

- `Begrenzung der Request-Erfassung`_

- `Request-Speicherung`_

  * `In-Memory-Speicherung`_

- `Proxys`_

  * `SOCKS`_

  * `Dynamisches Umschalten`_

- `Bot-Erkennung`_

- `Zertifikate`_

  * `Verwenden eines eigenen Zertifikats`_

- `Alle Optionen`_

- `Lizenz`_

Installation~~~~~~~~~~~~

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

Stellen Sie sicher, dass Sie webdriver aus dem Paket seleniumwire importieren:

.. code:: python

from seleniumwire import webdriver

Instanziieren Sie dann einfach den Webdriver, so wie Sie es tun würden, wenn Sie Selenium direkt verwenden. Sie können beliebige gewünschte Fähigkeiten oder browserspezifische Optionen übergeben – wie etwa den Pfad zur ausführbaren Datei, den Headless-Modus usw. Selenium Wire verfügt außerdem über eigene Optionen_, die im Attribut seleniumwire_options übergeben werden können.

.. code:: python

# Den Treiber ohne Optionen erstellen (Standardwerte verwenden)
driver = webdriver.Chrome()

# Oder mit browserspezifischen Optionen und/oder seleniumwire_options erstellen
driver = webdriver.Chrome(
    options = webdriver.ChromeOptions(...),
    seleniumwire_options={...}
)

.. _eigene Optionen: #all-options

Beachten Sie, dass Sie für Unterpakete von webdriver diese weiterhin direkt aus selenium importieren sollten. Um beispielsweise WebDriverWait zu importieren:

.. code:: python

# Unterpakete von webdriver müssen weiterhin aus `selenium` selbst importiert werden
from selenium.webdriver.support.ui import WebDriverWait

Remote-Webdriver

Selenium Wire bietet eingeschränkte Unterstützung für die Verwendung des Remote-Webdriver-Clients. Wenn Sie eine Instanz des Remote-Webdrivers erstellen, müssen Sie den Hostnamen oder die IP-Adresse des Rechners (oder Containers) angeben, auf dem Selenium Wire ausgeführt wird. Dadurch kann die Remote-Instanz ihre Anfragen und Antworten an Selenium Wire zurücksenden.

.. code:: python

options = {
    'addr': 'hostname_or_ip'  # Adresse des Rechners, auf dem Selenium Wire ausgeführt wird. Verwenden Sie explizit 127.0.0.1 statt localhost, wenn die Remote-Sitzung lokal ausgeführt wird.
}
driver = webdriver.Remote(
    command_executor='http://www.example.com',
    seleniumwire_options=options
)

Wenn der Rechner, auf dem der Browser ausgeführt wird, eine andere Adresse verwenden muss, um mit dem Rechner zu kommunizieren, auf dem Selenium Wire läuft, müssen Sie den Browser manuell konfigurieren. Dieses Problem <https://github.com/wkeeling/selenium-wire/issues/220>_ geht näher darauf ein.

Zugriff auf Anfragen~~~~~~~~~~~~~~~~~~

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].

Tool herunterladen