Метод нажатия не работает с эмулятором Chrome

Ниже приведены подробности моей настройки:

хром =67.0.3396.87, хромедрайвер =2.40.565498, селен версия 2.53.0

Ниже код эмулятора

public ChromeOptions getChromeEmulators(int width, int height) {
    Map<String, Object> deviceMetrics = new HashMap<String, Object>();
    Map<String, Object> mobileEmulation = new HashMap<String, Object>();
    ChromeOptions chromeOptions = new ChromeOptions();
    try {
        deviceMetrics.put("width", width);           
        deviceMetrics.put("height", height);
        deviceMetrics.put("pixelRatio", 3.0);
        mobileEmulation.put("deviceMetrics", deviceMetrics);
        mobileEmulation.put("userAgent",
"Mozilla/5.0 (Linux; Android 4.2.1; en-us; Nexus 5 Build/JOP40D) 
AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Mobile 
Safari/535.19");
       chromeOptions.setExperimentalOption("mobileEmulation", mobileEmulation);
    }catch (Exception e) {
        e.printStackStarce();
    }
    return chromeOptions;
}

Опция щелчка не работает с эмулятором Chrome, но она работает в браузере Chrome с вышеуказанными версиями. Может кто-нибудь помочь?

1 ответ

Решение

Это известная проблема существования chromedriver со времен нескольких последних версий. Исправления пока нет. На данный момент единственным обходным решением является использование chromerdriver: 2.33.506120 + хром: 61.0.3163.79

Обратитесь к ниже ошибок:

https://bugs.chromium.org/p/chromedriver/issues/detail?id=2144&desc=2

https://bugs.chromium.org/p/chromedriver/issues/detail?id=2172

В качестве альтернативы, вы можете попробовать JavascriptExecutor (хотя это не так часто)

JavascriptExecutor script click. JavascriptExecutor js = (JavascriptExecutor) 
driver; js.executeScript("arguments[0].click();",element);
Другие вопросы по тегам