Exemple #1
0
        private void DaTi(IWebDriver iframeElWebDriver)
        {
            IWebElement bigImgEl = iframeElWebDriver.FinElement(By.ClassName("bg-placeholder"));

            if (bigImgEl != null)
            {
                string base64img = this.GetPicBase64Data(iframeElWebDriver);
                if (!base64img.IsNullOrWhiteSpace())
                {
                    string base64imgNoHeand = ImageHelper.TakeOutHeand(base64img);
                    if (this.OldImgBase64 == base64imgNoHeand)
                    {
                        this.dtMgr.report_error();
                        XLog.Error("Vtt验证码识别错误,报错", Array.Empty <object>());
                    }
                    this.OldImgBase64 = base64imgNoHeand;
                    PointLianZhong[] zuobiaos = this.dtMgr.GetPoints(base64imgNoHeand, 3, 3);
                    if (zuobiaos != null)
                    {
                        List <PointX>    l = new List <PointX>();
                        PointLianZhong[] pointLianZhongArray = zuobiaos;
                        for (int i = 0; i < (int)pointLianZhongArray.Length; i++)
                        {
                            PointLianZhong item = pointLianZhongArray[i];
                            l.Add(new PointX()
                            {
                                X = item.X,
                                Y = item.Y
                            });
                        }
                        ImageHelper.HuaDianAndSave(base64img, l);
                        Actions          actions = new Actions(iframeElWebDriver);
                        PointLianZhong[] pointLianZhongArray1 = zuobiaos;
                        for (int j = 0; j < (int)pointLianZhongArray1.Length; j++)
                        {
                            PointLianZhong zuobiao = pointLianZhongArray1[j];
                            actions.MoveToElement(bigImgEl, zuobiao.X, zuobiao.Y).Perform();
                            Thread.Sleep(HelperGeneral.Random.Next(1000, 2500));
                            actions.MoveToElement(bigImgEl, zuobiao.X, zuobiao.Y).Click().Perform();
                            Thread.Sleep(HelperGeneral.Random.Next(1000, 2500));
                        }
                        Thread.Sleep(6000);
                    }
                }
                else
                {
                    XLog.Error("图标点击-->js 注入取图片 获取失败", Array.Empty <object>());
                }
            }
            else
            {
                XLog.Debug("图标点击,大图元素找不到", Array.Empty <object>());
            }
        }
Exemple #2
0
        private void VTTShiBieGuoChengDaTi(IWebDriver iframeElWebDriver, IWebElement tcaptcha_vtt0Elem)
        {
            XLog.Debug("VTTShiBieGuoChengDaTi 开始", Array.Empty <object>());
            string      tcaptcha_titleStr = iframeElWebDriver.GetTextByElement(By.ClassName("tcaptcha-title"), null);
            IWebElement tcaptcha_imgEl    = iframeElWebDriver.FinElement(By.Id("tcaptcha-img"));

            if (tcaptcha_imgEl != null)
            {
                (new Actions(iframeElWebDriver)).Click();
                string base64img = this.GetPicBase64Data(iframeElWebDriver, tcaptcha_titleStr);
                if (!base64img.IsNullOrWhiteSpace())
                {
                    string base64imgNoHeand = ImageHelper.TakeOutHeand(base64img);
                    if (this.OldImgBase64 == base64imgNoHeand)
                    {
                        this.dtMgr.report_error();
                        XLog.Error("Vtt验证码识别错误,报错", Array.Empty <object>());
                    }
                    this.OldImgBase64 = base64imgNoHeand;
                    PointLianZhong zuobiao = this.dtMgr.GetPoint(base64imgNoHeand, 1, 1);
                    if (zuobiao != null)
                    {
                        ImageHelper.HuaDianAndSave(base64img, zuobiao.X, zuobiao.Y);
                        Actions actions = new Actions(iframeElWebDriver);
                        actions.MoveToElement(tcaptcha_imgEl, zuobiao.X, zuobiao.Y).Perform();
                        Thread.Sleep(1000);
                        actions.MoveToElement(tcaptcha_imgEl, zuobiao.X, zuobiao.Y).Click().Perform();
                        Thread.Sleep(6000);
                    }
                }
                else
                {
                    XLog.Error("Vtt验证码-->获取失败", Array.Empty <object>());
                }
            }
        }