2017-07-28 25 views
6

Gần đây tôi đã nâng cấp phiên bản chrome lên 60 và chromedriver lên phiên bản 2.31. Đăng rằng tôi đã bắt đầu nhận được ngoại lệ sau đây khi tôi cố gắng tối đa hóa cửa sổ trình duyệt.Không thể tối đa hóa Cửa sổ Chrome ở chế độ không đầu

driver.driver.manage().window().maximize() 

org.openqa.selenium.WebDriverException: unknown error: failed to change window state to maximized, current state is normal (Session info: chrome=60.0.3112.78) (Driver info: chromedriver=2.31.488763 (092de99f48a300323ecf8c2a4e2e7cab51de5ba8),platform=Linux 4.2.0-27-generic x86_64) (WARNING: The server did not provide any stacktrace information) Command duration or timeout: 108 milliseconds Build info: version: '2.53.1', revision: 'a36b8b1cd5757287168e54b817830adce9b0158d', time: '2016-06-30 19:26:09' System info: host: 'bb-blr-prod-stage-stg1-01', ip: '10.3.211.2', os.name: 'Linux', os.arch: 'amd64', os.version: '4.2.0-27-generic', java.version: '1.7.0_80' Session ID: c7de7149dd490cc7760d2f4fc49f0325 Driver info: org.openqa.selenium.chrome.ChromeDriver Capabilities [{platform=LINUX, acceptSslCerts=true, javascriptEnabled=true, browserName=chrome, chrome={userDataDir=/tmp/.org.chromium.Chromium.WABPhO, chromedriverVersion=2.31.488763 (092de99f48a300323ecf8c2a4e2e7cab51de5ba8)}, networkConnectionEnabled=false, unexpectedAlertBehaviour=, rotatable=false, setWindowRect=true, locationContextEnabled=true, mobileEmulationEnabled=false, pageLoadStrategy=normal, version=60.0.3112.78, takesHeapSnapshot=true, cssSelectorsEnabled=true, databaseEnabled=false, handlesAlerts=true, browserConnectionEnabled=false, webStorageEnabled=true, nativeEvents=true, hasTouchScreen=false, applicationCacheEnabled=false, takesScreenshot=true}]

tôi chạy thử nghiệm của tôi trong chế độ không đầu sử dụng ChromeDriver trên Geb.

  • phiên bản Chrome - 60.0.3112.78
  • chromedriver phiên bản - 2.31.488763
  • OS - Ubuntu 14.04.4 LTS
  • Selenium phiên bản - 2.53.1
  • WebDriver Ngôn ngữ Bindings
  • Geb - 0.13.1
+0

bindings nào Selenium (ngôn ngữ)? – DebanjanB

Trả lời

0

Đây là câu trả lời cho câu hỏi của bạn:

Trên một suy nghĩ đầu tiên tôi sẽ đề nghị bạn thay đổi dòng mã một chút:

Thay đổi:

driver.driver.manage().window().maximize() 

Để:

driver.manage().window().maximize() 

Trong trường hợp nó không giúp đỡ, giả sử các liên kết Selenium của bạn là Java và sử dụng Chrome ở chế độ headless theo thực tiễn tốt nhất, bạn nên tối đa hóa trình duyệt Google Chrome thông qua ChromeOptions lớp học như sau:

System.setProperty("webdriver.chrome.driver", "C:\\Utility\\BrowserDrivers\\chromedriver.exe"); 
ChromeOptions options = new ChromeOptions(); 
options.addArguments("--headless"); 
options.addArguments("start-maximized"); 
WebDriver driver = new ChromeDriver(options); 
driver.navigate().to("https://google.com"); 
7

Vì bạn đang chạy thử ở chế độ không đầu, không có cửa sổ trình duyệt nào có sẵn active. Như vậy,

driver.driver.manage().window().maximize() 

sẽ luôn thất bại trong trường hợp này vì người lái xe không biết cửa sổ nào tối đa vì không có sẵn.

Bạn có thể làm theo những gì @DebanjanB đã đề cập hoặc bạn có thể khởi động trình duyệt không đầu với một kích thước màn hình cụ thể như 1440x900 vv, làm một cái gì đó như thế này

driver.manage().window().setSize(new Dimension(1440, 900)); 
0

Tôi đang sử dụng chromedriver 2.30 & chrome V60 trình duyệt thông qua thước đo góc. Tôi chạy các bài kiểm tra không đầu quá mặc dù tôi không làm điều đó thông qua chromeoptions. Thay vào đó tôi chạy thử nghiệm không đầu sử dụng xvfb-run trên một bản phân phối unix. Tôi gặp phải vấn đề này cũng mặc dù nó không ngẫu nhiên đối với tôi. Xem ngăn xếp dưới

[chrome #11]  [31mWebDriverError: unknown error: failed to change window state to maximized, current state is normal 
[chrome #11]   (Session info: chrome=60.0.3112.78) 
[chrome #11]   (Driver info: chromedriver=2.30.477691 (6ee44a7247c639c0703f291d320bdf05c1531b57),platform=Linux 3.10.0-514.26.2.el7.x86_64 x86_64) (WARNING: The server did not provide any stacktrace information) 
[chrome #11]  Command duration or timeout: 122 milliseconds 
[chrome #11]  Build info: version: '3.4.0', revision: 'unknown', time: 'unknown' 
[chrome #11]  System info: host: 's1wfadvcilvm08', ip: '172.16.184.183', os.name: 'Linux', os.arch: 'amd64', os.version: '3.10.0-514.26.2.el7.x86_64', java.version: '1.8.0_141' 
[chrome #11]  Driver info: org.openqa.selenium.chrome.ChromeDriver 
[chrome #11]  Capabilities [{applicationCacheEnabled=false, rotatable=false, mobileEmulationEnabled=false, networkConnectionEnabled=false, chrome={chromedriverVersion=2.30.477691 (6ee44a7247c639c0703f291d320bdf05c1531b57), userDataDir=/tmp/.org.chromium.Chromium.BNsN1w}, takesHeapSnapshot=true, pageLoadStrategy=normal, databaseEnabled=false, handlesAlerts=true, hasTouchScreen=false, version=60.0.3112.78, platform=LINUX, browserConnectionEnabled=false, nativeEvents=true, acceptSslCerts=true, locationContextEnabled=true, webStorageEnabled=true, browserName=chrome, takesScreenshot=true, javascriptEnabled=true, cssSelectorsEnabled=true, unexpectedAlertBehaviour=}] 

Mã của tôi vào lúc bắt đầu của mỗi bài kiểm tra nào sau đây

browser.manage().window().maximize(); 

thay đổi để

driver.driver.manage().window().maximize(); 
driver.manage().window().maximize(); 

không làm việc cho tôi hoặc là không may. Không nên browser.manage().cửa sổ(). tối đa hóa() vẫn làm việc như tôi đang chạy không đầu sử dụng xvfb-chạy hơn là làm không đầu thông qua các tùy chọn chrome?

1

Thêm bên dưới ChromeOption trong mã của bạn:

options.addArguments("--window-size=1325x744"); 

Cũng tham khảo this blog để biết thêm

+0

Đã xác nhận hoạt động trong Selenium 3.8.1 và ChromeDriver 2.34 ở chế độ không đầu. Để giải quyết sự cố này, tôi đặt cấu hình cho độ phân giải gốc của máy cục bộ để không mã hóa một giá trị cụ thể. – silver

Các vấn đề liên quan