--headless vs --headless=Chrome vs --headless= Selenium中的新功能

cx6n0qe3  于 2023-09-28  发布在  Go
关注(0)|答案(2)|浏览(227)

我正在使用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有什么区别?
    1.我应该使用哪个,--headless--headless=chrome还是--headless=new
mrphzbgm

mrphzbgm1#

这里解释了这些差异:https://stackoverflow.com/a/73840130/7058266
首先是--headless。然后--headless=chrome被添加到Chrome 96中。在Chrome 109中,它被重新命名为--headless=new。较新的一个使无头Chrome的工作完全像普通的Chrome,但它比旧的无头Chrome稍慢,因为它有相同的后端代码,普通的Chrome。
使用方法:

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

vptzau2j2#

--headless是旧参数,缺少一些新特性,例如我无法使用Selenium下载文件。
--headless=new有更多的功能,目前我使用这个选项,以便我可以测试文件下载。
https://www.selenium.dev/blog/2023/headless-is-going-away/
传统的-无头,自版本96以来,Chrome有一个新的无头模式,允许用户获得完整的浏览器功能(甚至运行扩展)。在96到108版本之间,它是--headless=Chrome,在109版本之后--headless=new。
在Selenium中使用headless时,使用--headless=new应该会带来更好的体验。

相关问题