/// <summary>
        /// 【XPATH版】
        /// 対象の要素が取得できる状態になってから
        /// 安全に取得する
        /// </summary>
        /// <param name="chrome">ドライバ</param>
        /// <param name="xPath">XPATH</param>
        /// <returns></returns>
        public static IWebElement GetSafeWebElementByXPath(ChromeDriverEx chrome, string xPath)
        {
            try
            {
                IWebElement element;

                WaitElementArrivalByXPath(chrome, xPath);
                element = chrome.FindElementByXPath(xPath);

                return(element);
            }
            catch (Exception e)
            {
                CommonControl.DebugPrint(e);
            }

            // error
            return(null);
        }
Exemplo n.º 2
0
        /// <summary>
        /// 新着メッセージの数を取得する
        /// </summary>
        /// <param name="roomName"></param>
        /// <returns></returns>
        public int getRoomNewArrivalsMsgNumber(string roomName)
        {
            // 対象のルームの新着番号 XPATH
            string      targetRoomXPATH = string.Format(Constants.XPATH_LINE_NewArrivals, roomName);
            IWebElement ele             = null;

            try
            {
                IsActivate();

                // 要素が見つかったら
                if (chrome.FindElementsByXPath(targetRoomXPATH).Count > 0)
                {
                    ele = chrome.FindElementByXPath(targetRoomXPATH);

                    // 新着数 取得
                    if (string.IsNullOrEmpty(ele.Text.Trim(' ')))
                    {
                        return(0);
                    }
                    else
                    {
                        return(int.Parse(ele.Text.Trim(' ')));
                    }
                }
                else
                {
                    return(0);
                }
            }
            catch (Exception e)
            {
                if (ele != null)
                {
                    CommonControl.DebugPrint(e, ele.Text);      // 原因究明用
                }
                else
                {
                    CommonControl.DebugPrint(e);
                }
                return(0);
            }
        }