Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > .NET Languages
You last visited: Today at 20:42

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[Selenium] Screenshot von Google ReCaptcha falsche position

Discussion on [Selenium] Screenshot von Google ReCaptcha falsche position within the .NET Languages forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 300
Join Date: Apr 2013
Posts: 3,234
Received Thanks: 1,205
[Selenium] Screenshot von Google ReCaptcha falsche position

Hey, ich versuche mit Selenium und dem FireFox driver ein Screenshot von dem Google Recaptcha v2 zu machen. Theoretisch klappt es, aber der Screenshot wird bei einer falschen Position gemacht. So, dass das Captcha nur zum kleinen Teil drauf ist. Woran liegt das?

Source:

Code:
private bool SolveCaptcha(FirefoxDriver webdriver)
        {
            var currentFrame = driver.CurrentWindowHandle;
            var iframe = driver.FindElementsByTagName("iframe");
            var el = iframe[0];
            driver.SwitchTo().Frame(el);
            driver.FindElementById("recaptcha-anchor").Click();
            Thread.Sleep(1000);
            driver.SwitchTo().DefaultContent();
            iframe = driver.FindElementsByTagName("iframe");
            el = iframe[2];
            driver.SwitchTo().Frame(el);
            Thread.Sleep(1000);
            var text = driver.FindElementByClassName("rc-imageselect-desc-wrapper").Text;

            if (File.Exists("captcha.png"))
            {
                File.Delete("captcha.png");
            }

            var arrScreen = webdriver.GetScreenshot().AsByteArray;
            using (var screen = new MemoryStream(arrScreen))
            {
                var bmpScreen = new Bitmap(screen);
                //var captchas = webdriver.FindElementsByClassName("captcha");
                //var element = captchas.FirstOrDefault(item => item.GetAttribute("class") == "captcha");


                var captcha = webdriver.FindElementById("rc-imageselect");

                var rectangle = new Rectangle(captcha.Location, captcha.Size);
                Image imgCap = bmpScreen.Clone(rectangle, bmpScreen.PixelFormat);
                imgCap.Save("captcha.png");
                using (var msCaptcha = new MemoryStream())
                {
                    imgCap.Save(msCaptcha, ImageFormat.Png);
                }
            }

            return false; // noch keine funktion
        }
Bei web.de habe ich so ein Screen von dem Captcha bekommen, hier funktioniert das komischerweise nicht so genau. Liegt es am iFrame?
#Saiirex is offline  
Old 06/26/2016, 21:44   #2
 
C_O_R_E's Avatar
 
elite*gold: 0
Join Date: Jul 2014
Posts: 264
Received Thanks: 54
Ich habe überwiegend in Python 3 mit Selenium gearbeitet, doch die meisten Probleme liegen meist beim "graben" der HTML-Elemente.Kontrolliere ob du auch wirklich das iframe vom Capatcha grabst und kein anderes iFrame-Element, was zuvor im Document definiert ist.

Wie ich gerade sehe suchst du nach dem Element-Tag "iframe". Ich würde dir vorschlagen, bei komplexeren Webseiten FindElementByXpath zu nehmen.
C_O_R_E is offline  
Old 06/27/2016, 14:48   #3
 
elite*gold: 300
Join Date: Apr 2013
Posts: 3,234
Received Thanks: 1,205
Quote:
Originally Posted by C_O_R_E View Post
Ich habe überwiegend in Python 3 mit Selenium gearbeitet, doch die meisten Probleme liegen meist beim "graben" der HTML-Elemente.Kontrolliere ob du auch wirklich das iframe vom Capatcha grabst und kein anderes iFrame-Element, was zuvor im Document definiert ist.

Wie ich gerade sehe suchst du nach dem Element-Tag "iframe". Ich würde dir vorschlagen, bei komplexeren Webseiten FindElementByXpath zu nehmen.
XPath war in diesem Fall nicht möglich.

Der Grund warum es nicht funktioniert hat: Das Bild lag ja in einem iFrame und die Koordinaten haben sich logischerweise auf das iFrame bezogen. Ich habe aber versucht mit diesen Koordinaten ein Screenshot vom DefaultContent zu machen, was logischerweise nicht funktionieren konnte. Lösung: Ins Frame wechseln und dort ein Bild machen, oder ein Bild von dem iFrame machen und dort dann das richtige Ausschneiden.
#Saiirex is offline  
Reply


Similar Threads Similar Threads
[RELEASE] PDO Registration Script with the new Google reCAPTCHA Verification
08/30/2019 - Shaiya PServer Guides & Releases - 11 Replies
I have been asked by some people about how i built my Registration script with new Google reCAPTCHA. Well is not so hard to make this happen, in fact is a less of headache and is quite easy to implement... DEMO (Style not included) http://i.epvpimg.com/Ub9zg.png So let's get started.
Google reCaptcha v2
01/30/2016 - General Coding - 12 Replies
Moin, vieles hat sich bei Googles Captcha getan und man bekommt leider nicht mehr diese schönen, oder auch eher wenig schönen, Texte wie früher. Ich jedenfalls nicht. Die 9BilderCaptchas "knacken" zu lassen dauert verdammt lange, bis mal ein richtiges dabei ist. Kennt ihr Methoden ein Text angezeigt zu bekommen? Oder wo ich diese 9Bilder mit einer hohen Wahrscheinlichkeit knacken lassen kann? Gruß Mr.Tr33
cs hat falsche position?
02/15/2014 - Flyff Private Server - 1 Replies
Hallo, ich habe ein cs hat gemodelt und eingefügt und habe als vorlage das bunnyhat genommenin cinema 4d habe ich es auch richtig positioniert aber warum ist es ingame jetzt bei den füßen? http://i.epvpimg.com/0qTnd.jpg
[SUCHE] Auto Google ReCaptcha Bildausleser
03/11/2012 - General Coding - 5 Replies
Hallo Kenn jemand von euch ein Tool für Goolge ReCaptcha, um dies auszulesen und zu automatesieren? Habe hier nützliche links, hab diese geprüft. Ist aber nicht geworden. Falls jemand von euch etwas Bescheid weiß, nur raus damit :) Danke schon mal, hier die Links: Google ReCaptcha Bild auslesen http://www.elitepvpers.com/forum/coding-releases/ 1305175-google-goggles-crackt-recaptcha.html
Google Goggles crackt reCaptcha
08/18/2011 - Coding Releases - 21 Replies
Das CAPTCHA-System(reCAPTCHA) welches Google übernahm, wurde mal wieder am 13.7.2011 gelöst. Diesmal sind es nicht irgendwelche direkten speziellen Engines die den Vorgang lösen, sondern Google selbst. Gefundene Lösung von Krez‘ Als ich mir Google Mobile App für mein iPhone anschaute, hat mich das App überrascht, da die Bilderkennung recht treffsicher war. Mit einem einfachen Tool (Wireshark) hab ich die Netzwerk-Kommunikation vom iPhone gesnifft um zu schauen wie der Datentransfer...



All times are GMT +1. The time now is 20:42.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.