# SeleniumClient **Repository Path**: wangyelou/SeleniumClient ## Basic Information - **Project Name**: SeleniumClient - **Description**: selenium-java 的封装,支持更多爬虫需求 - **Primary Language**: Java - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 5 - **Forks**: 3 - **Created**: 2021-06-10 - **Last Updated**: 2025-05-15 ## Categories & Tags **Categories**: testing **Tags**: None ## README #### 简介 > 对selenium-java进行封装,使其更加符合爬虫场景, 目前只支持firefox。 #### 功能 1. 创建连接池管理浏览器对象, 当请求时直接调用池中浏览器操作,减少浏览器启动关闭的时间 2. 实现浏览器在线切换代理, 基于firefox + js + 插件实现, js用来设置代理, 插件用来做代理认证。 插件地址:https://gitee.com/wangyelou/firefox-proxy-auth/releases 3. 兼容网页获取和文件下载, 自动检测是否有文件下载,并返回文件内容 #### 使用 * 连接池使用(推荐) ```java SetupConfig setupConfig = SetupConfig.builder().binPath("C:\\Program Files\\Mozilla Firefox\\firefox.exe") .enginePath("D:\\work\\firefox-selenium\\geckodriver.exe") .proxyAuthExt("D:\\work\\firefox-selenium\\firefox_proxy_auth.xpi") .poolSize(3).build(); ExecutorService executorService = Executors.newFixedThreadPool(3); ISeleniumPoolService seleniumPool = SeleniumManager.createFirefoxSeleniumPool(setupConfig); IWebDriverService webDriver = seleniumPool.getWebDriver(3000); try { webDriver.fetch("http://www.badiu.com/", new SeleniumProxy("http", "127.0.0.1", 7598, "user", "pass")); } finally { seleniumPool.release(webDriver); } ``` * 单独使用 ``` SetupConfig setupConfig = SetupConfig.builder().binPath("C:\\Program Files\\Mozilla Firefox\\firefox.exe") .enginePath("D:\\work\\firefox-selenium\\geckodriver.exe") .proxyAuthExt("D:\\work\\firefox-selenium\\firefox_proxy_auth.xpi").build(); IWebDriverService webDriver = SeleniumManager.createFirefoxSelenium(setupConfig); webDriver.fetch("https://www.baidu.com/"); ```