我正在使用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
我的问题:
--headless
、--headless=chrome
和--headless=new
有什么区别?
1.我应该使用哪个,--headless
,--headless=chrome
还是--headless=new
?
2条答案
按热度按时间mrphzbgm1#
这里解释了这些差异:https://stackoverflow.com/a/73840130/7058266
首先是
--headless
。然后--headless=chrome
被添加到Chrome 96中。在Chrome 109中,它被重新命名为--headless=new
。较新的一个使无头Chrome的工作完全像普通的Chrome,但它比旧的无头Chrome稍慢,因为它有相同的后端代码,普通的Chrome。使用方法:
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应该会带来更好的体验。