我尝试使用以下 JavaScript 调用来模拟 Selenium WebDriver 测试的拖放,但出现 WebDriver 错误。我尝试了这种方式,因为 Actions 类在任何浏览器(Firefox、Chrome)上都不起作用。
有人能告诉我我做错了什么吗?
String filePath = "C://Work//Spica import files//drag_and_drop_helper.js";
String source = "li[draggable='true']";
String target = "#fieldCc";
StringBuffer buffer = new StringBuffer();
String line;
BufferedReader br = null;
try {
br = new BufferedReader(new FileReader(filePath));
} catch (FileNotFoundException e) {
e.printStackTrace();
}
try {
while((line = br.readLine())!=null)
buffer.append(line);
} catch (IOException e) {
e.printStackTrace();
}
String javaScript = buffer.toString();
javaScript = javaScript + "$('" + source + "').simulateDragDrop({ dropTarget: '" + target + "'});";
((JavascriptExecutor)getDriver()).executeScript(javaScript);
我得到的错误是:
org.openqa.selenium.WebDriverException: unknown error: Runtime.evaluate threw exception: SyntaxError: missing ) after argument list (Session info: chrome=53.0.2785.116) (Driver info: chromedriver=2.9.248315,platform=Windows NT 6.3 x86_64) (WARNING: The server did not provide any stacktrace information) Command duration or timeout: 17 milliseconds Build info: version: '2.53.1', revision: 'a36b8b1cd5757287168e54b817830adce9b0158d', time: '2016-06-30 19:26:09' System info: host: 'EN610188', ip: '172.16.116.151', os.name: 'Windows 8.1', os.arch: 'amd64', os.version: '6.3', java.version: '1.8.0_91' Driver info: org.openqa.selenium.chrome.ChromeDriver Capabilities [{applicationCacheEnabled=false, rotatable=false, chrome={userDataDir=C:\Users\lgrecu\AppData\Local\Temp\scoped_dir5352_12600}, takesHeapSnapshot=true, databaseEnabled=false, handlesAlerts=true, version=53.0.2785.116, platform=WIN8_1, browserConnectionEnabled=false, nativeEvents=true, acceptSslCerts=true, locationContextEnabled=true, webStorageEnabled=true, browserName=chrome, takesScreenshot=true, javascriptEnabled=true, cssSelectorsEnabled=true}] Session ID: fe314c5e2184e76f1b3d934159ae2887 Build info: version: '2.53.1', revision: 'a36b8b1cd5757287168e54b817830adce9b0158d', time: '2016-06-30 19:26:09' System info: host: 'EN610188', ip: '172.16.116.151', os.name: 'Windows 8.1', os.arch: 'amd64', os.version: '6.3', java.version: '1.8.0_91' Driver info: driver.version: unknown
最佳答案
尝试从 String source = "li[draggable='true']";
中删除单引号,然后立即尝试。猜猜它会起作用。
String source = "li[draggable=true]";
关于javascript - 尝试使用 JavaScript 执行 Selenium WebDriver 测试拖放时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39720614/