Selenium Facebook安全检查的验证码不可见

时间:2019-09-05 15:45:05

标签: java selenium security recaptcha geckodriver

enter image description here

我正在使用Firefox驱动程序,并且正在Facebook页面上进行一些测试。有几次,我得到了验证码,但是我使用的是captchaSolver API来解决这个问题。目前,验证码是完全不可见的,我不知道为什么。验证码的框架中也没有任何内容,它是空的。是因为Facebook的安全问题而发生这种情况,还是我的驱动程序出现了问题。因为我可以轻松地通过浏览器(Chrome,Firefox ...)看到验证码

System.setProperty("webdriver.gecko.driver", System.getProperty("user.dir") + "/base/geckodriver.exe");

                FirefoxProfile profile = new FirefoxProfile();
                profile.setPreference("network.cookie.cookieBehavior", 0);
                profile.setPreference("dom.popup_maximum", 0);
                profile.setPreference("privacy.popups.showBrowserMessage", false);
                profile.setPreference("dom.disable_beforeunload", true);
                profile.setPreference("dom.webnotifications.enabled", false);
                profile.setPreference("dom.push.enabled", false);
                profile.setPreference("intl.accept_languages", "en-US");

                FirefoxOptions options = new FirefoxOptions();
                options.addArguments("--lang=en-us");
                options.setLogLevel(FirefoxDriverLogLevel.FATAL);

                if (bHeadless) {
                    options.addArguments("--width=1920", "--height=1080");
                    options.setHeadless(true);
                }

                options.setProfile(profile);
                wDriver = new FirefoxDriver(options);

                wDriver.manage().timeouts().pageLoadTimeout(15, TimeUnit.SECONDS);
                wDriver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS);

1 个答案:

答案 0 :(得分:0)

尝试添加行

options.addArguments("-private");

基本上可以通过使用addArguments方法并将arg –private添加到代码中来隐身运行它。