From 0b80ee79b1c05891cbdfb044261cd115f1dc0563 Mon Sep 17 00:00:00 2001 From: kinoshitakenta Date: Mon, 19 May 2025 11:02:58 +0800 Subject: [PATCH] feat: automates ChromeDriver management Updates the ChromeDriver setup to use `webdriver_manager` instead of relying on a local executable. This ensures the correct ChromeDriver version is automatically downloaded and managed, improving reliability and reducing manual configuration. Removes the now unnecessary `chromedriver.exe` from the `.gitignore` file. --- .gitignore | 3 --- utils/driver.py | 5 ++--- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/.gitignore b/.gitignore index 605c675..ea32224 100644 --- a/.gitignore +++ b/.gitignore @@ -1,9 +1,6 @@ # module cache __pycache__/ -# selenium driver -chromedriver.exe - # log file *.log diff --git a/utils/driver.py b/utils/driver.py index d5b3d62..028dc87 100644 --- a/utils/driver.py +++ b/utils/driver.py @@ -1,16 +1,15 @@ from selenium import webdriver from selenium.webdriver.chrome.service import Service from selenium.webdriver.chrome.webdriver import WebDriver +from webdriver_manager.chrome import ChromeDriverManager def get_driver() -> WebDriver: - service = Service(executable_path='./chromedriver.exe') - options = webdriver.ChromeOptions() # options.add_argument("--headless") options.add_argument('--disable-gpu') options.add_experimental_option('excludeSwitches', ['enable-logging']) - driver = webdriver.Chrome(service=service, options=options) + driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=options) driver.implicitly_wait(4) return driver