browser.get funktioniert nur mit Fehler nachdem Webdriver mit Addon installiert wurde

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
BOTFerris
User
Beiträge: 1
Registriert: Donnerstag 16. April 2020, 12:02

Hallo,
ich bin unerfahrener Programmierer, deshalb kann die Antwort zu meiner Frage trivial erscheinen.
Folgendes: Ich benutze Selenium zur Erstellung eines Skripts, um automatisch Webaufgaben zu erledigen. Ich benutzte PyCharm als Entwicklungsumgebung.
Für den Skript ist es notwendig zwei Addons zu installieren: Temporary Containers und AddBlocker. Mit Temporary Containers kann ich mehrere Sessions pro Tab in einem Browser öffnen, ohne dass Tabübergreifend die Cookies interferieren. Nachdem ich Firefoxprofil und Addon importiert und installiert habe, versuche ich eine beliebige Website aufzurufen. Leider kommt es bei der Console immer zu einer Fehlermeldung, die ich nachfolgend erkläre und verlinke: Wenn der Skript ausgeführt wird, startet der webdriver mit insgesamt zwei tabs. Im Hintergrund ist ein leerer Tab, und im Vordergrundtab werden die Addons Einstellungen angezeigt. Wenn ich jetzt jedoch einen Link via "browser.get" öffnen möchte, öffnet sich zwar im Hintergrundtab die Seite, aber es kommt zur obengenannten Fehlermeldung. Desweiteren "nervt" einfach das Addons Optionen Fenster im Vordertab. Habe versucht über "send.keys( CONTROL + W)" die Addonoptionen zu schliessen, jedoch schliesst sich der Hintergrundtab und nicht die Addonseite.

Nachfolgend mein Skriptcode:

Code: Alles auswählen

fp = webdriver.FirefoxProfile('C:\\...\\Mozilla\\Firefox\\Profiles\\dnxvlffg.default-release-1586872158742')
browser = webdriver.Firefox(fp)
extension_dir = 'C:\\...\\Mozilla\\Firefox\\Profiles\\dnxvlffg.default-release-1586872158742\\extensions\\'
extensions = [
    '{c607c8df-14a7-4f28-894f-29e8722976af}.xpi',
    'uBlock0@raymondhill.net.xpi',
]
for extension in extensions:
    browser.install_addon(extension_dir + extension, temporary=True)
time.sleep(3)
browser.get('www.google.de')
Nachfolgend ein Screenshot vom Browser nach Beendigung des Skripts:
Bild

Nachfolgend die Fehlermeldung in der Konsole:

Code: Alles auswählen

Traceback (most recent call last):
  File "D:/Privat/Projects/untitled2/testenvi.py", line 21, in <module>
    browser.get('https://www.google.de/?gws_rd=ssl')
  File "D:\Privat\Projects\untitled2\venv\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 333, in get
    self.execute(Command.GET, {'url': url})
  File "D:\Privat\Projects\untitled2\venv\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 321, in execute
    self.error_handler.check_response(response)
  File "D:\Privat\Projects\untitled2\venv\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: TypeError: this.curBrowser.contentBrowser is null
Hoffe mir jemand Helfen.

Danke im Vorraus.
Antworten