Updated script that can be controled by Nodejs web app
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
from webdriver_manager.core.driver import Driver
|
||||
from webdriver_manager.core.logger import log
|
||||
from webdriver_manager.core.os_manager import OSType, ChromeType
|
||||
|
||||
|
||||
class EdgeChromiumDriver(Driver):
|
||||
|
||||
def __init__(
|
||||
self,
|
||||
name,
|
||||
driver_version,
|
||||
url,
|
||||
latest_release_url,
|
||||
http_client,
|
||||
os_system_manager
|
||||
):
|
||||
super(EdgeChromiumDriver, self).__init__(
|
||||
name,
|
||||
driver_version,
|
||||
url,
|
||||
latest_release_url,
|
||||
http_client,
|
||||
os_system_manager
|
||||
)
|
||||
|
||||
def get_stable_release_version(self):
|
||||
"""Stable driver version when browser version was not determined."""
|
||||
stable_url = self._latest_release_url.replace("LATEST_RELEASE", "LATEST_STABLE")
|
||||
resp = self._http_client.get(url=stable_url)
|
||||
return resp.text.rstrip()
|
||||
|
||||
def get_latest_release_version(self) -> str:
|
||||
determined_browser_version = self.get_browser_version_from_os()
|
||||
log(f"Get LATEST {self._name} version for Edge {determined_browser_version}")
|
||||
|
||||
edge_driver_version_to_download = (
|
||||
self.get_stable_release_version()
|
||||
if (determined_browser_version is None)
|
||||
else determined_browser_version
|
||||
)
|
||||
major_edge_version = edge_driver_version_to_download.split(".")[0]
|
||||
os_type = self._os_system_manager.get_os_type()
|
||||
latest_release_url = {
|
||||
OSType.WIN
|
||||
in os_type: f"{self._latest_release_url}_{major_edge_version}_WINDOWS",
|
||||
OSType.MAC
|
||||
in os_type: f"{self._latest_release_url}_{major_edge_version}_MACOS",
|
||||
OSType.LINUX
|
||||
in os_type: f"{self._latest_release_url}_{major_edge_version}_LINUX",
|
||||
}[True]
|
||||
resp = self._http_client.get(url=latest_release_url)
|
||||
return resp.text.rstrip()
|
||||
|
||||
def get_browser_type(self):
|
||||
return ChromeType.MSEDGE
|
Reference in New Issue
Block a user