it-swarm.com.de

Der Firefox-Webtreiber öffnet die erste Ausführungsseite ständig

Wie kann man diese "first run" -Seite ein für alle mal für FF deaktivieren?

Wenn der FF-Treiber erstellt wird, wird der Tab mit - https://www.mozilla.org/en-US/firefox/42.0/firstrun/learnmore/ Und einem zusätzlichen Tab mit Zielseite geöffnet.

41
divide by zero

So deaktivieren Sie diese nervige Startseite:

 More protection. The most privacy. Mozilla Firefox firstrun screen

in C # mit Selenium 2.48 habe ich folgende Lösung gefunden:

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);

... und es wird dich nie wieder stören.

Hinweis: Eine dieser Einstellungen alleine funktioniert ebenfalls. Ich benutze sie zusammen, um sie kugelsicher zu machen.

22
Elmue

Ich habe eine Lösung gefunden, funktioniert gut

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");
10
pardill0

Ich habe das gleiche Problem gehabt. Ich habe gerade die Selenium-Version auf 2.48 geändert und das Problem gelöst.

9
Tanvir Ahmed

Dies wird durch Inkompatibilität zwischen den Versionen von Selenium und Firefox verursacht, jedoch nicht durch eine bestimmte Versionsnummer.

Sie sollten 1-2 Firefox-Versionen hinter der neuesten sein, wenn Ihr WebDriver auf der neuesten Version ist. Andernfalls rollen Sie die Firefox-Version noch weiter zurück, wenn Ihr WebDriver älter ist, oder aktualisieren Sie den Webdriver.

Um einen älteren Firefox zu erhalten, versuchen Sie https://ftp.mozilla.org/pub/firefox/releases/ oder http://www.oldapps.com/

oder unter Linux, abhängig von Ihrer Distribution

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

oder

apt-cache show firefox | grep Version
Sudo apt-get install firefox=<version>
4
emery

Bei der C # -Lösung wurde ein Upgrade von Selenium WebDriver auf 2.49.0 vorgenommen.

3
Bleeped

Wenn Sie den Selenium-Treiber von Capybara/Cucumber verwenden, können Sie die Standard-URL ändern, wenn Sie Ihren Treiber mit startup.homepage_welcome_url.additional registrieren:

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
1
Sam3k

Die oben genannten Lösungen funktionieren nicht. Ich habe sie ausprobiert. Was für mich funktioniert hat und wahrscheinlich für Sie gilt (wenn Sie Firefox 43 oder weniger verwenden): 

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

Die Probleme mit 43 und Selenium sind zweifach, die Standardeinstellung für signierte Erweiterungen (auf true) und die erste Ausführungsseite. Diese Zeilen lösen beide. Diese müssen programmgesteuert gesetzt werden. Wenn Sie versuchen, sie in about: config (oder direkt in prefs.js) einzurichten, hat dies keine Auswirkungen auf die neuen Browser, die Sie mit Selenium öffnen. Es sollte beachtet werden, dass firefox 44 Ihnen nicht erlaubt, die signierte Erweiterungsvariable festzulegen (so funktioniert dies nicht bei 44).

Ich füge den Codeblock aus meinem jetzt funktionierenden Code hinzu, der die korrekte Verwendung zeigt:

    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);  
1
user5766476

Ich hatte das gleiche Problem ... Meine Lösung:

  • Ich habe Firefox auf 36.0 heruntergestuft. 
  • Mit Selen 2.53.1 hat es gut funktioniert.

Ich hoffe diese Hilfe. :) 

0
Tam Dao