You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

139 lines
5.7 KiB

  1. using OpenQA.Selenium.Chrome;
  2. using Swift.web.Library;
  3. using System;
  4. using System.IO;
  5. using System.Net;
  6. using System.Threading;
  7. namespace Swift.web.Common
  8. {
  9. public partial class JPPostKYCInquiry : System.Web.UI.Page
  10. {
  11. protected void Page_Load(object sender, EventArgs e)
  12. {
  13. var MethodName = Request.Form["MethodName"];
  14. if (MethodName == "GetTrackingInfo")
  15. GetKYCStatus();
  16. }
  17. protected string GetTranckingNumber()
  18. {
  19. return GetStatic.ReadQueryString("tranckingNumber", "");
  20. }
  21. protected string GetCustomerId()
  22. {
  23. return GetStatic.ReadQueryString("customerId", "");
  24. }
  25. //protected string GetMembershipId()
  26. //{
  27. // return GetStatic.ReadQueryString("membershipId", "");
  28. //}
  29. private void GetKYCStatus()
  30. {
  31. string kycTranckingNumber = Request.Form["TrackingNumber"];
  32. string kycCustomerId = Request.Form["CustomerId"];
  33. string url = "https://trackings.post.japanpost.jp/services/srv/search/direct?reqCodeNo1=" + kycTranckingNumber + "&searchKind=S002&locale=en";
  34. // string url1 = "<a class=\"w_150\" title=\"\" href=\"/AgentNew/Administration/CustomerSetup/CustomerRegistration/UpdateKYC.aspx?customerId= "+ GetCustomerId() +"\">Final Delivery</a>";
  35. string url2 = "<a class=\"w_150 w_hover\" title=\"\" onClick=\"UpdateKYC('" + kycCustomerId + "')\">Final delivery</a>";
  36. HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(url);
  37. myRequest.Method = WebRequestMethods.Http.Get;
  38. WebResponse response = myRequest.GetResponse();
  39. string json = null;
  40. using (Stream stream = response.GetResponseStream())
  41. {
  42. json = (new StreamReader(stream)).ReadToEnd();
  43. }
  44. int length = (json.Length) / 4;
  45. int indexOfTable = json.IndexOf("<div id=\"con_wrap_no_rnav\" class=\"clearfix\">");
  46. int indexOfTableEnd = json.IndexOf("<div id=\"btm_nav\" class=\"clearfix\">");
  47. if (indexOfTable != -1)
  48. {
  49. length = indexOfTableEnd - indexOfTable;
  50. }
  51. json = json.Substring(indexOfTable, length);
  52. json = json.Replace("class=\"txt_type02\"", "Id =\"other-options\"");
  53. json = json.Replace("m_b10 txt_c", "remove-tag-p");
  54. json = json.Replace("Final delivery", url2);
  55. GetStatic.JsonResponse(json, Page);
  56. }
  57. protected void btnSaveImg_Click(object sender, EventArgs e)
  58. {
  59. string folderPath = GetStatic.ReadQueryString("dt", "").Replace("-", "\\") + "\\" + GetStatic.ReadQueryString("membershipId", "");
  60. string fileData = hddImgURL.Value;
  61. string path = GetStatic.GetCustomerFilePath() + folderPath;
  62. if (!Directory.Exists(path))
  63. Directory.CreateDirectory(path);
  64. string fileName = path + "\\postal_code_verification.png";
  65. using (FileStream fs = new FileStream(fileName, FileMode.Create))
  66. {
  67. using (BinaryWriter bw = new BinaryWriter(fs))
  68. {
  69. byte[] data = Convert.FromBase64String(fileData);
  70. bw.Write(data);
  71. bw.Close();
  72. }
  73. }
  74. }
  75. protected void btnReSchedule_Click(object sender, EventArgs e)
  76. {
  77. var trackingNumber = GetTranckingNumber();
  78. using (var driver = new ChromeDriver(@"E:\chromedriver_win32"))
  79. {
  80. driver.Navigate().GoToUrl("https://trackings.post.japanpost.jp/delivery/deli/firstDeliveryInput/");
  81. Thread.Sleep(1000);
  82. var trackingNumberElem = driver.FindElementByName("firstDeliveryInputTrackNo");
  83. Thread.Sleep(1000);
  84. trackingNumberElem.SendKeys(trackingNumber);
  85. Thread.Sleep(1000);
  86. var btnNext = driver.FindElementByName("externalWeb");
  87. btnNext.Click();
  88. Thread.Sleep(1000);
  89. //var passwordSection = driver.FindElementByXPath("//*[@id=\"strMain\"]/form/table/tbody/tr[2]/td/div/div/p/input");
  90. ////var passwordSection = driver.FindElementByName("loginPassword");
  91. //passwordSection.SendKeys("bankof7700");
  92. //Thread.Sleep(1000);
  93. //var loginBtn = driver.FindElementByXPath("//*[@id=\"strMain\"]/form/ul/li[2]/input");
  94. //loginBtn.Click();
  95. //var showStatement = driver.FindElementByXPath("//*[@id=\"strMain\"]/p[13]/a");
  96. //showStatement.Click();
  97. //Thread.Sleep(1000);
  98. //var showAllDataStatement = driver.FindElementByXPath("//*[@id=\"strMain\"]/div[4]/h2/a");
  99. //showAllDataStatement.Click();
  100. //var ddl = driver.FindElementByXPath("//*[@id=\"strMain\"]/div/div[3]/div[2]/p/select[1]");
  101. //Thread.Sleep(1000);
  102. ////var selectElement = new SelectElement(ddl);
  103. ////selectElement.SelectByValue("100");
  104. ////var statementTable = driver.FindElementByXPath("//*[@id=\"strMain\"]/div/div[4]");
  105. ////var tableHtml = statementTable.GetAttribute("innerHTML");
  106. ////DataTable dt = ConvertHTMLTablesToDataTable(tableHtml);
  107. ////if (dt != null)
  108. ////{
  109. //// var xml = GetXMlFromTable(dt);
  110. //// var res = _obj.SaveStatement(xml);
  111. ////}
  112. //Console.ReadLine();
  113. driver.Quit();
  114. }
  115. }
  116. }
  117. }