chromeOptions.addArguments("--disable-notifications")// trying to mimic behavior from preferences
Map<String, Object> prefs = new HashMap<>();
Map<String, Object> clipboardSetting = new HashMap<>();
clipboardSetting.put("last_modified", new Date().getTime());
clipboardSetting.put("setting", 1);
Map<String, Object> siteSetting = new HashMap<>();
siteSetting.put("http://localhost:9005,*", clipboardSetting);
prefs.put("profile.content_settings.exceptions.clipboard", siteSetting);
chromeOptions.setExperimentalOption("prefs", prefs);y and paste but it's always denied.
IWebElement typeNode = graphHomePage.getDraggableNode(NodePaletteTypes.EXPRESSION);
typeNode.dragTo(graphSurface);
assertEquals(1, graphHomePage.getGraphNodesOnCanvas().size());
IWebElement firstNodeOnGraph = graphHomePage.getNodeOnGraph(NodePaletteTypes.EXPRESSION);
firstNodeOnGraph.sendInfernoAltHotKeyCombo("c");
// now paste
firstNodeOnGraph.sendInfernoAltHotKeyCombo("v");
assertEquals(2, graphHomePage.getGraphNodesOnCanvas().size());
System.setProperty("webdriver.chrome.logfile", "./chromedriver.log");
System.setProperty("webdriver.chrome.verboseLogging", "true");
ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.addArguments("--window-size=2880,1800");
chromeOptions.addArguments("enable-automation"); // https://stackoverflow.com/a/43840128/1689770
chromeOptions.addArguments("--no-sandbox"); //https://stackoverflow.com/a/50725918/1689770
chromeOptions.addArguments("--disable-dev-shm-usage"); //https://stackoverflow.com/a/50725918/1689770
chromeOptions.addArguments("--disable-browser-side-navigation"); //https://stackoverflow.com/a/49123152/1689770
chromeOptions.addArguments("--disable-gpu"); //https://stackoverflow.com/questions/51959986/how-to-solve-selenium-chromedriver-timed-out-receiving-message-from-renderer-exc
chromeOptions.addArguments("--disable-popup-blocking");
chromeOptions.addArguments("--allow-insecure-localhost");
chromeOptions.addArguments("--ignore-certificate-errors");
chromeOptions.addArguments("--disable-notifications");
String host = config.getString("defaultBaseUrl");
Map<String, Object> prefs = new HashMap<>();
Map<String, Object> clipboardSetting = new HashMap<>();
clipboardSetting.put("last_modified", new Date().getTime());
clipboardSetting.put("setting", 1);
Map<String, Object> siteSetting = new HashMap<>();
siteSetting.put(host + ",*", clipboardSetting);
prefs.put("profile.content_settings.exceptions.clipboard", siteSetting);
chromeOptions.setExperimentalOption("prefs", prefs);
headless = config.getBoolean("headless");
if (headless) {
chromeOptions.addArguments("--headless");
} else {
chromeOptions.addArguments("--disable-infobars");
}
driver = new ChromeDriver(chromeOptions);
driver.get(host);
[1567204220.324][DEBUG]: DevTools WebSocket Event: Runtime.consoleAPICalled F50EE23E9DCB809A10F0CD7C332B9131 {
"args": [ {
"type": "string",
"value": "paste & parse error: "
}, {
"className": "DOMException",
"description": "DOMException",
"objectId": "{\"injectedScriptId\":1,\"id\":1}",
"preview": {
"description": "DOMException",
"overflow": false,
"properties": [ {
"name": "code",
"type": "number",
"value": "0"
}, {
"name": "name",
"type": "string",
"value": "NotAllowedError"
}, {
"name": "message",
"type": "string",
"value": "Read permission denied."
} ],
"subtype": "error",
"type": "object"
},
"subtype": "error",
"type": "object"
} ],
"executionContextId": 1,
"stackTrace": {
"callFrames": [ {
"columnNumber": 138517,
"functionName": "",
"lineNumber": 19,
"scriptId": "13",
"url": "http://localhost:9005/static/js/main.0aa8304e.js"
} ]
},
"timestamp": 1567204220323.537,
"type": "error"
}I think your web app itself is invoking the clipboard api?