Hỏi đáp

Chia sẻ kiến thức, cùng nhau phát triển

Tool nhập số liệu lên hệ thống

15:26 05-12-2021 389 lượt xem 1 bình luận

e đang có dự án nhập thông tin lên hệ thống hải quan, chủ yếu là bắt các control của html, so sánh thông tin đã lấy
e chưa hiểu cấu trúc như thế nào, e xem qua code cũ rất dài và không hiểu cho lắm. mong anh chị giúp đỡ

 

Bình luận

Để bình luận, bạn cần đăng nhập bằng tài khoản Howkteam.

Đăng nhập
thangdttt đã bình luận 15:28 05-12-2021

using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;

using OpenQA.Selenium.Support.UI;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Drawing;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
using Keys = OpenQA.Selenium.Keys;

namespace CELLO_SCHENKER
{
    public partial class Form1 : Form
    {
        public static Configuarations config = new Configuarations();
        public static Schenker schn = new Schenker();
        IWebDriver DriverChrome; IWebElement Webelment; IJavaScriptExecutor Java;
        private string elementsave = "";
        [DllImport("user32.dll")]
        private static extern bool SetCursorPos(int x, int y);

        [DllImport("user32.dll")]
        public static extern void mouse_event(int dwFlags, int dx, int dy, int cButtons, int dwExtraInfo);
        public enum MouseEventFlags
        {
            LEFTDOWN = 0x00000002,
            LEFTUP = 0x00000004,
            MIDDLEDOWN = 0x00000020,
            MIDDLEUP = 0x00000040,
            MOVE = 0x00000001,
            ABSOLUTE = 0x00008000,
            RIGHTDOWN = 0x00000008,
            RIGHTUP = 0x00000010
        }

        public static void LeftMouseClick(int xpos, int ypos)
        {
            Form1.SetCursorPos(xpos, ypos);
            Form1.mouse_event(2, xpos, ypos, 0, 0);
        }

        public static void LeftMouseClickDup(int xpos, int ypos)
        {
            Form1.SetCursorPos(xpos, ypos);
            Form1.mouse_event(2, xpos, ypos, 0, 0);
            Form1.mouse_event(4, xpos, ypos, 0, 0);
        }
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            try
            {
                this.txtUser.Text = "dbsvn01";
                this.txtPassword.Text = "Schenker@2020";
                //config.StatusRunning = "RUN";
                string screenWidth = Screen.PrimaryScreen.Bounds.Width.ToString();
                string screenHeight = Screen.PrimaryScreen.Bounds.Height.ToString();
                config.Resolution = screenWidth + "x" + screenHeight;
                config.LuuDT1 = DateTime.Now;                
            }
            catch { }
        }

        private void MyTimeStart_Tick(object sender, EventArgs e)
        {
        }

