0

크롬이 셀레늄에서 제공하는 모바일 에뮬레이터를 자동화하려고합니다. 그러나 현재 내가 직면하고있는 문제는 브라우저가 잘못된 장치 메트릭으로 열리게된다는 것입니다. 높이와 너비를 구체적으로 설정하려고하지만 운이 여기에 내 코드없이 :셀렌의 Chrome 모바일 에뮬레이터에 대한 장치 메트릭 매개 변수를 설정하는 방법은 무엇입니까?

나는 다음과 같은 오류가 무엇입니까 그러나
Map<String, Object> deviceMetrics = new HashMap<String, Object>(); 
      deviceMetrics.put("width", 360); 
      deviceMetrics.put("height", 640); 
      Map<String, Object> mobileEmulation = new HashMap<String, Object>(); 
      mobileEmulation.put("deviceMetrics", deviceMetrics); 
      mobileEmulation.put("deviceName", "Nexus 5"); 
      Map<String, Object> chromeOptions = new HashMap<String, Object>(); 
      chromeOptions.put("mobileEmulation", mobileEmulation); 
      DesiredCapabilities capabilityMob = DesiredCapabilities.chrome(); 
      capabilityMob.setCapability(ChromeOptions.CAPABILITY, chromeOptions); 
      this.driver = new RemoteWebDriver(_url, capabilityMob); 

:

org.openqa.selenium.WebDriverException: unknown error: cannot parse capability: chromeOptions from unknown error: cannot parse mobileEmulation from unknown error: 'deviceName' must be used alone

답변

0

당신은 사전 설치된 장치와 사용자 정의 장치 매개 변수를 모두 사용할 필요가 없습니다합니다. 비슷하게 시도해주세요.

Map<String, Object> deviceMetrics = new HashMap<>(); 
deviceMetrics.put("width", 768); 
deviceMetrics.put("height", 1024); 
deviceMetrics.put("pixelRatio", 2); 
Map<String, Object> mobileEmulation = new HashMap<>(); 
mobileEmulation.put("deviceMetrics", deviceMetrics); 
mobileEmulation.put("userAgent", "Mozilla/5.0 (iPad; CPU OS 7_0 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11A465 
Safari/9537.53"); 
Map<String, Object> chromeOptions = new HashMap<>(); 
chromeOptions.put("mobileEmulation", mobileEmulation); 
DesiredCapabilities capabilities = DesiredCapabilities.chrome(); 
capabilities.setCapability(ChromeOptions.CAPABILITY, chromeOptions);