自从2018年开始,Windows下新版的浏览器也支持后台打开了,只要加一个参数headless。
Chrome谷歌浏览器:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
WINDOW_SIZE = "1920,1080"
options = Options()
options.add_argument("--headless")
options.add_argument("--window-size=%s" % WINDOW_SIZE)
driver = webdriver.Chrome(options=options)
driver.get("https://www.baidu.com")
driver.get_screenshot_as_file("capture.png")
driver.close()
Firefox火狐浏览器:
from selenium import webdriver
from selenium.webdriver.firefox.options import Options
options = Options()
options.add_argument("--headless")
options.add_argument("--window-size=%s" % WINDOW_SIZE)
driver = webdriver.Firefox(options=options)
driver.get("https://www.baidu.com")
driver.get_screenshot_as_file("capture2.png")
driver.close()
以下古老的方式只能在linux下使用
sudo apt-get install xvfb
pip install pyvirtualdisplay
#!/usr/bin/env python
from pyvirtualdisplay import Display
from selenium import webdriver
display = Display(visible=0, size=(800, 600))
display.start()
# Now Firefox will run in a virtual display.
# You will not see the browser.
browser = webdriver.Firefox()
browser.get('http://www.google.com')
print browser.title
browser.quit()
display.stop()