        public void confirm()
        {
            try
            {
                if (method_0(DriverChrome, By.XPath("//*[@id='modals-container']/div/div/div[2]/div/div/div[4]/button")))
                {
                    DriverChrome.FindElement(By.XPath("//*[@id='modals-container']/div/div/div[2]/div/div/div[4]/button")).Click();
                }
            }
            catch (Exception ex)
            {
                //LogWriter.LogWrite(ex.Message + "Line: " + LogWriter.GetLineNumber(ex));
                config.Log_Error(ex.ToString());
            }
        }
        public void confirmAlert()
        {
            try
            {
                if (method_0(DriverChrome, By.XPath("//*[@id='btn_close_noticePop']")))
                {
                    DriverChrome.FindElement(By.XPath("//*[@id='btn_close_noticePop']")).Click();
                }
            }
            catch (Exception ex)
            {
                //LogWriter.LogWrite(ex.Message + "Line: " + LogWriter.GetLineNumber(ex));
                config.Log_Error(ex.ToString());
            }
        }
        private bool method_0(IWebDriver iwebDriver_0, By by_0)
        {
            try
            {
                Thread.Sleep(500);
                return iwebDriver_0.FindElement(by_0).Displayed;
            }
            catch (Exception)
            {
                return false;
            }
        }
        private void StartCelloPlus(string user, string pass)
        {
            //timer2.Enabled = false;
            try
            {
                ChromeOptions options = new ChromeOptions();
                options.AddArguments("disable-infobars");
                options.AddArguments("disable-popup-blocking");
                //options.AddArguments("disable-extensions");
                var driverService = ChromeDriverService.CreateDefaultService();
                driverService.HideCommandPromptWindow = true;

                DriverChrome = new ChromeDriver(driverService, options);
                DriverChrome.Manage().Window.Maximize();

                DriverChrome.Navigate().GoToUrl("https://portal.samsungscl.com/cello/adm/login.ext");
                Login(txtUser.Text, txtPassword.Text);
                Thread.Sleep(10000);
                bool enabled = this.DriverChrome.FindElement(By.XPath("//*[@id='routerContents']/div/div[1]/div[2]/section/div[1]/ul/li/div")).Enabled;
                if (enabled)
                {
                    IWebElement HBL = DriverChrome.FindElement(By.XPath("//*[@id='routerContents']/div/div[1]/div[2]/section/div[1]/ul/li/div"));
                    HBL.Click();
                    
                }
                this.DriverChrome.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(10.0);
                Thread.Sleep(10000);
                SendKeys.SendWait("^{-}");//zoom nhỏ trình duyệt
                SendKeys.SendWait("^{-}");
                SendKeys.SendWait("^{-}");
                SendKeys.SendWait("^{-}");
                SendKeys.SendWait("^{-}");
                Thread.Sleep(1000);
                InputGeneralTab();
            }
            catch (Exception ex)
            {                
                config.Log_Error(ex.Message.ToString());
                //StopCello();
              
                //StartCelloPlus(txtUser.Text, txtPassword.Text);
            }
            //finally
            //{
            //    timer2.Enabled = true;
            //}
        }

        private void Login(string User, string Pass)
        {
            try
            {
                this.DriverChrome.SwitchTo().DefaultContent();
                Thread.Sleep(500);
                this.DriverChrome.FindElement(By.Id("loginId")).SendKeys(User);
                this.DriverChrome.FindElement(By.Id("loginPw")).SendKeys(Pass);
                this.DriverChrome.FindElement(By.Id("btn-login")).Click();
                this.DriverChrome.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(10.0);
                Thread.Sleep(5000);
                this.confirm();
               
            }
            catch { }
        }

