2016-05-04 41 views
2

我有一個文本文件將被上傳到用戶界面。在測試運行之前,每次都需要更新文本文件。我需要在我的Selenium C#腳本中捕獲它。使用硒C查找和替換文本文件中的數據#

下面是數據格式:

0     01CBA  Sou     301500PAYMEN72 080416           
1062-000 14138 130000000012ROSY       DEBITFROM 

080416是日期。每次腳本運行時,我都需要用系統日期替換它。

如何獲取日期的位置並將其替換。

回答

1

我可以使用正則表達式替換日期:

// load the file 
string text = File.ReadAllText(@"C:\yourfile.txt"); 

// replace the date 
string text2 = Regex.Replace(text, @"\b080416\b", DateTime.Now.ToString("ddmmyy")); 

// save the updated text to a temp file 
string tempPath = string.Format("{0}myfile-{1:X}.txt", Path.GetTempPath(), DateTime.Now.Ticks); 
File.WriteAllText(tempPath, text2); 

// upload the file 
driver.FindElementByCssSelector("input[type=file]").SendKeys(tempPath); 
+0

感謝很多的解決方案。它可以更通用,因爲080416不是恆定的。每次文件被編輯和保存時它都會改變。但是字符串的位置將是相同的。 – SachuDev

+0

@SachuDev,你也可以使用這個正則表達式來匹配一個未知的日期:'\ b [0123] \ d [01] \ d1 \ d \ b' –

+0

感謝Florent B的回答。 – SachuDev

相關問題