diff --git a/botcity/web/browsers/chrome.py b/botcity/web/browsers/chrome.py index 1782533..bf24877 100644 --- a/botcity/web/browsers/chrome.py +++ b/botcity/web/browsers/chrome.py @@ -132,9 +132,11 @@ def wait_for_downloads(driver): """ if not driver.current_url.startswith("chrome://downloads"): driver.get("chrome://downloads/") + # Chrome changed the `e.state` from a ENUM Str to numbers. Here 2 means COMPLETE. + # Reference: https://shorturl.at/G4EES return driver.execute_script(""" var items = document.querySelector('downloads-manager') .shadowRoot.getElementById('downloadsList').items; - if (items.every(e => e.state === "COMPLETE")) + if (items.every(e => e.state === 2)) return items.map(e => e.fileUrl || e.file_url); """) diff --git a/botcity/web/browsers/undetected_chrome.py b/botcity/web/browsers/undetected_chrome.py index c06947f..0b2c359 100644 --- a/botcity/web/browsers/undetected_chrome.py +++ b/botcity/web/browsers/undetected_chrome.py @@ -138,9 +138,11 @@ def wait_for_downloads(driver): """ if not driver.current_url.startswith("chrome://downloads"): driver.get("chrome://downloads/") + # Chrome changed the `e.state` from a ENUM Str to numbers. Here 2 means COMPLETE. + # Reference: https://shorturl.at/G4EES return driver.execute_script(""" var items = document.querySelector('downloads-manager') .shadowRoot.getElementById('downloadsList').items; - if (items.every(e => e.state === "COMPLETE")) + if (items.every(e => e.state === 2)) return items.map(e => e.fileUrl || e.file_url); """) diff --git a/botcity/web/tests/__init__.py b/botcity/web/tests/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/botcity/web/tests/test_import.py b/botcity/web/tests/test_import.py deleted file mode 100644 index 1d13474..0000000 --- a/botcity/web/tests/test_import.py +++ /dev/null @@ -1,3 +0,0 @@ -def test_package_import(): - import botcity.web as web - assert web.__file__ != "" diff --git a/requirements.txt b/requirements.txt index 9b161ce..06838e7 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,8 +1,8 @@ botcity-framework-base>=0.2.2 beautifulsoup4 -numpy<2 +numpy opencv-python pillow selenium>=4.10,<5 undetected-chromedriver -packaging \ No newline at end of file +packaging diff --git a/tests/test_browser.py b/tests/test_browser.py index b95512b..e65d218 100644 --- a/tests/test_browser.py +++ b/tests/test_browser.py @@ -215,7 +215,7 @@ def test_get_view_port_size(web: WebBot): element = [width, height] else: element = web.find_element('window-size', By.ID).text.split('x') - sizes = [tuple(int(e) for e in element), (1600, 900), (1176, 802)] + sizes = [tuple(int(e) for e in element), (1600, 900), (1176, 802), (1600, 987)] assert size in sizes