        private void InputGeneralTab()
        {
            try
            {
                LeftMouseClickDup(1186, 164);
                DataTable dt = schn.GetSRlist();
                
                if (dt.Rows.Count > 0)
                {
                    for (int i0 = 0; i0 < dt.Rows.Count; i0++)
                    {
                        //config.reset();
                        string xFLT = "", xETA = "", xETD = "", xAir = "", xMawb="" , inputMawb = "", xGW="", saveGw="", luuETA = "", isCheckHawb="", xCarrier="", xIssues="";
                        inputMawb = dt.Rows[i0]["Mawb"].ToString();
                        string SR = dt.Rows[i0]["SR"].ToString();
                        this.DriverChrome.SwitchTo().Frame(this.DriverChrome.FindElement(By.XPath(".//iframe[contains(@Id,'ifm_FIS010000004967')]")));
                        this.DriverChrome.FindElement(By.XPath("//*[@id='ipt_srNo']")).Clear();
                        this.DriverChrome.FindElement(By.XPath("//*[@id='ipt_srNo']")).SendKeys(SR); //nhap sr
                        //this.DriverChrome.FindElement(By.XPath("//span[contains(.,'Search')]")).Click();
                        
                        SendKeys.SendWait("{ENTER}");
                        Thread.Sleep(12000);
                        this.DriverChrome.SwitchTo().DefaultContent();
                        bool iCheckpopup = ElementIsPresent(DriverChrome, By.XPath(".//li[contains(@style,'display: block')]"));
                        if (iCheckpopup)
                        {
                            string element = ".//li[contains(@style,'display: block')]//button[contains(.,'OK')]";
                            IWebElement webElementSv = DriverChrome.FindElement(By.XPath(element));
                            IJavaScriptExecutor js1 = (IJavaScriptExecutor)DriverChrome;
                            js1.ExecuteScript("arguments[0].click();", webElementSv);
                            //ClickYes_Confirm();
                            Thread.Sleep(5000);
                        }
                        this.DriverChrome.SwitchTo().Frame(this.DriverChrome.FindElement(By.XPath(".//iframe[contains(@Id,'ifm_FIS010000004967')]")));
                        DateTime dt2 = DateTime.Now;
                        string getdate = dt2.ToString("yyyy-MM-dd");
                        Thread.Sleep(2000);
                        this.DriverChrome.FindElement(By.XPath("//*[@id='ipt_trnsMnsNo']")).Clear();
                        Thread.Sleep(500);
                        this.DriverChrome.FindElement(By.XPath("//*[@id='ipt_trnsMnsNo']")).SendKeys(dt.Rows[i0]["FLT"].ToString());
                        Thread.Sleep(500);
                        //this.DriverChrome.FindElement(By.XPath(".//*[@id='inputdap_onbdDtm']")).Clear();
                        SendKeys.SendWait("{TAB}");
                        Thread.Sleep(500);
                        SendKeys.SendWait("{DEL}");
                        Thread.Sleep(500);
                        this.DriverChrome.FindElement(By.XPath(".//*[@id='inputdap_onbdDtm']")).SendKeys(dt.Rows[i0]["ETD"].ToString());
                        Thread.Sleep(500);
                        SendKeys.SendWait("{TAB}");
                        Thread.Sleep(500);
                        //this.DriverChrome.FindElement(By.XPath("//*[@id='inputdap_etaDtm']")).Clear();
                        SendKeys.SendWait("{DEL}");
                        Thread.Sleep(500);
                        this.DriverChrome.FindElement(By.XPath("//*[@id='inputdap_etaDtm']")).SendKeys(dt.Rows[i0]["ETA"].ToString());
                        luuETA = dt.Rows[i0]["ETA"].ToString();
                        Thread.Sleep(500);
                        this.DriverChrome.FindElement(By.XPath("//*[@id='inputdap_issueDtm']")).Clear();
                        Thread.Sleep(500);
                        this.DriverChrome.FindElement(By.XPath("//*[@id='ipt_carrCdCd']")).SendKeys("");
                        Thread.Sleep(500);
                        this.DriverChrome.FindElement(By.XPath("//*[@id='ipt_carrCdCd']")).Clear();
                        Thread.Sleep(500);
                        //this.DriverChrome.FindElement(By.XPath("//*[@id='ipt_carrCdCd']")).SendKeys("");
                        //Thread.Sleep(500);
                        this.DriverChrome.FindElement(By.XPath("//*[@id='ipt_carrCdCd']")).SendKeys(dt.Rows[i0]["Air"].ToString());
                        Thread.Sleep(500);
                        this.DriverChrome.FindElement(By.XPath("//*[@id='inputdap_issueDtm']")).Clear();
                        Thread.Sleep(500);
                        this.DriverChrome.FindElement(By.XPath("//*[@id='inputdap_issueDtm']")).SendKeys(getdate);
                        Thread.Sleep(5000);
                       
                        this.DriverChrome.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(60.0);
                         xFLT = this.DriverChrome.FindElement(By.XPath("//*[@id='ipt_trnsMnsNo']")).GetAttribute("value");
                         xETD = this.DriverChrome.FindElement(By.XPath(".//*[@id='inputdap_onbdDtm']")).GetAttribute("value");
                         xETA = this.DriverChrome.FindElement(By.XPath("//*[@id='inputdap_etaDtm']")).GetAttribute("value");
                         xAir = this.DriverChrome.FindElement(By.XPath("//*[@id='ipt_carrCdCd']")).GetAttribute("value");
                        xIssues = this.DriverChrome.FindElement(By.XPath("//*[@id='inputdap_issueDtm']")).GetAttribute("value");
                        bool chkTransNo = dt.Rows[i0]["FLT"].ToString() == xFLT; //Check mã chuyến bay
                        bool chkETA = luuETA.Contains(xETA); //Check giờ ETA
                        bool chkETD = dt.Rows[i0]["ETD"].ToString().Contains(xETD); //Giờ ETD
                        bool chkAir = dt.Rows[i0]["Air"].ToString() == xAir; //Carrier
                        bool chkIssue = xIssues == getdate; //Ngày Issue Date
                        //điền xong các thông tin ETA,ETD,transNo, Carrier, issuedate

                            //Khi save thoog tin ở tab General thành công thì chuyển sang tab cargo đẻ nhập thông tin tiếp
                            //Nhấn sang tab Cargo
                            if (config.Resolution == "1366x768")
                            {
                                LeftMouseClickDup(113, 269);
                            }
                            else if (config.Resolution == "1600x900")
                            {
                                LeftMouseClickDup(114, 270);
                            }
                            Thread.Sleep(5000);
                            new WebDriverWait(DriverChrome, TimeSpan.FromSeconds(10.0)).Until<bool>((Func<IWebDriver, bool>)((IWebDriver d) => (bool)(d as IJavaScriptExecutor).ExecuteScript("return (document.readyState == 'complete') && (window.jQuery != null) && (jQuery.active === 0);", new object[0])));
                            bool QtyText = this.DriverChrome.FindElement(By.XPath("//*[@id='mip_totPkgQty']/input")).Enabled;
                            if (QtyText)
                            {
                                this.DriverChrome.FindElement(By.XPath("//*[@id='ipt_mblNo']")).Clear();
                                this.DriverChrome.FindElement(By.XPath("//*[@id='ipt_mblNo']")).SendKeys(inputMawb);

                                //Nhấn vào dấu + để thêm dòng mới để nhập DIM //chạy vòng for, ví dụ SR này có 5DO thì cho chạy từ 0
                                delAllRows();
                                DataTable dt3 = config.GW_DIM(SR);
                                if (dt3.Rows.Count > 0)
                                {
                                    for (int i = 0; i < dt3.Rows.Count; i++)
                                    {
                                        this.DriverChrome.FindElement(By.XPath("//*[@id='mip_totGrossWt']/input")).SendKeys(Keys.Backspace);
                                        this.DriverChrome.FindElement(By.XPath("//*[@id='mip_totGrossWt']/input")).SendKeys(Keys.Backspace);
                                        this.DriverChrome.FindElement(By.XPath("//*[@id='mip_totGrossWt']/input")).SendKeys(Keys.Backspace);
                                        this.DriverChrome.FindElement(By.XPath("//*[@id='mip_totGrossWt']/input")).SendKeys(Keys.Backspace);
                                        this.DriverChrome.FindElement(By.XPath("//*[@id='mip_totGrossWt']/input")).SendKeys(Keys.Backspace);
                                        this.DriverChrome.FindElement(By.XPath("//*[@id='mip_totGrossWt']/input")).SendKeys(Keys.Backspace);
                                        this.DriverChrome.FindElement(By.XPath("//*[@id='mip_totGrossWt']/input")).SendKeys(Keys.Backspace);
                                        this.DriverChrome.FindElement(By.XPath("//*[@id='mip_totGrossWt']/input")).SendKeys(Keys.Backspace);
                                        this.DriverChrome.FindElement(By.XPath("//*[@id='mip_totGrossWt']/input")).SendKeys(Keys.Backspace);
                                        this.DriverChrome.FindElement(By.XPath("//*[@id='mip_totGrossWt']/input")).SendKeys(Keys.Backspace);
                                        this.DriverChrome.FindElement(By.XPath("//*[@id='mip_totGrossWt']/input")).SendKeys(dt3.Rows[i]["sGW"].ToString());
                                        saveGw = dt3.Rows[i]["sGW"].ToString();
                                        elementsave = "//*[@id='btn_rowAdd02']";
                                        Webelment = DriverChrome.FindElement(By.XPath(elementsave));
                                        Java = (IJavaScriptExecutor)DriverChrome;
                                        if (i < dt3.Rows.Count)
                                        {
                                            Java.ExecuteScript("arguments[0].click();", Webelment);
                                            Thread.Sleep(1000);
                                            if (config.Resolution == "1366x768")
                                            {
                                                LeftMouseClickDup(933, 326);
                                            }
                                            else if (config.Resolution == "1600x900")
                                            {
                                                LeftMouseClickDup(1092, 326);
                                            }
                                            Thread.Sleep(500);
                                            SendKeys.Send("{ENTER " + i + "}");
                                            Thread.Sleep(500);
                                            SendKeys.SendWait("{F2}");
                                            Thread.Sleep(500);
                                            SendKeys.SendWait(dt3.Rows[i]["Length"].ToString());
                                            SendKeys.SendWait("{TAB}");
                                            Thread.Sleep(500);
                                            SendKeys.SendWait(dt3.Rows[i]["Width"].ToString());
                                            SendKeys.SendWait("{TAB}");
                                            Thread.Sleep(500);
                                            SendKeys.SendWait(dt3.Rows[i]["Heigh"].ToString());
                                            SendKeys.SendWait("{TAB}");
                                            Thread.Sleep(500);
                                            SendKeys.Send(Keys.Backspace);
                                            SendKeys.Send(Keys.Backspace);
                                            SendKeys.Send(Keys.Backspace);
                                            SendKeys.SendWait(dt3.Rows[i]["PLT_Qty"].ToString());
                                            SendKeys.SendWait("{TAB}");
                                        }
                                    }
                                }
                                Thread.Sleep(500);
                                xMawb = this.DriverChrome.FindElement(By.XPath("//*[@id='ipt_mblNo']")).GetAttribute("value");
                                xGW = this.DriverChrome.FindElement(By.XPath("//*[@id='mip_totGrossWt']/input")).GetAttribute("value");
                                Thread.Sleep(1000);
                                //chuyển sang Tabb General             
                                if (config.Resolution == "1366x768")
                                {
                                    LeftMouseClickDup(30, 269);
                                }
                                else if (config.Resolution == "1600x900")
                                {
                                    LeftMouseClickDup(31, 269);
                                }
                                Thread.Sleep(1000);
                                //MessageBox.Show(dt.Rows[i0]["FLT"].ToString()+ dt.Rows[i0]["ETA"].ToString()+"-"+ dt.Rows[i0]["ETD"].ToString()+"-"+ dt.Rows[i0]["Air"].ToString()+"-" +dt.Rows[0]["Mawb"].ToString());                       

                                bool chkMawb = xMawb == inputMawb;
                                bool chkGW = xGW.Contains(saveGw);

                                if (chkMawb && chkGW && chkTransNo && chkETA && chkETD && chkAir && chkIssue)
                                {
                                    //So sanh thông tin nhập vào và thông tin nhập vào và thông tin trong hệ thống nếu trùng khớp thì mới sang tab cargo
                                    //gọi buttom Save
                                    //*[@id = "btn_save"]
                                    elementsave = ".//*[@id='btn_save']";
                                  IWebElement  webElementSv = DriverChrome.FindElement(By.XPath(elementsave));
                                IJavaScriptExecutor js1 = (IJavaScriptExecutor)DriverChrome;
                                    js1.ExecuteScript("arguments[0].click();", webElementSv);
                                    Thread.Sleep(500);
                                    //Nhấn vào buttom Save
                                    this.DriverChrome.SwitchTo().DefaultContent();
                                    if (DriverChrome.FindElement(By.XPath(".//li[contains(@style,'display: block')]")).Enabled == true)
                                    {
                                        string element = ".//li[contains(@style,'display: block')]//button[contains(.,'OK')]";
                                        IWebElement webElement = DriverChrome.FindElement(By.XPath(element));
                                        js1 = (IJavaScriptExecutor)DriverChrome;
                                        js1.ExecuteScript("arguments[0].click();", webElement);
                                        Thread.Sleep(1000);
                                    }
                                    Java = (IJavaScriptExecutor)DriverChrome;
                                int timeoutSec = 10;
                                WebDriverWait wait = new WebDriverWait(DriverChrome, new TimeSpan(0, 0, timeoutSec));
                                    wait.Until(wd => Java.ExecuteScript("return document.readyState").ToString() == "complete");
                                    Thread.Sleep(4000);
                                    //Nhấn Yes xong gọi buttom Change Hawb
                                    this.DriverChrome.SwitchTo().Frame(this.DriverChrome.FindElement(By.XPath(".//iframe[contains(@Id,'ifm_FIS010000004967')]")));
                                    isCheckHawb = this.DriverChrome.FindElement(By.XPath("//*[@id='ipt_hblNoCd']")).GetAttribute("value");
                                    bool checkhawb = isCheckHawb == dt.Rows[i0]["Hawb"].ToString();
                                    //Check nếu hawb trên hệ thông Cello trùng vời hawb asgl thì không cần change hawb n
                                    if (!checkhawb)
                                    {
                                        elementsave = "//*[@id='btn_hblNoChgMiw']";
                                        IWebElement webElementcf = DriverChrome.FindElement(By.XPath(elementsave));
                                        IJavaScriptExecutor jscf = (IJavaScriptExecutor)DriverChrome;
                                        jscf.ExecuteScript("arguments[0].click();", webElementcf);
                                        //Thread.Sleep(2000);

                                        this.DriverChrome.SwitchTo().DefaultContent();
                                        Thread.Sleep(1000);
                                        this.DriverChrome.SwitchTo().Frame(this.DriverChrome.FindElement(By.XPath(".//iframe[contains(@Id,'iframePopup')]")));
                                        Thread.Sleep(500);
                                        bool iCheck = ElementIsPresent(DriverChrome, By.XPath("//div[@id='div_blnoChange_fisObBlEntryBlNoChangeP01']/table/tbody/tr[2]/td/input"));
                                        //MessageBox.Show(iCheck.ToString());
                                        if (iCheck)
                                        {
                                            this.DriverChrome.FindElement(By.XPath("//div[@id='div_blnoChange_fisObBlEntryBlNoChangeP01']/table/tbody/tr[2]/td/input")).Clear();
                                            this.DriverChrome.FindElement(By.XPath("//div[@id='div_blnoChange_fisObBlEntryBlNoChangeP01']/table/tbody/tr[2]/td/input")).SendKeys(dt.Rows[i0]["Hawb"].ToString());
                                            elementsave = ".//*[@id='btn_blnoChage_fisObBlEntryBlNoChangeP01']";
                                            Webelment = DriverChrome.FindElement(By.XPath(elementsave));
                                            Java = (IJavaScriptExecutor)DriverChrome;
                                            Java.ExecuteScript("arguments[0].click();", Webelment);
                                            Thread.Sleep(1000);
                                        }
                                        this.DriverChrome.SwitchTo().DefaultContent();
                                        if (DriverChrome.FindElement(By.XPath(".//li[contains(@style,'display: block')]")).Enabled == true)
                                        {
                                            string element = ".//li[contains(@style,'display: block')]//button[contains(.,'OK')]";
                                            IWebElement webElement = DriverChrome.FindElement(By.XPath(element));
                                            js1 = (IJavaScriptExecutor)DriverChrome;
                                            js1.ExecuteScript("arguments[0].click();", webElement);
                                            Thread.Sleep(1000);
                                            config.UpdateTimeInput(dt.Rows[i0]["Hawb"].ToString(), SR);
                                            config.Log_Info("Update Hawb:" + dt.Rows[i0]["Hawb"].ToString() + " SR: " + SR + " Success");
                                            xFLT = ""; xETA = ""; xETD = ""; xAir = ""; xMawb = ""; xGW = ""; saveGw = ""; luuETA = ""; isCheckHawb = ""; inputMawb = ""; xIssues = "";
                                    }
                                        Java = (IJavaScriptExecutor)DriverChrome;
                                        timeoutSec = 10;
                                        wait = new WebDriverWait(DriverChrome, new TimeSpan(0, 0, timeoutSec));
                                        wait.Until(wd => Java.ExecuteScript("return document.readyState").ToString() == "complete");
                                        Thread.Sleep(8000);
                                    }
                                    else
                                    {
                                        this.DriverChrome.SwitchTo().DefaultContent();
                                        config.UpdateTimeInput(dt.Rows[i0]["Hawb"].ToString(), SR);
                                        config.Log_Info("Update Hawb:" + dt.Rows[i0]["Hawb"].ToString() + " SR: " + SR + " Success");
                                        xFLT = ""; xETA = ""; xETD = ""; xAir = ""; xMawb = ""; xGW = ""; saveGw = ""; luuETA = ""; isCheckHawb = ""; inputMawb = ""; xIssues = "";
                                    }


                                }
                                else
                                {
                                    this.DriverChrome.SwitchTo().DefaultContent();
                                    Thread.Sleep(1000);
                                    InputGeneralTab();
                                    xFLT = ""; xETA = ""; xETD = ""; xAir = ""; xMawb = ""; xGW = ""; saveGw = ""; luuETA = ""; isCheckHawb = ""; inputMawb = ""; xIssues = "";
                            }
                            }
                       

                    }
                    TimerReRun.Start();
                }
                else
                    TimerReRun.Start();
            }
            catch (Exception ex)
            {
                //MessageBox.Show(ex.Message);
                config.Log_Error(ex.Message);
            }
        }

