C# 在Firefox 55.0.3中上载SendKeys不工作的文件
我正试图通过Firefox中的SendKeys()发送文件路径以上载按钮,它给了我一个错误“找不到文件:c:\filename.txt(IndexOutOfBounds)” 上传代码:C# 在Firefox 55.0.3中上载SendKeys不工作的文件,c#,selenium,firefox,selenium-webdriver,geckodriver,C#,Selenium,Firefox,Selenium Webdriver,Geckodriver,我正试图通过Firefox中的SendKeys()发送文件路径以上载按钮,它给了我一个错误“找不到文件:c:\filename.txt(IndexOutOfBounds)” 上传代码: public static void UploadTheFile() { IWebElement fileUpload = Drivers._driverInstance.FindElement(By.Id("file-upload-input")); try
public static void UploadTheFile()
{
IWebElement fileUpload = Drivers._driverInstance.FindElement(By.Id("file-upload-input"));
try
{
fileUpload.SendKeys(@"C:\test file.txt");
}
catch (Exception e)
{
throw e;
}
//Thread.Sleep(3000);
_wait.Until(d => Drivers._driverInstance.FindElement(By.Id("upload-button")).Displayed);
IWebElement element = Drivers._driverInstance.FindElement(By.Id("upload-button"));
IJavaScriptExecutor js = (IJavaScriptExecutor)Drivers._driverInstance;
js.ExecuteScript("arguments[0].click();", element);
}
周五Firefox54上也有同样的代码,但在Chrome和IE上仍然有效
请让我知道是否有解决此问题的方法
谢谢这是一个好主意。该问题已在Firefox的更高版本中得到修复,并将需要geckodriver的新版本。同时,可以通过在创建Firefox会话时使用的
FirefoxOptions
中将dom.file.createInChild
首选项设置为true
来解决这个问题。这是一个很好的解决方案。该问题已在Firefox的更高版本中得到修复,并将需要geckodriver的新版本。同时,可以通过在创建Firefox会话时使用的FirefoxOptions
中将dom.file.createInChild
首选项设置为true
来解决这个问题。我也遇到了同样的问题并得到了解决,这个问题在Geckodriver中,似乎已经解决了(),但是你可能需要等待发布,或者你可以使用我遵循的beta版本
- 获取最新的GeckoDriver
- 下载版本Firefox安装程序56.0b5
这将解决您的问题,并确保您在执行测试时加载了Firefox应用程序的正确版本。我遇到了同样的问题并解决了,问题在Geckodriver中,问题似乎已得到解决(),但是你可能需要等待发布,或者你可以使用我遵循的beta版本
- 获取最新的GeckoDriver
- 下载版本Firefox安装程序56.0b5
这将解决您的问题,并确保您在执行测试时加载了Firefox应用程序的正确版本。谢谢@JimEvans。这是临时工作。谢谢@JimEvans。这是一项临时工作。