Подтвердить что ты не робот

Firefox webdriver постоянно открывает первую страницу запуска

Как отключить эту страницу "первого запуска" раз и навсегда для FF?

Когда создается драйвер FF, он открывает вкладку с помощью - https://www.mozilla.org/en-US/firefox/42.0/firstrun/learnmore/ и дополнительную вкладку с целевой страницей.

4b9b3361

Ответ 1

Чтобы отключить эту раздражающую стартовую страницу:

Больше защиты. Самая конфиденциальность. Первый сценарий Mozilla Firefox

в С# с селеном 2.48 Я нашел следующее решение:

FirefoxProfile prof = new FirefoxProfile();
prof.SetPreference("browser.startup.homepage_override.mstone", "ignore");
prof.SetPreference("startup.homepage_welcome_url.additional",  "about:blank");
Driver = new FirefoxDriver(prof);

... и он больше никогда вас не беспокоит.

Примечание. Один из этих параметров также будет работать. Я использую их вместе, чтобы сделать его пуленепробиваемым.

Ответ 2

В случае решения, отлично работает

FirefoxProfile fp = new FirefoxProfile();
fp.setPreference("browser.startup.homepage", "about:blank");
fp.setPreference("startup.homepage_welcome_url", "about:blank");
fp.setPreference("startup.homepage_welcome_url.additional", "about:blank");

Ответ 3

Я столкнулся с той же проблемой. Я только что изменил версию Selenium на 2.48, и проблема решена.

Ответ 4

Это связано с несовместимостью версий Selenium и Firefox, но не с каким-либо конкретным номером версии.

Вы должны быть 1-2 версиями Firefox за новейшим, если ваш WebDriver находится в последней версии. В противном случае сверните версию Firefox еще дальше, если ваш WebDriver старше или обновите Webdriver.

Чтобы получить более старый Firefox, попробуйте https://ftp.mozilla.org/pub/firefox/releases/ или http://www.oldapps.com/

или в Linux, в зависимости от вашего дистрибутива

yum list --showduplicates firefox
sudo yum install firefox-<version>

или

apt-cache show firefox | grep Version
sudo apt-get install firefox=<version>

Ответ 5

Решение С#, обновленный Selenium WebDriver до 2.49.0 решил проблему для меня.

Ответ 6

Вышеупомянутые решения не работают, я пробовал их. Что для меня работало и, вероятно, будет для вас (при использовании firefox 43 или меньше):

    prof.setPreference("xpinstall.signatures.required", false);
    prof.setPreference("toolkit.telemetry.reportingpolicy.firstRun", false);

Проблемы с 43 и селеном имеют двоякий характер: стандартная настройка расширений (до true) и первая страница запуска. Эти линии решают оба. Они должны быть установлены программно. Если вы попытаетесь установить их примерно: config (или непосредственно в prefs.js), это не повлияет на новые браузеры, которые вы открываете с помощью селена. Следует отметить, что они говорят, что firefox 44 не позволит вам установить переменную подписанных расширений (так что это не будет работать на 44).

Я включаю код из моего действующего кода, показывающего правильное использование:

    FirefoxProfile prof = new FirefoxProfile();
    //FirefoxProfile prof = profile.getProfile("default");
    //prof.setPreference("browser.startup.homepage", proteinPageUrl);
    //prof.setPreference("startup.homepage_welcome_url", proteinPageUrl);
    //prof.setPreference("startup.homepage_welcome_url.additional", proteinPageUrl);
    prof.setPreference("xpinstall.signatures.required", false);
    prof.setPreference("toolkit.telemetry.reportingpolicy.firstRun", false);
    //Object socketLock = new Object();
    //synchronized(socketLock){

    //driver = new FirefoxDriver();
    driver = new FirefoxDriver(prof);

        //driver = forceInit();
        //driver.open();
    //}//end synch block

    //get protein page
    boolean done = true;
    do{
        driver.get(proteinPageUrl);

        final Wait<WebDriver> waitDriver = new FluentWait<WebDriver>(driver)
                   .withTimeout(30, java.util.concurrent.TimeUnit.SECONDS)
                   .pollingEvery(5, java.util.concurrent.TimeUnit.SECONDS);
        try{
            inputTextFeildElement = waitDriver.until(new Function<WebDriver,WebElement>(){
                public WebElement apply(WebDriver diver){
                    return driver.findElement(By.name("term"));
                    }});
        }

        catch(NoSuchElementException nsee){
            //if not find by name try find by id
            if(driver.findElements(By.id("term")).size() != 0){
                try{
                    inputTextFeildElement = driver.findElement(By.id("term"));
                    done = true;
                } catch(NoSuchElementException nsee2){
                    synchronized(threadLogFile){
                        try {
                            threadLogWriter = new PrintWriter(new FileWriter(threadLogFile.getAbsoluteFile(), true));
                        } catch (IOException ioe) {
                            System.out.println("error opening file for append: " + ioe.getMessage());
                            ioe.printStackTrace();
                        }//catch
                        threadLogWriter.println("Thread Id: " + threadId + " with thread name: " + threadName + " fails to find input element by name or id to put accession: " + accession);
                        threadLogWriter.flush();
                        threadLogWriter.close();
                    }//synchronized
                    done = false;
                }//catch nsee2
            }//catch nsee
        }
        catch(ElementNotVisibleException enve){
            done = false;
        }
    }while(!done);  

Ответ 7

Если вы используете selenium webdriver из Capybara/Cucumber, вы можете изменить URL-адрес по умолчанию при регистрации вашего драйвера с помощью startup.homepage_welcome_url.additional:

Capybara.register_driver :firefox do |app|
  profile = Selenium::WebDriver::Firefox::Profile.new
  profile['browser.startup.homepage_override.mstone'] = 'ignore'
  profile['startup.homepage_welcome_url.additional'] = 'about:blank'

  Capybara::Selenium::Driver.new(app, :browser => :firefox, :profile => profile)
end

Ответ 8

Я столкнулся с той же проблемой. Мое решение:

  • Я понизил Firefox до 36.0.
  • Он отлично работал с Selenium 2.53.1.

Я надеюсь, что эта помощь.:)