java - Selenium 木偶 WebDriverException : File not found

标签 java selenium automation firefox-marionette

尝试通过 selenium 上传文件时出现以下错误。

org.openqa.selenium.WebDriverException: File not found: D:\Projekte\Ticket.xml (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 10 milliseconds
Build info: version: '2.53.0', revision: '35ae25b', time: '2016-03-15 16:57:40'
System info: host: 'r-177', ip: '172.16.18.177', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.7.0_79'
Session ID: ec651a7b-bca2-48f0-8dd3-9e3bfde44c1c
Driver info: org.openqa.selenium.firefox.MarionetteDriver
Capabilities [{platform=XP, specificationLevel=0, acceptSslCerts=false, browserVersion=47.0, browserName=Firefox, XULappId={ec8030f7-c20a-464f-9b0e-13a3a9e97384}, raisesAccessibilityExceptions=false, rotatable=false, appBuildId=20160604131506, takesElementScreenshot=true, command_id=1, version=, firefox_profile=UEsDBBQACAgIAE+LyUgAAAAAAAAAA..., platformVersion=6.1, platformName=Windows_NT, proxy={}, device=desktop, takesScreenshot=true}]
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    at java.lang.reflect.Constructor.newInstance(Unknown Source)
    at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:206)
    at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:158)
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:678)
    at org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:327)
    at org.openqa.selenium.remote.RemoteWebElement.sendKeys(RemoteWebElement.java:122)

信息:两天前,我使用了 FireFox 46,而不是 MarionetteDriver,而是使用了 FirefoxDriver。一切顺利。现在自动更新到 FireFox 47 后,我遇到了一些问题。

这就是驱动程序的设置方式

FirefoxProfile fxProfile = new FirefoxProfile();

fxProfile.setPreference("browser.download.folderList", 2);
fxProfile.setPreference("browser.download.manager.showWhenStarting", false);
fxProfile.setPreference("browser.download.dir", this.workingDir);
fxProfile.setPreference("browser.helperApps.neverAsk.saveToDisk",
                            "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");

// System.setProperty("webdriver.gecko.driver", "D:/Entwicklung/marionette/wires.exe");
System.setProperty("webdriver.gecko.driver", "D:/Entwicklung/geckodriver/geckodriver.exe");

DesiredCapabilities dc = DesiredCapabilities.firefox();
dc.setPlatform(Platform.WINDOWS);
dc.setCapability(FirefoxDriver.PROFILE, fxProfile);
// dc.setJavascriptEnabled(true);
// dc.setCapability("marionette", true);

this.driver = new MarionetteDriver(dc);

这里是JAVA

WebElement field = driver.findElement(By.cssSelector("[id$=\"uploadComp_input\"]"));

field.sendKeys("D:\\Projekte\\Ticket.xml" + Keys.TAB);

关于 WWW 的文档似乎很少,因为 FireFox 47 还很新,希望我能找到可以支持我的人。

感谢您的阅读

最佳答案

昨天我的 Firefox 自动更新到 FF 47 后也遇到了同样的问题。我认为当前版本的 Selenium 与 FF 47 不兼容。

这就是我修复它的方法: 1. 卸载 FF 47。 2. 如果您使用的是 Selenium 2.53,请安装 FF 46 3.在FF选项中关闭FF自动更新 4.运行你的selenium代码

我希望这会有所帮助。

关于java - Selenium 木偶 WebDriverException : File not found,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37730407/

相关文章:

java - 静态变量初始化java

java - 为什么 Properties.store 用\来分隔以 : 分隔的值

java - 使用 eclipse milo 实现 opc ua 客户端

c# - 停止显示 chromedriver 控制台窗口,Selenium c#

c# - 从 C# NUnit 在多个浏览器中依次运行 Selenium 测试

testing - 如何查看下载的文件名?

java - Intent.ACTION_GET_CONTENT 和 Intent.ACTION_PICK 之间的区别

css - 在 Selenium IDE 变量中存储与 CSS 选择器匹配的元素列表

iphone - 自动化Localizable.strings?

visual-studio-2010 - 在Visual Studio 2010中创建文件时,是否可以自动设置 "Copy to Output Directory"?