Zugriff auf ein vorhanden Browserinstanz

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
tobias.billen
User
Beiträge: 5
Registriert: Montag 30. Juli 2018, 14:47

Glückauf zusammen,

ich möchte gerne auf eine aktive Instanz von Chrome zugrifen.

Dieses würde ich so erstellen:

Code: Alles auswählen

from selenium import webdriver

driver = webdriver.Chrome('chromedriver.exe')
driver.get('https://myurl.com/')
Dieser Code öffnet immer eine neue Instanz. Dass will ich nicht, sondern ich will in einer bereits offnen Instanz (sofern sie existiert) mein Script laufen lassen.

Viele Grüße aus dem Pott

Tobias Billen
__deets__
User
Beiträge: 14529
Registriert: Mittwoch 14. Oktober 2015, 14:29

Das geht AFAIK nicht. Und das finde ich auch recht gut, denn sonst kann ein malizioeses Programm meinen Browser fernsteuern, und zB via PayPal irgendwelche Summen ueberweisen. Wenn du das nur fuer dich persoenlich machen willst, musst du wohl einen remote debugging port oeffnen, wenn du Chrom startest. Dann sollte das gehen.
tobias.billen
User
Beiträge: 5
Registriert: Montag 30. Juli 2018, 14:47

Vielen Dank für deine Antwort.

Ich selber bin nicht auf die Idee gekommen, diesen Ansatz so kriminell auszunutzen. Bevor ich eine Sackgasse renne, habe ich noch eine Verständnisfrage: Ich kann (bzw. Ich sollte) keine Webdienste über ein Python Script steuern? Oder kann kann ich über einen persönlichen remote debugging portauf die Webdienste zugreifen?

Viele Grüße aus dem Pott

Tobias Billen
__deets__
User
Beiträge: 14529
Registriert: Mittwoch 14. Oktober 2015, 14:29

Du kannst nicht, weil der Browser das nicht zulaesst. Damit sowas wie Selenium funktioniert, muss er speziell gestartet werden, eben mit dieser debugging-Option. Dann erlaubt er eine Fernsteuerung. Damit wird eben verhindert, dass jemand einfach so auf einem laufenden System mit Browser diesen Uebernimmt. Der User muss schon bewusst einen Debugging-Browser starten (explizit, oder in 99.9% der Faelle implizit eben ueber den Driver wie du es ja oben beschreibst).
Antworten