Skip to content

Selenium无头模式

Selenium 无头模式

无头模式介绍

无头模式是 Selenium 的一个功能,它允许你在不显示实际浏览器窗口的情况下运行自动化测试或爬取网页数据,无头模式常用于以下情况

  1. 节省资源:在无头模式下,不需要显示浏览器窗口,这可以节省系统资源和内存,特别是当你需要运行大规模的自动化任务时。
  2. 增加性能,无头模式可以更快地执行自动化任务,因为它不需要渲染页面或处理图形用户界面。
  3. 隐身浏览:无头模式可以更隐秘地进行网页爬取或测试,因为不会显示任何浏览器窗口。

无头模式的使用

  1. 导入必要的库
  • Python:

    from selenium import webdriver
    from selenium.webdriver.chrome.options import Options
    
  • Java:
 import org.openqa.selenium.edge.EdgeDriver;
 import org.openqa.selenium.edge.EdgeOptions;
  1. 配置无头模式选项(以 Chrome 浏览器为例)
  • Python:
 chrome_options = Options()
 chrome_options.add_argument("--headless")  # 启用无头模式
  • Java:
 options =new ChromeOptions();
 //启用无头模式
 options.addArguments("--headless");

chrome_options.add_argument()可以传入其他选项

  • --start-maximized:启动浏览器时最大化窗口。
  • --window-size=width,height:设置浏览器窗口的宽度和高度。
  1. 创建 WebDriver 实例:
  • Python:

    driver = webdriver.Chrome(options=chrome_options)
    
  • Java:
 driver = new ChromeDriver(options);
  1. 执行操作

    现在可以使用 driver 对象来执行各种操作,如打开网页、查找元素、点击按钮等

  • Python:

    driver.get("https://ceshiren.com/")
    page_source = driver.page_source
    print(page_source)
    
  • Java:
 driver.get("https://ceshiren.com/");
 String pageSource = driver.getPageSource();
 System.out.println(pageSource);
  1. 清理资源

    记得在使用完 WebDriver 后关闭它,以释放资源

  • Python:

    driver.quit()
    
  • Java:

    driver.quit();