def __init__( self, version="latest", os_type=utils.os_type(), path=None, name="chromedriver", url="https://chromedriver.storage.googleapis.com", latest_release_url="https://chromedriver.storage.googleapis.com/LATEST_RELEASE", chrome_type=ChromeType.GOOGLE, logger: logging.Logger = None, logginglevel=logging.INFO, loggingfile: str = None, cache_valid_range=1): super().__init__(path, logger=logger, logginglevel=logginglevel, loggingfile=loggingfile, cache_valid_range=cache_valid_range) self.driver = ChromeDriver(name=name, version=version, os_type=os_type, url=url, latest_release_url=latest_release_url, chrome_type=chrome_type)
def test_chrome_manager_with_wrong_version(): with pytest.raises(ValueError) as ex: delete_old_install() ChromeDriverManager("0.2").install() assert ex.value.args[0] == "There is no such driver chromedriver with version 0.2 " \ "by http://chromedriver.storage.googleapis.com/0.2/chromedriver_{0}.zip".format( utils.os_type())
def __init__(self, version=None, os_type=utils.os_type()): # type: (str, str) -> None super(ChromeDriverManager, self).__init__() # there is no driver with 64 bit if os_type == "win64": os_type = "win32" self.driver = ChromeDriver(version=version, os_type=os_type)
def __init__(self, version=None, os_type=utils.os_type()): # type: (str, str) -> GeckoDriverManager super(GeckoDriverManager, self).__init__() if os_type.startswith("mac"): os_type = "macos" self.driver = GeckoDriver(version=version, os_type=os_type)
def test_edge_manager_with_selenium(): if os_name() == 'win': driver_path = EdgeChromiumDriverManager(os_type=os_type()).install() driver = webdriver.Edge(executable_path=driver_path) driver.get("http://automation-remarks.com") driver.quit() else: driver_path = EdgeChromiumDriverManager(os_type="win32").install() assert os.path.exists(driver_path)
def __init__(self, version="latest", os_type=utils.os_type(), name="IEDriverServer", url="http://selenium-release.storage.googleapis.com", latest_release_url=None): super(IEDriverManager, self).__init__() self.driver = IEDriver(version=version, os_type=os_type, name=name, url=url, latest_release_url=latest_release_url)
def __init__(self, version="latest", os_type=utils.os_type(), name="edgedriver", url="https://msedgedriver.azureedge.net", latest_release_url="https://msedgedriver.azureedge.net/" "LATEST_STABLE"): super(EdgeChromiumDriverManager, self).__init__() self.driver = EdgeChromiumDriver(version=version, os_type=os_type, name=name, url=url, latest_release_url=latest_release_url)
def __file_name(self): if self.os_type == OSType.MAC: return "macosx.zip" elif self.os_type == OSType.WIN: return "windows.zip" elif self.os_type == OSType.LINUX and utils.os_architecture() == 64: return "linux-x86_64.tar.bz2" elif self.os_type == OSType.LINUX and utils.os_architecture() == 32: return "linux-i686.tar.bz2" else: raise ValueError("No such driver for os type {}".format( utils.os_type()))
def init_driver(request): browser = request.config.getoption("browser") if browser == "chrome": driver = webdriver.Chrome( executable_path=ChromeDriverManager().install()) elif browser == "firefox": driver = webdriver.Firefox(GeckoDriverManager().install()) elif browser == "edge": driver = webdriver.Edge( EdgeChromiumDriverManager(os_type=os_type()).install()) request.cls.driver = driver yield driver.close()
def __init__(self, version="latest", os_type=utils.os_type(), path=None, name="edgedriver", url="https://msedgedriver.azureedge.net", latest_release_url="https://msedgedriver.azureedge.net/" "LATEST_RELEASE", log_level=None): super().__init__(path, log_level) self.driver = EdgeChromiumDriver(version=version, os_type=os_type, name=name, url=url, latest_release_url=latest_release_url)
def __init__(self, version="latest", os_type=utils.os_type(), path=None, name="geckodriver", url="https://github.com/mozilla/geckodriver/releases/download", latest_release_url="https://api.github.com/repos/mozilla/geckodriver/releases/latest", mozila_release_tag="https://api.github.com/repos/mozilla/geckodriver/releases/tags/{0}"): super(GeckoDriverManager, self).__init__(path) self.driver = GeckoDriver(version=version, os_type=os_type, name=name, url=url, latest_release_url=latest_release_url, mozila_release_tag=mozila_release_tag)
def __init__(self, version="latest", os_type=utils.os_type(), path=None, name="IEDriverServer", url="http://selenium-release.storage.googleapis.com", latest_release_url=None, log_level=None, print_first_line=True, cache_valid_range=1): super().__init__(path, log_level, print_first_line, cache_valid_range) self.driver = IEDriver(version=version, os_type=os_type, name=name, url=url, latest_release_url=latest_release_url)
def __init__( self, version="latest", os_type=utils.os_type(), path=None, name="chromedriver", url="http://chromedriver.storage.googleapis.com", latest_release_url="http://chromedriver.storage.googleapis.com/LATEST_RELEASE" ): super(ChromeDriverManager, self).__init__(path) self.driver = ChromeDriver(name=name, version=version, os_type=os_type, url=url, latest_release_url=latest_release_url)
def __init__(self, version="latest", os_type=utils.os_type(), path=None, name="chromedriver", url="http://chromedriver.storage.googleapis.com", latest_release_url="http://chromedriver.storage.google" "apis.com/LATEST_RELEASE", chrome_type=ChromeType.GOOGLE, DEBUG_LOGGING=True): super(ChromeDriverManager, self).__init__(path) self.DEBUG_LOGGING = DEBUG_LOGGING self.driver = ChromeDriver(name=name, version=version, os_type=os_type, url=url, latest_release_url=latest_release_url, chrome_type=chrome_type)
def __init__(self, version="latest", os_type=utils.os_type(), path=None, name="geckodriver", url="https://github.com/mozilla/geckodriver/releases/download", latest_release_url="https://api.github.com/repos/mozilla/geckodriver/releases/latest", mozila_release_tag="https://api.github.com/repos/mozilla/geckodriver/releases/tags/{0}", log_level=logging.INFO, print_first_line=True, cache_valid_range=1): super(GeckoDriverManager, self).__init__(path, log_level, print_first_line, cache_valid_range) self.driver = GeckoDriver(version=version, os_type=os_type, name=name, url=url, latest_release_url=latest_release_url, mozila_release_tag=mozila_release_tag)
def __init__(self, version="latest", os_type=utils.os_type(), path=None, name="operadriver", url="https://github.com/operasoftware/operachromiumdriver/" "releases/", latest_release_url="https://api.github.com/repos/" "operasoftware/operachromiumdriver/releases/latest", opera_release_tag="https://api.github.com/repos/" "operasoftware/operachromiumdriver/releases/tags/{0}"): super(OperaDriverManager, self).__init__() self.driver = OperaDriver(name=name, version=version, os_type=os_type, url=url, latest_release_url=latest_release_url, opera_release_tag=opera_release_tag)
def __init__( self, version="latest", os_type=utils.os_type(), path=None, name="chromedriver", url="http://chromedriver.storage.googleapis.com", latest_release_url="http://chromedriver.storage.googleapis.com/LATEST_RELEASE", chrome_type=ChromeType.GOOGLE, log_level=logging.INFO): super().__init__(path, log_level=log_level) self.driver = ChromeDriver(name=name, version=version, os_type=os_type, url=url, latest_release_url=latest_release_url, chrome_type=chrome_type)
def __init__( self, version="latest", os_type=utils.os_type(), path=None, name="chromedriver", url="http://chromedriver.storage.googleapis.com", latest_release_url="http://chromedriver.storage.googleapis.com/LATEST_RELEASE", chrome_type='chromium', #chrome_type=ChromeType.GOOGLE, log_level=logging.INFO): super().__init__(path, log_level=log_level) self.driver = ChromiumDriver(name=name, version=version, os_type=os_type, url=url, latest_release_url=latest_release_url, chrome_type=chrome_type) # from wdd if os_type in {'linux64', 'linux32', 'mac64', 'mac32'}: # and os.geteuid() == 0: # THIS IS NOT WORKING PROPERLY.... geteuid is not 0 in Docker build base_path = "/usr/local" else: base_path = os.path.expanduser("~") # wdd uses a different download directory # if os_type in {OSType.LINUX, OSType.MAC}: # self.download_root = os.path.join(base_path, "webdriver") # else: # self.download_root = os.path.join(os.environ['HOME'], "webdriver") if os_type in {'linux64', 'linux32', 'mac64', 'mac32'}: self.link_path = os.path.join(base_path, "bin") else: self.link_path = os.path.join(os.environ['HOME'], "bin") # if not os.path.isdir(self.download_root): # os.makedirs(self.download_root) # logger.info("Created download root directory: {0}".format(self.download_root)) if not os.path.isdir(self.link_path): os.makedirs(self.link_path) log("Created symlink directory: {0}".format(self.link_path))
def init_driver(request): #global driver browser = request.config.getoption("browser") if browser == "chrome": driver = webdriver.Chrome(ChromeDriverManager().install()) elif browser == "firefox": driver = webdriver.Firefox(GeckoDriverManager().install()) elif browser == "edge": driver = webdriver.Edge( EdgeChromiumDriverManager(os_type=os_type()).install()) request.cls.driver = driver try: driver.get(TestData.BASE_URL) except Exception as e: print(e) pass driver.maximize_window() yield driver.close()
def __init__(self, version="latest", os_type=utils.os_type(), path=None, name="chromedriver", url="https://registry.npmmirror.com/-/binary/chromedriver", latest_release_url="https://registry.npmmirror.com/-/binary/chromedriver/LATEST_RELEASE", chrome_type=ChromeType.GOOGLE, log_level=logging.INFO, print_first_line=True, cache_valid_range=1): super().__init__(path, log_level=log_level, print_first_line=print_first_line, cache_valid_range=cache_valid_range) self.driver = ChromeDriver(name=name, version=version, os_type=os_type, url=url, latest_release_url=latest_release_url, chrome_type=chrome_type)
def __init__( self, version="latest", os_type=utils.os_type(), path=None, name="edgedriver", url="https://msedgedriver.azureedge.net", latest_release_url="https://msedgedriver.azureedge.net/LATEST_RELEASE", log_level=None, print_first_line=None, cache_valid_range=1, ): super().__init__(path, log_level, print_first_line, cache_valid_range) self.driver = EdgeChromiumDriver( version=version, os_type=os_type, name=name, url=url, latest_release_url=latest_release_url, )
def __init__(self, version="latest", os_type=utils.os_type(), path=None, name="operadriver", url="https://github.com/operasoftware/operachromiumdriver/" "releases/", latest_release_url="https://api.github.com/repos/" "operasoftware/operachromiumdriver/releases/latest", opera_release_tag="https://api.github.com/repos/" "operasoftware/operachromiumdriver/releases/tags/{0}", log_level=logging.INFO, print_first_line=True, cache_valid_range=1): super().__init__(path, log_level, print_first_line, cache_valid_range) self.driver = OperaDriver(name=name, version=version, os_type=os_type, url=url, latest_release_url=latest_release_url, opera_release_tag=opera_release_tag)
def __init__( self, version="latest", os_type=utils.os_type(), path=None, name="IEDriverServer", url="https://github.com/seleniumhq/selenium/releases/download", latest_release_url="https://api.github.com/repos/seleniumhq/selenium/releases", ie_release_tag="https://api.github.com/repos/seleniumhq/selenium/releases/tags/selenium-{0}", log_level=None, print_first_line=True, cache_valid_range=1, ): super().__init__(path, log_level, print_first_line, cache_valid_range) self.driver = IEDriver( version=version, os_type=os_type, name=name, url=url, latest_release_url=latest_release_url, ie_release_tag=ie_release_tag, )
def init_driver(request): # global driver #global driver options = webdriver.ChromeOptions() options.add_argument('--disable-notifications') browser = request.config.getoption("browser") if browser == "chrome": driver = webdriver.Chrome(executable_path=Config.CHROME_PATH, options=options) elif browser == "firefox": driver = webdriver.Firefox(GeckoDriverManager().install()) elif browser == "edge": driver = webdriver.Edge( EdgeChromiumDriverManager(os_type=os_type()).install()) request.cls.driver = driver # try: # driver.get(TestData.BASE_URL) # except Exception as e: # print(e) # pass # driver.maximize_window() yield driver.close()
def __init__(self, version=None, os_type=utils.os_type()): super(IEDriverManager, self).__init__() self.driver = IEDriver(version=version, os_type=os_type)
def __init__(self, version=None, os_type=utils.os_type()): # type: (str, str) -> None super(PhantomJsDriverManager, self).__init__() self.driver = PhantomJsDriver(version=version, os_type=os_type)
def __init__(self, version=None, os_type=utils.os_type()): DriverManager.__init__(self) # there is no driver with 64 bit if os_type == "win64": os_type = "win32" self.driver = ChromeDriver(version=version, os_type=os_type)
chrome.ChromeDriverManager(log_level=logging.WARN).install(), chrome_options=options) except ConnectionError: driver = webdriver.Chrome(chrome_options=options) elif browser in ['firefox', 'ff']: driver = webdriver.Firefox( executable_path=firefox.GeckoDriverManager().install()) elif browser in ['ie', 'internet explorer']: caps = DesiredCapabilities.INTERNETEXPLORER caps['nativeEvents'] = False try: driver = webdriver.Ie(microsoft.IEDriverManager( os_type='Win32', log_level=logging.WARN).install(), capabilities=caps) except requests.exceptions.ConnectionError: logger.warning('自动化下载驱动失败,使用系统配置驱动') driver = webdriver.Ie(capabilities=caps) else: driver = webdriver.Edge() driver.maximize_window() driver.speed = 1 yield driver # driver.quit() if __name__ == '__main__': print(utils.os_type())