2014-12-24 12 views
22

Non riesco a trovare alcuna documentazione su come rendere Selenium aperto il browser in modalità di navigazione in incognito.Python/Selenium in incognito/privato

Devo impostare un profilo personalizzato nel browser o?

+0

possibile duplicato di [Python - avviare Firefox con selenio in privato] (http://stackoverflow.com/questions/27425116/python-start-firefox- with-selenium-in-private-mode) – AlexMeng

+0

@AlexMeng sì, potrebbe essere un duplicato, ma penso di essere riuscito a riassumere l'idea in una singola risposta e fornire più opzioni specifiche per python. Grazie. – alecxe

+1

@alecxe Sono d'accordo che la tua risposta qui sia più dettagliata e quindi è quella che dovrebbe essere data priorità. Tuttavia, il risultato è che * l'altra * domanda a cui hai postato una risposta ** è un duplicato di questa. ** (È del tutto normale per le consuetudini SO votare come duplicata la domanda con le risposte di minore qualità , indipendentemente da quale domanda è stata pubblicata * prima *.) Si noti che i frequentatori di Meta non considerano gli utenti che postano le risposte a una domanda e i relativi duplicati. – Louis

risposta

32

Prima di tutto, dal momento che selenium avvia automaticamente un browser con un profilo nuovo di zecca, in realtà si sta già navigando privatamente. Facendo riferimento a:


Ma si può far rispettare rigorosamente/attivare la modalità in incognito/privato in ogni caso.

Per passaggio cromo --incognito command-line argument:

--incognito Provoca il browser di lanciare direttamente in modalità in incognito.

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

proposito, ecco cosa aprirebbe:

happy holidays!

Per firefox, impostare browser.privatebrowsing.autostart a True:

from selenium import webdriver 

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

driver = webdriver.Firefox(firefox_profile=firefox_profile) 

proposito, questo corrisponde alla seguente casella di controllo nelle impostazioni:

enter image description here

+0

Sai come usare Firefox? – BubblewrapBeast

+0

Capisco cosa intendi in "Python - Avvia firefox con Selenium in modalità privata" ma eseguo più cose contemporaneamente e ingonito è necessario poiché l'url viene reindirizzato in base a ciò che sta facendo il precedente. Grazie – BubblewrapBeast

+0

È importante applicare la modalità di navigazione in incognito quando si esegue il test. Ad esempio, Safari proibisce la scrittura nella memoria locale quando ci si trova in modalità privata. Pertanto, è importante eseguire i test in modo da rilevare i bug relativi a questa limitazione. – 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)