15

Próbowano ustawić rozmiar przeglądarki na chrome --headless za pomocą poleceń Selenium webdriver.Jak ustawić rozmiar okna przeglądarki podczas używania `google-chrome --headless`?

otrzymuję ten błąd webdriver:

 - Failed: unknown error: cannot get automation extension 
from unknown error: page could not be found: chrome-extension://aapnijgdinlhnhlmodcfapnahmbfebeb/_generated_background_page.html 
    (Session info: headless chrome=58.0.3029.81) 
    (Driver info: chromedriver=2.29.461571 (8a88bbe0775e2a23afda0ceaf2ef7ee74e822cc5),platform=Linux 4.4.0-72-generic x86_64) (WARNING: The server did not provide any stacktrace information) 
Command duration or timeout: 10.07 seconds 
Build info: version: '3.3.1', revision: '5234b32', time: '2017-03-10 09:04:52 -0800' 
System info: host: '826f6a766112', ip: '172.17.0.2', os.name: 'Linux', os.arch: 'amd64', os.version: '4.4.0-72-generic', java.version: '1.8.0_121' 
Driver info: org.openqa.selenium.chrome.ChromeDriver 
Capabilities [{applicationCacheEnabled=false, rotatable=false, mobileEmulationEnabled=false, networkConnectionEnabled=false, chrome={chromedriverVersion=2.29.461571 (8a88bbe0775e2a23afda0ceaf2ef7ee74e822cc5), userDataDir=/tmp/.org.chromium.Chromium.cuymDL}, takesHeapSnapshot=true, pageLoadStrategy=normal, databaseEnabled=false, handlesAlerts=true, hasTouchScreen=false, version=58.0.3029.81, platform=LINUX, browserConnectionEnabled=false, nativeEvents=true, acceptSslCerts=true, locationContextEnabled=true, webStorageEnabled=true, browserName=chrome, takesScreenshot=true, javascriptEnabled=true, cssSelectorsEnabled=true, unexpectedAlertBehaviour=}] 
Session ID: 9569e5ebd8f7540ce510b20647443baf 
+0

Czy możesz podać następujące informacje: 1. Którą bezgłową przeglądarkę używasz HtmlUnitDriver lub PhantomJSDriver? 2. Czy możesz udostępnić adres URL, do którego próbujesz uzyskać dostęp? 3. Jakie są twoje kroki? 4. Jakiego błędu obserwujesz? – DebanjanB

+0

Bez Phantom, to prawdziwa przeglądarka Chrome, naprawdę bezgłosowa. Znalazłem odpowiedź, patrz poniżej. –

Odpowiedz

29

Znaleziona, wystarczy przejść wiersza poleceń --window-sizeargument Google Chrome, na przykład --window-size=1920,1080

W Protractor config to będzie wyglądać następująco:

capabilities: { 
    browserName: 'chrome', 
    chromeOptions: { 
     args: ['headless', 'window-size=1920,1080'] 
    } 
} 

Fajną rzeczą jest to, że rozmiar okna nie jest ograniczony do bieżącego ekranu, jest naprawdę zaostrzony znaczenie dong może być tak duże, jak potrzeba do testów.

kod

Java:

options.addArguments("window-size=1920,1080"); 

ja poszerzyć nieco więcej na ten temat tutaj: https://stackoverflow.com/a/43542416/511069

+1

Dla osób korzystających z wersji java użyj: options.addArguments ("window-size = 1920x1080"); zamiast: options.addArguments ("rozmiar okna", "1920x1080"); – alknows

+1

To nie działało dla mnie na MacOS, ale 'window-size = 1920,1080' zrobił (zauważ przecinek). Znajduje to również odzwierciedlenie w połączonej dokumentacji. –

+0

Dzięki Jamie! Naprawiony!! –

0

Zdaję sobie sprawę, że jest to trochę późno, ale dlaczego nie wystarczy użyć wbudowanego w selen?

aDriver.manage().window().setSize(new Dimension(width, height)); 

Działa jak mistrz. Użyłem go do FireFox, Chrome (nawet bezgłowego) i Edge.