59

我似乎找不到任何关于如何让 Selenium 在隐身模式下打开浏览器的文档。

我必须在浏览器中设置自定义配置文件吗?

4

9 回答 9

85

首先,由于selenium默认情况下会使用干净、全新的配置文件启动浏览器,因此您实际上已经在进行私密浏览。参考:


但是无论如何,您都可以严格执行/打开隐身/私人模式。

对于 chrome 传递--incognito命令行参数

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

仅供参考,这是它会打开的:

节日快乐!

对于火狐,设置browser.privatebrowsing.autostartTrue

from selenium import webdriver

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

driver = webdriver.Firefox(firefox_profile=firefox_profile)

仅供参考,这对应于设置中的以下复选框:

在此处输入图像描述

于 2014-12-24T01:12:39.157 回答
15

注意: chrome_options 现在已弃用。我们可以使用 'options' 代替 chrome_options

from selenium import webdriver

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

driver = webdriver.Chrome(options=options)
driver.get('https://google.com')
于 2019-06-14T06:50:12.207 回答
5

我已经使用 ChromeOptions 和 FirefoxOptions 成功地使用 Java 中的代码片段在隐身/私人模式下启动了 Chrome 和 Firefox,如下所示:

    //For Firefox
    FirefoxOptions options = new FirefoxOptions();
    options.addArguments("-private");
    DesiredCapabilities caps = new DesiredCapabilities();
    caps.setCapability("moz:firefoxOptions",options);

    //For Chrome
    ChromeOptions options = new ChromeOptions();
    options.addArguments("-incognito");
    caps.setCapability(ChromeOptions.CAPABILITY, options);

    WebDriver driver = new RemoteWebDriver(new URL(URL), caps);
于 2018-04-23T17:27:43.833 回答
4

有一种非常简单的方法可以在隐身模式下打开窗口:

from selenium.webdriver.chrome.options import Options

chrome_options = Options()
# incognito window
chrome_options.add_argument("--incognito")

您还可以使用此库来最大化窗口等,请参阅文档:https ://seleniumhq.github.io/selenium/docs/api/rb/Selenium/WebDriver/Chrome/Options.html

于 2018-03-15T15:22:04.820 回答
3

对于火狐:(Python)==>

from selenium import webdriver    
firefox_options = webdriver.FirefoxOptions()
firefox_options.add_argument("--private")
browser = webdriver.Firefox(firefox_options=firefox_options)
于 2018-06-25T12:43:20.773 回答
2
//We need to add argument "--incogneto" in ChromeOptions object and pass this ChromeOptions instance to the web driver initialization.  
  
    
    ChromeOptions options = new ChromeOptions()
    options.addArgument("start-maximized");
    options.addArgument("--incognito");
    ChromeDriver driver = new ChromeDriver(options);
    driver.get("https://investopedia.com");
于 2021-03-27T01:01:43.460 回答
1

对于带有歌剧的python

from selenium import webdriver

options =  webdriver.opera.webdriver.Options()
options.add_argument("private")
driver = webdriver.Opera(executable_path="operadriver",options=options)
于 2020-05-25T02:32:03.763 回答
1

在 Chrome 浏览器中,您可以使用 Python 执行此操作,如下所示

正如您在使用 chrome 时所看到的,您可以在 chrome 浏览器的选项菜单部分中选择隐身模式。因此,当您使用 selenium 时,您可以使用

chrome_options = webdriver.ChromeOptions()

所以,代码是:

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

driver = webdriver.Chrome(executable_path="<path of chrome_driver.exe file>",options=chrome_options)

因此,您唯一要做的就是将“webdriver.Chrome”这个给定值赋予它的另一个参数,即“options”。

于 2019-07-26T15:06:59.540 回答
0

电源外壳

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)
于 2017-05-23T21:04:11.100 回答