--headless 与 --headless=chrome 与 --headless=Selenium 中的新

问题描述 投票:0回答:2

我正在使用 Django 和 Google Chrome 学习 Selenium。 *我使用Selenium 4.11.2

然后,我用

--headless
--headless=chrome
--headless=new
进行测试,如下所示,然后一切正常:

from django.test import LiveServerTestCase
from selenium import webdriver

class TestBrowser(LiveServerTestCase):
    def test_example(self):
        options = webdriver.ChromeOptions()
        options.add_argument("--headless") # Here
        driver = webdriver.Chrome(options=options)
        driver.get(("%s%s" % (self.live_server_url, "/admin/")))
        assert "Log in | Django site admin" in driver.title
from django.test import LiveServerTestCase
from selenium import webdriver

class TestBrowser(LiveServerTestCase):
    def test_example(self):
        options = webdriver.ChromeOptions()
        options.add_argument("--headless=chrome") # Here
        driver = webdriver.Chrome(options=options)
        driver.get(("%s%s" % (self.live_server_url, "/admin/")))
        assert "Log in | Django site admin" in driver.title
from django.test import LiveServerTestCase
from selenium import webdriver

class TestBrowser(LiveServerTestCase):
    def test_example(self):
        options = webdriver.ChromeOptions()
        options.add_argument("--headless=new") # Here
        driver = webdriver.Chrome(options=options)
        driver.get(("%s%s" % (self.live_server_url, "/admin/")))
        assert "Log in | Django site admin" in driver.title

我的问题:

  1. --headless
    --headless=chrome
    --headless=new
    有什么区别?
  2. 我应该使用哪个,
    --headless
    --headless=chrome
    还是
    --headless=new
python django google-chrome selenium-webdriver google-chrome-headless
2个回答
0
投票

此处解释了差异:https://stackoverflow.com/a/73840130/7058266

首先来了

--headless
。然后在 Chrome 96 中添加了
--headless=chrome
。然后在 Chrome 109 中将新名称更名为
--headless=new
。较新的版本使无头 Chrome 的工作方式与常规 Chrome 完全相同,但它比旧的无头 Chrome 稍慢一些,因为它具有与常规 Chrome 相同的后端代码。

用途:

options.add_argument("--headless=new")

0
投票

--headless
是较旧的论点,缺少一些新功能,例如我无法使用 Selenium 下载文件。
--headless=new
有更多功能,目前我使用此选项,以便我可以测试文件下载。

来自 https://www.selenium.dev/blog/2023/headless-is-going-away/

传统的 --headless,从 96 版本开始,Chrome 有了新的 headless 模式,允许用户获得完整的浏览器功能(甚至运行扩展)。在版本 96 到 108 之间是 --headless=chrome,在版本 109 之后是 --headless=new。
在将 headless 与 Selenium 一起使用时,使用 --headless=new 应该会带来更好的体验。

© www.soinside.com 2019 - 2024. All rights reserved.