From 6e0f49797d79fe960b9f1b6e4e70cab3add72c20 Mon Sep 17 00:00:00 2001 From: Leon Date: Wed, 2 Sep 2020 04:45:12 +0200 Subject: [PATCH 1/2] Update __init__.py --- undetected_chromedriver/__init__.py | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/undetected_chromedriver/__init__.py b/undetected_chromedriver/__init__.py index f62c02d..3977f7c 100644 --- a/undetected_chromedriver/__init__.py +++ b/undetected_chromedriver/__init__.py @@ -21,6 +21,7 @@ import logging import os import sys import zipfile +from distutils.version import LooseVersion from urllib.request import urlopen, urlretrieve from selenium.webdriver import Chrome as _Chrome @@ -29,8 +30,9 @@ from selenium.webdriver import ChromeOptions as _ChromeOptions logger = logging.getLogger(__name__) -TARGET_VERSION = 84 + __IS_PATCHED__ = 0 +TARGET_VERSION = 0 class Chrome: @@ -106,9 +108,15 @@ class ChromeDriverManager(object): def __init__(self, executable_path=None, target_version=None, *args, **kwargs): _platform = sys.platform - self.target_version = TARGET_VERSION - if target_version: - self.target_version = target_version + + if TARGET_VERSION: # user override using global + self.target_version = TARGET_VERSION + if target_version: + self.target_version = target_version # user override + if not self.target_version: + # if target_version still not set, fetch the current major release version + self.target_version = self.get_release_version_number().version[0] # only major version int + self._base = base_ = "chromedriver{}" exe_name = self._base @@ -172,7 +180,7 @@ class ChromeDriverManager(object): if not self.target_version else f"LATEST_RELEASE_{self.target_version}" ) - return urlopen(self.__class__.DL_BASE + path).read().decode() + return LooseVersion(urlopen(self.__class__.DL_BASE + path).read().decode()) def fetch_chromedriver(self): @@ -183,7 +191,7 @@ class ChromeDriverManager(object): """ base_ = self._base zip_name = base_.format(".zip") - ver = self.get_release_version_number() + ver = self.get_release_version_number().vstring if os.path.exists(self.executable_path): return self.executable_path urlretrieve( From fe2dbc0f0a9d8cf916d232b4bc282c3fb4394316 Mon Sep 17 00:00:00 2001 From: Leon Date: Wed, 2 Sep 2020 05:01:25 +0200 Subject: [PATCH 2/2] Update setup.py --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 1a827a6..844e297 100644 --- a/setup.py +++ b/setup.py @@ -19,7 +19,7 @@ from setuptools import setup setup( name='undetected-chromedriver', - version='1.3.0', + version='1.3.5', packages=['undetected_chromedriver'], install_requires=[ 'selenium',