Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在Firefox 55.0.3中上载SendKeys不工作的文件_C#_Selenium_Firefox_Selenium Webdriver_Geckodriver - Fatal编程技术网

C# 在Firefox 55.0.3中上载SendKeys不工作的文件

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

我正试图通过Firefox中的SendKeys()发送文件路径以上载按钮,它给了我一个错误“找不到文件:c:\filename.txt(IndexOutOfBounds)”

上传代码:

    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。这是一项临时工作。