0

以下是我的设置的详细信息:

chrome=67.0.3396.87,chromedriver=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 浏览器。有人可以帮忙吗?

4

1 回答 1

1

这是自过去几个版本以来存在的 chromedriver 已知问题。还没有修复。此时,唯一的解决方法是使用 chromerdriver : 2.33.506120 + chrome : 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);
于 2018-07-12T06:33:35.693 回答