1

Ich habe neueste Google Chrome 57.0.2987.110, auf meinem Ubuntu-Server (16.04) installiert. Ich benutze Baldachin (das ist F # Wrapper für Selen). Ich lege den neuesten Chromtreiber in den gleichen Ordner wie meine Binärversion, 2.28.455506 (und ich habe den richtigen Pfad zum Treiber eingestellt)."Kann nicht automation extension" Fehler auf headless Chrom mit Selenium (Ubuntu)

Ich fange an Chrom mit --headless Argument, wie folgt aus:

let chromeOpts = ChromeOptions() 
    chromeOpts.AddArgument "--headless" 
    chromeOpts.AddArgument "--disable-gpu" 
    chromeOpts.AddArgument "start-maximized" 

    start <| ChromeWithOptions chromeOpts 

Sobald es beginnt ich diesen Fehler:

[ERROR] FATAL UNHANDLED EXCEPTION: System.InvalidOperationException: unknown error: cannot get automation extension from unknown error: page could not be found: chrome-extension://aapnijgdinlhnhlmodcfapnahmbfebeb/_generated_background_page.html (Session info: content shell=) (Driver info: chromedriver=2.28.455506 (18f6627e265f442aeec9b6661a49fe819aeeea1f),platform=Linux 4.4.0-64-generic x86_64) at OpenQA.Selenium.Remote.RemoteWebDriver.UnpackAndThrowOnError (OpenQA.Selenium.Remote.Response errorResponse) [0x000d5] in <2096f357ed27440a8e98c8a8dd645cdd>:0 at OpenQA.Selenium.Remote.RemoteWebDriver.Execute (System.String driverCommandToExecute, System.Collections.Generic.Dictionary`2[TKey,TValue] parameters) [0x00046] in <2096f357ed27440a8e98c8a8dd645cdd>:0 at OpenQA.Selenium.Remote.RemoteWebDriver.InternalExecute (System.String driverCommandToExecute, System.Collections.Generic.Dictionary 2[TKey,TValue] parameters) [0x00000] in <2096f357ed27440a8e98c8a8dd645cdd>:0 at OpenQA.Selenium.Remote.RemoteWindow.set_Size (System.Drawing.Size value) [0x00067] in <2096f357ed27440a8e98c8a8dd645cdd>:0 at canopy.core.pin (canopy.types+direction direction) [0x0002f] in <58c4b5b9d8107025a7450383b9b5c458>:0 at canopy.core.start (canopy.types+BrowserStartMode b) [0x0050c] in <58c4b5b9d8107025a7450383b9b5c458>:0

Es ist scheint, dass es Fenstergröße einzustellen ausfällt. Ist es richtig, Headless Chrome zu starten? Ich habe irgendwo gelesen, dass die neueste Version eine Headless-Funktion hat. Da ich die neueste Version sowohl von Google Chrome als auch von Chromedriver benutze, sollte es meiner Meinung nach keine Versionskonflikte geben.

Auch es funktioniert gut auf einem lokalen Windows 10 Maschine mit der gleichen Version von verchromten Laufwerk (nur für Windows).

Antwort

1

mit Befehl ausführen (und ohne kopflos Argument):

DISPLAY=:1 xvfb-run mono myapp.exe

scheint zu funktionieren. Ich denke, das löst mein Problem. Ich verlasse es hier für andere, die nach einem Weg suchen, um kopfloses Chrom zu fahren und dasselbe Problem zu haben.

Diese Lösung kommt aus: http://coderscoffeehouse.com/tech/2017/01/17/headless-front-end-testing-on-linux-using-fsharp.html

+0

Bitte vergessen Sie nicht, zurück zu kommen und dies als Antwort zu markieren. Vielen Dank! – JeffC

1

Es ist ein offenes Chromium issue zu diesem Thema. Darin heißt es:

Headless mode doesn't currently support extensions, and it's not clear whether we can support them easily -- although we are doing some initial feasibility analysis.

Wie @mateuszlewko vorgeschlagen, die X Virtuelle Framebuffer (XVFB) kann als Linux Abhilfe verwendet werden.

Verwandte Themen