我似乎找不到任何关于如何让 Selenium 在隐身模式下打开浏览器的文档。
我必须在浏览器中设置自定义配置文件吗?
我似乎找不到任何关于如何让 Selenium 在隐身模式下打开浏览器的文档。
我必须在浏览器中设置自定义配置文件吗?
首先,由于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.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)
仅供参考,这对应于设置中的以下复选框:
注意: 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')
我已经使用 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);
有一种非常简单的方法可以在隐身模式下打开窗口:
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
对于火狐:(Python)==>
from selenium import webdriver
firefox_options = webdriver.FirefoxOptions()
firefox_options.add_argument("--private")
browser = webdriver.Firefox(firefox_options=firefox_options)
//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");
对于带有歌剧的python
from selenium import webdriver
options = webdriver.opera.webdriver.Options()
options.add_argument("private")
driver = webdriver.Opera(executable_path="operadriver",options=options)
在 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”。
电源外壳
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)