def get_geckodriver(): gecko_path = shutil.which("geckodriver") or shutil.which("geckodriver.exe") if gecko_path: return gecko_path gdd = GeckoDriverDownloader(ASSETS_PATH, ASSETS_PATH) _, sym_path = gdd.download_and_install() return sym_path
def get_geckodriver(): # prefer using geckodriver from path gecko_path = shutil.which("geckodriver") or shutil.which("geckodriver.exe") if gecko_path: return gecko_path asset_path = use_assets() gdd = GeckoDriverDownloader(asset_path, asset_path) # skips download if already downloaded sym_path = gdd.download_and_install()[1] return sym_path
def get_driver_path(): """ Reconstructs correct path to Firefox driver. .. note:: Because GeckoDriverDownloader has been used for driver download, then GeckoDriverDownloader is also use for determine path to driver """ firefox_downloader = GeckoDriverDownloader() return firefox_downloader.get_download_path(version="v0.23.0") + '\\' + os.listdir(firefox_downloader.get_download_path(version="v0.23.0"))[ 0] + '\\' + firefox_downloader.get_driver_filename()
def get_geckodriver(): print('getting geckodriver') # prefer using geckodriver from path gecko_path = shutil.which("geckodriver") or shutil.which("geckodriver.exe") if gecko_path: return gecko_path print('gecko path', gecko_path) asset_path = use_assets() print('asset path', asset_path) gdd = GeckoDriverDownloader(asset_path, asset_path) print('gdd', gdd) # skips download if already downloaded bin_path, sym_path = gdd.download_and_install() print('bin path', bin_path) print('sym_path', sym_path) return sym_path
def __init_browser(cls, download_folder): if cls.__BROWSER is None: webdriver_path = os.path.join(os.path.expanduser('~'), '.webdriver') gdd = GeckoDriverDownloader(download_root=webdriver_path, link_path=os.path.join(webdriver_path, 'bin')) geckodriver_path = gdd.download_and_install()[0] profile = webdriver.FirefoxProfile() profile.set_preference('browser.download.folderList', 2) profile.set_preference('browser.download.manager.showWhenStarting', False) profile.set_preference('browser.download.dir', os.path.abspath(download_folder)) profile.set_preference('browser.helperApps.neverAsk.saveToDisk', 'application/x-gzip;application/zip') options = Options() options.headless = True # driver = webdriver.Firefox(firefox_binary=FirefoxBinary('F:\\FirefoxPortable\\Firefox.exe'), # firefox_profile=profile, options=options, executable_path=geckodriver_path) cls.__BROWSER = webdriver.Firefox(firefox_profile=profile, options=options, executable_path=geckodriver_path, service_log_path=os.devnull) cls.__BROWSER.set_window_size(1920, 1080)
def download_and_install(self): gdd = GeckoDriverDownloader() gdd.download_and_install()
def webdrivers_install(*args): from webdriverdownloader import GeckoDriverDownloader, ChromeDriverDownloader gdd = GeckoDriverDownloader() gdd.download_and_install()
!ls -l "../input/firefox-63.0.3.tar.bz2/" # COPY OVER FIREFOX FOLDER INTO NEW SUBFOLDER JUST CREATED !cp -a "../input/firefox-63.0.3.tar.bz2/firefox" "../working" !ls -l "../working/firefox" # ADD READ/WRITE/EXECUTE CAPABILITES !chmod -R 777 "../working/firefox" !ls -l "../working/firefox" # INSTALL PYTHON MODULE FOR AUTOMATIC HANDLING OF DOWNLOADING AND INSTALLING THE GeckoDriver WEB DRIVER WE NEED !pip install webdriverdownloader # INSTALL LATEST VERSION OF THE WEB DRIVER from webdriverdownloader import GeckoDriverDownloader gdd = GeckoDriverDownloader() gdd.download_and_install("v0.23.0") # INSTALL SELENIUM MODULE FOR AUTOMATING THINGS !pip install selenium # LAUNCHING FIREFOX, EVEN INVISIBLY, HAS SOME DEPENDENCIES ON SOME SCREEN-BASED LIBARIES !apt-get install -y libgtk-3-0 libdbus-glib-1-2 xvfb # SETUP A VIRTUAL "SCREEN" FOR FIREFOX TO USe !export DISPLAY=:99 print('**************') print('** COMPLETE **') print('**************')
#By the by, there is also a Python package for installing geckodriver !pip install --no-cache webdriverdownloader #This can be used as follows within a notebook from webdriverdownloader import GeckoDriverDownloader gdd = GeckoDriverDownloader() geckodriver, geckobin = gdd.download_and_install("v0.23.0") #If required, the path to the drive can be set explicitly: from selenium import webdriver from selenium.webdriver.firefox.options import Options options = Options() options.headless = True driver = webdriver.Firefox(options=options) #driverdriver = webdriver.Firefox(executable_path=geckobin, options=options)
JOB_SORT_RANK = [ 'DarkKnight', 'Warrior', 'Gunbreaker', 'Paladin', 'WhiteMage', 'Astrologian', 'Scholar', 'Samurai', 'Monk', 'Dragoon', 'Ninja', 'Bard', 'Machinist', 'Dancer', 'BlackMage', 'Summoner', 'RedMage', 'Total' ] FFLOGS_TARGET_ZONE_ID = 887 # The Epic of Alexander FFLOGS_TARGET_BOSS_ID = 1050 # The Epic of Alexander FFLOGS_API_FIGHT_URL = 'https://www.fflogs.com/v1/report/fights/{report_id}?api_key={api_key}' FFLOGS_DPS_URL = 'https://www.fflogs.com/reports/{report_id}/#boss={boss_id}&difficulty=100' FFLOGS_URL_DAMAGE_DONE_AND_PHASE_QUERY = '&type=damage-done&phase={phase_num}' FFLOGS_URL_FIGHT_QUERY = '&fight={fight_id}' base_dir = os.path.dirname(os.path.abspath(__file__)) bin_dir = os.sep.join([base_dir, 'bin']) GeckoDriverDownloader(download_root=base_dir, link_path=bin_dir) \ .download_and_install() os.environ['PATH'] = os.pathsep.join([bin_dir, os.environ.get('PATH', '')]) class Actor: ''' Actor: プレイヤーなどのキャラクターを表すクラス ''' def __init__(self, name, job, phase_count): self.name = name self.job = job self.dps = [0] * phase_count def __lt__(self, other): # self < other return JOB_SORT_RANK.index(self.job) < JOB_SORT_RANK.index(other.job)
def install(): dd = GeckoDriverDownloader() dd.download_and_install(version="v0.23.0")
def download_geckodriver(): gdd = GeckoDriverDownloader() gdd.download_and_install()
#!/usr/bin/env python from distutils.core import setup from webdriverdownloader import GeckoDriverDownloader setup( name='FuckTextBooks', version='1.0', description='Auto download course materials for UofT students', packages=[ 'distutils', 'bs4', 'libgenapi', 'getpass', 'selenium', 'webdriverdownloader' ], ) # Install geckodriver gd = GeckoDriverDownloader() gd.download_and_install()
def run(self): install.run(self) from webdriverdownloader import GeckoDriverDownloader gdd = GeckoDriverDownloader() gdd.download_and_install() print("geckodriver installed")