From 6efbcc64219288447fb2957e835b964a6677bb7e Mon Sep 17 00:00:00 2001 From: Peter Svensson Date: Sun, 16 Apr 2023 13:25:04 +0200 Subject: [PATCH 1/5] fixes #1821 by installing required drivers and adding options to chromedriver --- Dockerfile | 3 ++- autogpt/commands/web_selenium.py | 4 ++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 309b857c1c09..82672c94ba09 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,6 +4,7 @@ FROM python:3.11-slim # Install git RUN apt-get -y update RUN apt-get -y install git +RUN apt-get install -y libglib2.0 libnss3 libgconf-2-4 libfontconfig1 chromium-driver # Set environment variables ENV PIP_NO_CACHE_DIR=yes \ @@ -24,4 +25,4 @@ RUN pip install --no-cache-dir --user -r requirements-docker.txt COPY --chown=appuser:appuser autogpt/ ./autogpt # Set the entrypoint -ENTRYPOINT ["python", "-m", "autogpt"] +ENTRYPOINT ["python", "-m", "autogpt", "--debug"] diff --git a/autogpt/commands/web_selenium.py b/autogpt/commands/web_selenium.py index 359803eed3f7..3dbd1b98bcbb 100644 --- a/autogpt/commands/web_selenium.py +++ b/autogpt/commands/web_selenium.py @@ -74,6 +74,10 @@ def scrape_text_with_selenium(url: str) -> Tuple[WebDriver, str]: # See https://developer.apple.com/documentation/webkit/testing_with_webdriver_in_safari driver = webdriver.Safari(options=options) else: + options.add_argument('--no-sandbox') + options.add_argument('--window-size=1420,1080') + options.add_argument('--headless') + options.add_argument('--disable-gpu') driver = webdriver.Chrome( executable_path=ChromeDriverManager().install(), options=options ) From d30771fa7868dbb3b8ea976d791d32c8665a9181 Mon Sep 17 00:00:00 2001 From: Peter Svensson Date: Sun, 16 Apr 2023 13:34:48 +0200 Subject: [PATCH 2/5] removed debug flag --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 82672c94ba09..8c3c0d8cfd72 100644 --- a/Dockerfile +++ b/Dockerfile @@ -25,4 +25,4 @@ RUN pip install --no-cache-dir --user -r requirements-docker.txt COPY --chown=appuser:appuser autogpt/ ./autogpt # Set the entrypoint -ENTRYPOINT ["python", "-m", "autogpt", "--debug"] +ENTRYPOINT ["python", "-m", "autogpt"] From 470ebce6b22b79cdaa760595ab8b099238399c46 Mon Sep 17 00:00:00 2001 From: bvoo <60059541+bvoo@users.noreply.github.com> Date: Sun, 16 Apr 2023 05:27:14 -0700 Subject: [PATCH 3/5] cleanup --- Dockerfile | 3 +-- autogpt/commands/web_selenium.py | 10 ++++++---- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/Dockerfile b/Dockerfile index 8c3c0d8cfd72..9886d74266f2 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,8 +3,7 @@ FROM python:3.11-slim # Install git RUN apt-get -y update -RUN apt-get -y install git -RUN apt-get install -y libglib2.0 libnss3 libgconf-2-4 libfontconfig1 chromium-driver +RUN apt-get -y install git chromium-driver # Set environment variables ENV PIP_NO_CACHE_DIR=yes \ diff --git a/autogpt/commands/web_selenium.py b/autogpt/commands/web_selenium.py index 3dbd1b98bcbb..021d149c9cd0 100644 --- a/autogpt/commands/web_selenium.py +++ b/autogpt/commands/web_selenium.py @@ -64,6 +64,12 @@ def scrape_text_with_selenium(url: str) -> Tuple[WebDriver, str]: options.add_argument( "user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.5615.49 Safari/537.36" ) + options.add_argument( + '--no-sandbox' + ) + options.add_argument( + '--headless' + ) if CFG.selenium_web_browser == "firefox": driver = webdriver.Firefox( @@ -74,10 +80,6 @@ def scrape_text_with_selenium(url: str) -> Tuple[WebDriver, str]: # See https://developer.apple.com/documentation/webkit/testing_with_webdriver_in_safari driver = webdriver.Safari(options=options) else: - options.add_argument('--no-sandbox') - options.add_argument('--window-size=1420,1080') - options.add_argument('--headless') - options.add_argument('--disable-gpu') driver = webdriver.Chrome( executable_path=ChromeDriverManager().install(), options=options ) From 97a9867844ce4640feda9699a1a2c670743699f4 Mon Sep 17 00:00:00 2001 From: Peter Svensson Date: Sun, 16 Apr 2023 17:59:47 +0200 Subject: [PATCH 4/5] remvoed options so that @pi can merge this and another commit easily --- autogpt/commands/web_selenium.py | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/autogpt/commands/web_selenium.py b/autogpt/commands/web_selenium.py index 021d149c9cd0..9b64ac2ea007 100644 --- a/autogpt/commands/web_selenium.py +++ b/autogpt/commands/web_selenium.py @@ -64,13 +64,7 @@ def scrape_text_with_selenium(url: str) -> Tuple[WebDriver, str]: options.add_argument( "user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.5615.49 Safari/537.36" ) - options.add_argument( - '--no-sandbox' - ) - options.add_argument( - '--headless' - ) - + if CFG.selenium_web_browser == "firefox": driver = webdriver.Firefox( executable_path=GeckoDriverManager().install(), options=options From 96e1e14975aed589be95d225085a6d0c8afecf54 Mon Sep 17 00:00:00 2001 From: Peter Svensson Date: Sun, 16 Apr 2023 19:33:27 +0200 Subject: [PATCH 5/5] removed erroneous whitespace to appease lint --- autogpt/commands/web_selenium.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/autogpt/commands/web_selenium.py b/autogpt/commands/web_selenium.py index 9b64ac2ea007..359803eed3f7 100644 --- a/autogpt/commands/web_selenium.py +++ b/autogpt/commands/web_selenium.py @@ -64,7 +64,7 @@ def scrape_text_with_selenium(url: str) -> Tuple[WebDriver, str]: options.add_argument( "user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.5615.49 Safari/537.36" ) - + if CFG.selenium_web_browser == "firefox": driver = webdriver.Firefox( executable_path=GeckoDriverManager().install(), options=options