        private void delAllRows()
        {
            string text = this.DriverChrome.FindElement(By.XPath("//*[@id='total2_dimensionInfo']")).Text;
            bool xCount = Convert.ToInt32(text) > 0;
            if (xCount) //Check Lưới nhập thông tin DIM xem có dữ liệu chưa. nếu có thì xóa đi để nhập mới
            {
                if (config.Resolution == "1366x768")
                {
                    LeftMouseClickDup(908, 313);
                }
                else if (config.Resolution == "1600x900")
                {
                    LeftMouseClickDup(1063, 313);
                }
                Thread.Sleep(1000);
                this.DriverChrome.FindElement(By.XPath("//*[@id='btn_rowDel02']")).Click();
                elementsave = "//*[@id='btn_rowDel02']";
                Webelment = DriverChrome.FindElement(By.XPath(elementsave));
                Java = (IJavaScriptExecutor)DriverChrome;
                Java.ExecuteScript("arguments[0].click();", Webelment);
                Thread.Sleep(1000);
            }
        }

        private void ClickYes_Confirm()
        {
            elementsave = "/div[contains(@style, 'display: block') and contains(@id, 'cello_confirm')]/div[2]/div[2]/button[1]";
            Webelment = DriverChrome.FindElement(By.XPath(elementsave));
            Java = (IJavaScriptExecutor)DriverChrome;
            Java.ExecuteScript("arguments[0].click();", Webelment);
        }

