public async void ShouldThrowCaptchaExceptionWhenCaptchaNotFound()
        {
            var plugin = new RecaptchaPlugin(new PuppeteerExtraSharp.Plugins.Recaptcha.Provider.AntiCaptcha.AntiCaptcha(Resources.AntiCaptchaKey));

            var browser = await LaunchWithPluginAsync(plugin);

            var page = await browser.NewPageAsync();

            await page.GoToAsync("https://lessons.zennolab.com/ru/index");

            var result = await plugin.SolveCaptchaAsync(page);

            Assert.NotNull(result.Exception);
            Assert.False(result.IsSuccess);
            //await browser.CloseAsync();
        }
        public async void ShouldSolveCaptchaWithCallback()
        {
            var plugin  = new RecaptchaPlugin(new PuppeteerExtraSharp.Plugins.Recaptcha.Provider.AntiCaptcha.AntiCaptcha(Resources.AntiCaptchaKey));
            var browser = await LaunchWithPluginAsync(plugin);

            var page = await browser.NewPageAsync();

            await page.GoToAsync("https://lessons.zennolab.com/captchas/recaptcha/v2_nosubmit.php?level=low");

            var result = await plugin.SolveCaptchaAsync(page);

            Assert.Null(result.Exception);

            await page.WaitForTimeoutAsync(1000);

            await CheckSuccessVerify(page);
        }
Пример #3
0
        public async Task ShouldResolveCaptchaInGooglePage()
        {
            var plugin  = new RecaptchaPlugin(new PuppeteerExtraSharp.Plugins.Recaptcha.Provider._2Captcha.TwoCaptcha(Resources.TwoCaptchaKey));
            var browser = await this.LaunchWithPluginAsync(plugin);

            var page = (await browser.PagesAsync())[0];

            await page.GoToAsync("https://www.google.com/recaptcha/api2/demo");

            await plugin.SolveCaptchaAsync(page);

            var button = await page.QuerySelectorAsync("input[id='recaptcha-demo-submit']");

            await button.ClickAsync();

            await page.WaitForNavigationAsync();

            var successElement = await page.QuerySelectorAsync("div[class='recaptcha-success']");

            Assert.NotNull(successElement);
        }
        public async Task ShouldSolveCaptchaWithSubmitButton()
        {
            var plugin  = new RecaptchaPlugin(new PuppeteerExtraSharp.Plugins.Recaptcha.Provider.AntiCaptcha.AntiCaptcha(Resources.AntiCaptchaKey));
            var browser = await LaunchWithPluginAsync(plugin);

            var page = await browser.NewPageAsync();

            await page.GoToAsync("https://lessons.zennolab.com/captchas/recaptcha/v2_simple.php?level=low");

            var result = await plugin.SolveCaptchaAsync(page);

            Assert.Null(result.Exception);

            var button = await page.QuerySelectorAsync("input[type='submit']");

            await button.ClickAsync();

            await page.WaitForTimeoutAsync(1000);

            await CheckSuccessVerify(page);
        }
Пример #5
0
        public async Task ShouldSolveInvisibleCaptcha()
        {
            var plugin  = new RecaptchaPlugin(new PuppeteerExtraSharp.Plugins.Recaptcha.Provider._2Captcha.TwoCaptcha(Resources.TwoCaptchaKey));
            var browser = await this.LaunchWithPluginAsync(plugin);

            var page = (await browser.PagesAsync())[0];

            await page.GoToAsync("https://recaptcha-demo.appspot.com/recaptcha-v2-invisible.php");

            var result = await plugin.SolveCaptchaAsync(page);

            Assert.Null(result.Exception);
            await page.WaitForNavigationAsync();

            var elements = await page.QuerySelectorAllAsync("main h2");

            Assert.Equal(2, elements.Length);

            var elementPropery = await(await elements[1].GetPropertyAsync("textContent")).JsonValueAsync <string>();

            Assert.Equal("Success!", elementPropery);
        }