public void takeScreenshot()
{
ITakesScreenshot screenshotHandler = driver as ITakesScreenshot;
Screenshot screenshot = screenshotHandler.GetScreenshot();
screenshot.SaveAsFile(@"D:\SeleniumTutorials\ScreenShotAT" + DateTime.Now + ".png", System.Drawing.Imaging.ImageFormat.Png);
screenshot.ToString();
}
当我调用上面的方法来获取selenium中的屏幕截图时,我收到错误为'消息:NotSupportedExcetpion:不支持给定路径的格式。'
文件的路径有什么问题。?
答案 0 :(得分:2)
DateTime.Now可能会返回对Windows中的路径无效的字符。例如,您可以DateTime.Now
9/1/2016 11:41:19 AM
结果
在这里你有禁止的字符:
要实现您的目标,您必须为DateTime提供路径友好格式。示例如下:
string friendlyDatetime = string.Format("{0:yyyy-MM-dd_hh-mm-ss-tt}", DateTime.Now);
screenshot.SaveAsFile(@"D:\SeleniumTutorials\ScreenShotAT" + friendlyDatetime + ".png", System.Drawing.Imaging.ImageFormat.Png);
答案 1 :(得分:0)
screenshot.SaveAsFile(@"D:\SeleniumTutorials\ScreenShotAT" + DateTime.Now.ToString("dd-MMM-yyyy") + ".png", System.Drawing.Imaging.ImageFormat.Png);
这将保存文件,如下所示:
d:\ SeleniumTutorials \ ScreenShotAT01-SEP-2016.png
答案 2 :(得分:0)
你应该这样做:
public void takeScreenshot()
{
string path = string.Format(@"c:\SeleniumTutorials\ScreenShotAT{0:d_M_yyyy_HH_mm_ss}.txt", DateTime.Now);
ITakesScreenshot screenshotHandler = driver as ITakesScreenshot;
Screenshot screenshot = screenshotHandler.GetScreenshot();
screenshot.SaveAsFile(path, System.Drawing.Imaging.ImageFormat.Png);
screenshot.ToString();
}
答案 3 :(得分:-1)
您正在为字符串添加DateTime。
尝试:
screenshot.SaveAsFile(@"D:\SeleniumTutorials\ScreenShotAT" + DateTime.Now.ToString("yyyyMMddhhmmss") + ".png", System.Drawing.Imaging.ImageFormat.Png);