        private bool ElementIsPresent(IWebDriver driver, By by)
        {
            try
            {
                WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(1.0));
                wait.Until((IWebDriver x) => x.FindElement(by));
                Thread.Sleep(1000);
                return driver.FindElement(by).Enabled;
            }
            catch (Exception)
            {
                return false;
            }
        }

        private void Button1_Click(object sender, EventArgs e)
        {
            //Restart.Start();
            StartCelloPlus(txtUser.Text, txtPassword.Text);
        }

        private void Button2_Click(object sender, EventArgs e)
        {
            CloseChrome();
        }

        private void Timer1_Tick(object sender, EventArgs e)
        {
            try
            {
                StopCello();
                StartCelloPlus(txtUser.Text, txtPassword.Text);
            }
            catch
            { }
        }

        

        private void Timer2_Tick(object sender, EventArgs e)
        {
            StopCello();
            //this.StopCello();
            StartCelloPlus(txtUser.Text, txtPassword.Text);
        }

        private void StopToolStripMenuItem_Click(object sender, EventArgs e)
        {
            StopCello();
        }
        public void CloseChrome()
        {
            try
            {
                DriverChrome.Quit();
                
                var chromeDriverProcesses1 = Process.GetProcesses().
                                    Where(pr => pr.ProcessName == "chromedriver");

                foreach (var process1 in chromeDriverProcesses1)
                {
                    process1.Kill();
                }
                Thread.Sleep(3000);
                Application.Exit();
            }
            catch
            { }
        }
        public void StopCello()
        {
            try
            {
                DriverChrome.Quit();

                //var chromeDriverProcesses1 = Process.GetProcesses().
                //                    Where(pr => pr.ProcessName == "chromedriver");

                //foreach (var process1 in chromeDriverProcesses1)
                //{
                //    process1.Kill();
                //}
                Thread.Sleep(3000);
            }
            catch
            {
                Application.Restart();
            }
        }

        private void TimerReRun_Tick(object sender, EventArgs e)
        {
            TimerReRun.Stop();
            InputGeneralTab();
        }

        private void Button3_Click(object sender, EventArgs e)
        {
            InputGeneralTab();
        }

        private void groupBox2_Enter(object sender, EventArgs e)
        {

        }

        private void refreshToolStripMenuItem1_Click(object sender, EventArgs e)
        {

        }
    }
}
 

Câu hỏi mới nhất