Пример #1
0
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
Пример #2
0
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
Пример #3
0
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()
Пример #4
0
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)
Пример #6
0
 def download_and_install(self):
     gdd = GeckoDriverDownloader()
     gdd.download_and_install()
Пример #7
0
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('**************')
Пример #9
0
#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)
Пример #11
0
def install():
    dd = GeckoDriverDownloader()
    dd.download_and_install(version="v0.23.0")
Пример #12
0
def download_geckodriver():
    gdd = GeckoDriverDownloader()
    gdd.download_and_install()
Пример #13
0
#!/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()
Пример #14
0
 def run(self):
     install.run(self)
     from webdriverdownloader import GeckoDriverDownloader
     gdd = GeckoDriverDownloader()
     gdd.download_and_install()
     print("geckodriver installed")