2014-12-24 9 views
22

Ich finde keine Dokumentation, wie Selenium den Browser im Inkognito-Modus öffnen kann.Python/Selen inkognito/private mode

Muss ich ein benutzerdefiniertes Profil im Browser einrichten oder?

+0

möglich Duplikat [Python - Start firefox mit Selen im privaten Modus] (http://stackoverflow.com/questions/27425116/python-start-firefox- with-selen-in-private-mode) – AlexMeng

+0

@AlexMeng Ja, könnte ein Duplikat sein, aber ich denke, ich habe es geschafft, die Idee in einer einzigen Antwort zusammenzufassen und mehr Python-spezifische Optionen zu bieten. Vielen Dank. – alecxe

+1

@alecxe Ich stimme zu, dass Ihre Antwort hier detaillierter ist und daher die Priorität hat. Das Ergebnis ist jedoch, dass die * andere * Frage, auf die Sie eine Antwort gepostet haben, ** ein Duplikat von dieser ist. ** (Es ist völlig in Ordnung, die doppelte Frage mit den Antworten von geringerer Qualität zu beantworten , unabhängig davon, welche Frage gestellt wurde * zuerst *.) Beachten Sie, dass die Stammkunden auf Meta eine schwache Sicht auf Benutzer haben, die Antworten auf eine Frage und ihre Duplikate (n) posten. – Louis

Antwort

32

Zunächst einmal, seit selenium startet standardmäßig einen Browser mit einem sauberen, brandneuen Profil, Sie sind tatsächlich bereits privat durchsuchen. Mit Bezug auf:


Sie können aber strikt durchzusetzen/einschalten inkognito/privaten Modus sowieso.

Für Chrom Pass --incognito command-line argument:

--incognito Bewirkt, dass der Browser direkt im Inkognito-Modus zu starten.

from selenium import webdriver 

chrome_options = webdriver.ChromeOptions() 
chrome_options.add_argument("--incognito") 

driver = webdriver.Chrome(chrome_options=chrome_options) 
driver.get('https://google.com') 

FYI, hier ist das, was würde es eröffnen:

happy holidays!

für Firefox, Set browser.privatebrowsing.autostart-True:

from selenium import webdriver 

firefox_profile = webdriver.FirefoxProfile() 
firefox_profile.set_preference("browser.privatebrowsing.autostart", True) 

driver = webdriver.Firefox(firefox_profile=firefox_profile) 

FYI, das dem folgenden entspricht Kontrollkästchen in den Einstellungen:

enter image description here

+0

Wissen Sie, wie man in Firefox? – BubblewrapBeast

+0

Ich verstehe, was Sie in "Python - Starten von Firefox mit Selen im privaten Modus" bedeuten, aber ich bin mehrere Dinge auf einmal laufen und ingonito wird benötigt, wie sonst die URL wird umgeleitet, basierend auf dem, was der vorherige tut. Danke – BubblewrapBeast

+0

Es ist wichtig, den tatsächlichen Inkognito-Modus beim Testen zu erzwingen. Zum Beispiel verbietet Safari das Schreiben in den lokalen Speicher im privaten Modus. Daher ist es wichtig, Tests so auszuführen, dass Fehler im Zusammenhang mit dieser Einschränkung erkannt werden. – Zack

0

Powershell

try{ 
    # Import the Selenium DLLs 
    Add-Type -Path "$Seleniumlib\Selenium.WebDriverBackedSelenium.dll" 
    Add-Type -Path "$Seleniumlib\WebDriver.dll" 
    Add-Type -Path "$Seleniumlib\WebDriver.Support.dll" 
} 
catch [Exception]{ 
    Write-Host ("Error: {0}" -f $_.Exception.Message) 
    exit 1 
} 

$options = New-Object OpenQA.Selenium.Chrome.ChromeOptions 
$options.AddArgument("--incognito") 
$driver = New-Object OpenQA.Selenium.Chrome.ChromeDriver($options)