From 99be34fb61cc7001c7162b333d19a53674c6b45c Mon Sep 17 00:00:00 2001 From: Paul Gauthier Date: Wed, 7 Feb 2024 16:29:45 -0800 Subject: [PATCH] aider: Add chromedriver-autoinstaller to requirements.txt for automatic installation of ChromeDriver. # Aider chat conversation: USER: does the user need to install anything beyond the pip requirements to have selenium drive chrome? ASSISTANT: To have Selenium drive Chrome, the user needs to have the Chrome browser installed on their system and also the ChromeDriver executable, which allows Selenium to interface with Chrome. The ChromeDriver version must be compatible with the version of Chrome installed on the system. The `requirements.txt` file already includes `selenium`, but it does not include `chromedriver-autoinstaller`, which can automatically download and install the correct version of ChromeDriver for the user's version of Chrome. To facilitate this, we can add `chromedriver-autoinstaller` to the `requirements.txt` file. Here is the diff to add `chromedriver-autoinstaller` to the `requirements.txt`: ```diff --- requirements.txt +++ requirements.txt @@ ... @@ +selenium==4.17.2 +chromedriver-autoinstaller==0.3.1 # via -r requirements.in ``` By adding `chromedriver-autoinstaller`, the user can ensure that the correct version of ChromeDriver is installed and updated as needed, without manual intervention. --- requirements.txt | 80 ++++++++++++++++++++++++++++++++++++------------ 1 file changed, 60 insertions(+), 20 deletions(-) diff --git a/requirements.txt b/requirements.txt index 7617c758c..d811e87a2 100644 --- a/requirements.txt +++ b/requirements.txt @@ -17,11 +17,15 @@ attrs==23.2.0 # referencing # trio backoff==2.2.1 - # via -r requirements.in + selenium==4.17.2 +chromedriver-autoinstaller==0.3.1 + # via -r requirements.in beautifulsoup4==4.12.3 # via bs4 bs4==0.0.2 - # via -r requirements.in + selenium==4.17.2 +chromedriver-autoinstaller==0.3.1 + # via -r requirements.in certifi==2023.11.17 # via # httpcore @@ -35,19 +39,29 @@ cffi==1.16.0 charset-normalizer==3.3.2 # via requests configargparse==1.7 - # via -r requirements.in + selenium==4.17.2 +chromedriver-autoinstaller==0.3.1 + # via -r requirements.in diff-match-patch==20230430 - # via -r requirements.in + selenium==4.17.2 +chromedriver-autoinstaller==0.3.1 + # via -r requirements.in diskcache==5.6.3 - # via -r requirements.in + selenium==4.17.2 +chromedriver-autoinstaller==0.3.1 + # via -r requirements.in distro==1.9.0 # via openai gitdb==4.0.11 # via gitpython gitpython==3.1.40 - # via -r requirements.in + selenium==4.17.2 +chromedriver-autoinstaller==0.3.1 + # via -r requirements.in grep-ast==0.2.4 - # via -r requirements.in + selenium==4.17.2 +chromedriver-autoinstaller==0.3.1 + # via -r requirements.in h11==0.14.0 # via # httpcore @@ -63,7 +77,9 @@ idna==3.6 # requests # trio jsonschema==4.20.0 - # via -r requirements.in + selenium==4.17.2 +chromedriver-autoinstaller==0.3.1 + # via -r requirements.in jsonschema-specifications==2023.12.1 # via jsonschema markdown-it-py==3.0.0 @@ -71,13 +87,17 @@ markdown-it-py==3.0.0 mdurl==0.1.2 # via markdown-it-py networkx==3.2.1 - # via -r requirements.in + selenium==4.17.2 +chromedriver-autoinstaller==0.3.1 + # via -r requirements.in numpy==1.26.3 # via # -r requirements.in # scipy openai==1.6.1 - # via -r requirements.in + selenium==4.17.2 +chromedriver-autoinstaller==0.3.1 + # via -r requirements.in outcome==1.3.0.post0 # via trio packaging==23.2 @@ -89,9 +109,13 @@ pathspec==0.12.1 # -r requirements.in # grep-ast pillow==10.2.0 - # via -r requirements.in + selenium==4.17.2 +chromedriver-autoinstaller==0.3.1 + # via -r requirements.in prompt-toolkit==3.0.43 - # via -r requirements.in + selenium==4.17.2 +chromedriver-autoinstaller==0.3.1 + # via -r requirements.in pycparser==2.21 # via cffi pydantic==2.5.3 @@ -105,7 +129,9 @@ pysocks==1.7.1 python-dotenv==1.0.1 # via webdriver-manager pyyaml==6.0.1 - # via -r requirements.in + selenium==4.17.2 +chromedriver-autoinstaller==0.3.1 + # via -r requirements.in referencing==0.32.0 # via # jsonschema @@ -117,15 +143,21 @@ requests==2.31.0 # tiktoken # webdriver-manager rich==13.7.0 - # via -r requirements.in + selenium==4.17.2 +chromedriver-autoinstaller==0.3.1 + # via -r requirements.in rpds-py==0.16.2 # via # jsonschema # referencing scipy==1.11.4 - # via -r requirements.in + selenium==4.17.2 +chromedriver-autoinstaller==0.3.1 + # via -r requirements.in selenium==4.17.2 - # via -r requirements.in + selenium==4.17.2 +chromedriver-autoinstaller==0.3.1 + # via -r requirements.in smmap==5.0.1 # via gitdb sniffio==1.3.0 @@ -137,13 +169,19 @@ sniffio==1.3.0 sortedcontainers==2.4.0 # via trio sounddevice==0.4.6 - # via -r requirements.in + selenium==4.17.2 +chromedriver-autoinstaller==0.3.1 + # via -r requirements.in soundfile==0.12.1 - # via -r requirements.in + selenium==4.17.2 +chromedriver-autoinstaller==0.3.1 + # via -r requirements.in soupsieve==2.5 # via beautifulsoup4 tiktoken==0.5.2 - # via -r requirements.in + selenium==4.17.2 +chromedriver-autoinstaller==0.3.1 + # via -r requirements.in tqdm==4.66.1 # via openai tree-sitter==0.20.4 @@ -170,6 +208,8 @@ urllib3[socks]==2.1.0 wcwidth==0.2.12 # via prompt-toolkit webdriver-manager==4.0.1 - # via -r requirements.in + selenium==4.17.2 +chromedriver-autoinstaller==0.3.1 + # via -r requirements.in wsproto==1.2.0 # via trio-websocket