我做错了什么? 我的主要问题是我收到错误说:
错误:不支持给定路径的格式
我想将项目本身保存在我已经创建的名为: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);
}
答案 0 :(得分:9)
我不知道你的机器设置了什么文化但是我假设调用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);