c# - 错误 :The given path's format is not supported

标签 c# screenshot appium

我做错了什么? 我的主要问题是我收到一条错误消息:

error : The given path's format is not supported

我想将项目本身的文件保存在我已经创建的名为:Screenshots 的文件夹下

public void TakeScreenShot()
{
    string pth = System.Reflection.Assembly.GetCallingAssembly().CodeBase;
    string actualPath = pth.Substring(0, pth.LastIndexOf("bin"));
    string projectPath = new Uri(actualPath).LocalPath;

    Screenshot ss = ((ITakesScreenshot)_driver).GetScreenshot();
    string screenshot = ss.AsBase64EncodedString;
    byte[] screenshotAsByteArray = ss.AsByteArray;
    ss.SaveAsFile(projectPath+"Screenshots\\Drisha"+DateTime.Now.ToString()+".jpeg", ImageFormat.Jpeg); 
}

最佳答案

我不知道你的机器设置的是什么文化,但我假设调用 DateTime.Now.ToString() 会给你类似 08/02/2017 11:41:30 包含斜杠和冒号,因此不是有效路径。

尝试在 ToString() 中指定一种格式,如下所示:

ss.SaveAsFile(projectPath+"Screenshots\\Drisha"+DateTime.Now.ToString("ddMMyyyyHHmmss")+".jpeg", ImageFormat.Jpeg); 

作为旁注,您不应连接字符串来创建路径,而应使用 Path.Combine

ss.SaveAsFile(Path.Combine(projectPath, "Screenshots\\Drisha", DateTime.Now.ToString("ddMMyyyyHHmmss"), ".jpeg"), ImageFormat.Jpeg);

关于c# - 错误 :The given path's format is not supported,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42112068/

相关文章:

java - 比较两个屏幕截图无法正常工作-java

ios - 在 Adob​​e AIR 中将特定影片剪辑写入位图

C++ 获取全屏窗口的设备上下文

java - 即使未使用步骤定义类,钩子(Hook)执行后的 cucumber 步骤定义类也会执行吗?

java - 如何在 try-catch block 中使用 .click() 命令 java android

c# - 使用 LINQ 转换投影列表返回空值列表?

c# - 将所有匹配项从一个列表复制到另一个列表

android - 在 Appium/Selendroid 中使用 "copy"和 "paste"

c# - 如何安全地触发事件

c# - 使用 .net http2 的 Apple 推送通知