def browser(request): browser_type = request.config.getoption('--browser') if browser_type == 'chrome': cdm = ChromeDriverManager() cdm.download_and_install() option = ChromeOptions() option.add_argument('--kiosk') # option.add_argument('--disable-popup-blocking') option.add_argument('--ignore-certificate-errors') # option.headless = True browser = webdriver.Chrome(options=option) # browser.implicitly_wait(5) request.addfinalizer(browser.quit) return browser if browser_type == 'firefox': gdm = GeckoDriverManager() gdm.download_and_install() option = FirefoxOptions() option.add_argument('--kiosk') # option.headless = True browser = webdriver.Firefox(options=option) browser.implicitly_wait(5) request.addfinalizer(browser.quit) return browser else: raise Exception(f'{request.param} is not supported!')
def __init__( self, email: str, password: str, *, headless: bool = True, timeout: int = 10, ): logger.debug("Scraper init") driver_manager = ChromeDriverManager() driver_manager.download_and_install() logger.info("Browser and driver are installed") self.email = email self.password = password self.timeout = timeout self.options = webdriver.ChromeOptions() self.options.headless = headless self.driver = webdriver.Chrome(options=self.options) # { Lang: { kyu: { title: code } } } self.solutions_data: Dict[str, Dict[str, Dict[str, str]]] = {}
def __init__(self, persister, logger): Analysis.__init__(self, persister, logger) HOME_DIR = os.getenv("HOME") or os.getenv("USERPROFILE") WEBDRIVER = os.path.join(HOME_DIR, ".wapiti", "generated_report") if not os.path.isdir(WEBDRIVER): os.makedirs(WEBDRIVER) chr = ChromeDriverManager(download_root=WEBDRIVER, link_path=WEBDRIVER) self.driver_path = chr.download_and_install(show_progress_bar=False)[1]
def manage_webdriver(): """ Метод для загрузки, установки и добавления в PYTHONPATH вебдрайвера для работы с selenium """ cdm = ChromeDriverManager() with no_ssl_verification(): _, symlink = cdm.download_and_install() sys.path.insert(0, symlink)
def __init__(self, iterations): cdm = ChromeDriverManager() chromedriver_path = cdm.download_and_install() print(chromedriver_path) options = webdriver.ChromeOptions() options.add_argument('headless') # убираем графический интерфейс self.driver = webdriver.Chrome( executable_path='venv/Scripts/chromedriver.exe', chrome_options=options) # используем браузер Chrome self.navigate(iterations) # функция вызывается при создании бота self.close()
def openChrome(): chrome_options = webdriver.ChromeOptions() prefs = {"profile.default_content_setting_values.notifications": 2} chrome_options.add_experimental_option("prefs", prefs) chrome_options.add_argument("--headless") try: browser = webdriver.Chrome(chrome_options=chrome_options) return browser except WebDriverException: ChromeDriverManager.download_and_install() browser = webdriver.Chrome(chrome_options=chrome_options) return browser
def main(): if len(sys.argv) == 1: here = os.path.abspath(os.path.dirname(__file__)) about = {} with open(os.path.join(here, '__version__.py')) as f: exec(f.read(), about) print("Selethon v%s" % about['__version__']) elif str(sys.argv[1]) == "install": try: if str(sys.argv[2]) == "chrome": from webdrivermanager import ChromeDriverManager cdd = ChromeDriverManager(link_path='AUTO') cdd.download_and_install() except IndexError: print("Please provide webdriver")
def __init__(self): self.header = { 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:64.0) Gecko/20100101 Firefox/64.0', 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'Accept-Charset': 'ISO-8859-1,utf-8;q=0.7,*;q=0.3', 'Accept-Encoding': 'none', 'Accept-Language': 'en-US,en;q=0.8', 'Connection': 'keep-alive' } options = Options() options.add_argument('--headless') options.add_argument('--no-sandbox') options.add_argument('--disable-gpu') options.add_argument("--window-size=1920,1080") bit32, bit64 = ChromeDriverManager().download_and_install() # st = os.stat(bit64) # os.chmod(bit64, st.st_mode | stat.S_IEXEC) # Windows only does readonly stuff using os.chmod # # For windows # print(check_output("icacls " + str(bit64) + " /grant Everyone:F", shell=True).decode()) # # end for windows self.browser = webdriver.Chrome( executable_path=bit64, options=options ) # Replace with .Firefox(), or with the browser of your choice self.browser.implicitly_wait( 1 ) # IMPORTANT: Keep this at least one second to not get flagged as a bot - it's also a hack to let the page JS load
def main(): """Check for uploaded pdf files for 6DOS accounts listed by the csv provided by the user.""" # Get filename and test if it is valid root = Tk() root.withdraw() fileName = askopenfilename() root.update() try: testFile = open(fileName, "r") except FileNotFoundError: rootLogger.error(fileName + " does not exist!") quit() # Save start time startTime = time() rootLogger.info("Starting Browser...") # Run Chrome headless chrome_options = Options() chrome_options.add_argument("--headless") chrome_options.add_argument("--window-size=1920x1080") chrome_options.add_argument("log-level=3") # Start browser driver try: browser = webdriver.Chrome(chrome_options=chrome_options, executable_path='./chromedriver.exe') except WebDriverException: gdd = ChromeDriverManager(link_path='.') gdd.download_and_install() browser = webdriver.Chrome() # Login rootLogger.info("Logging in...") login(browser) # Check pages rootLogger.info("Checking pages...") check_pages(browser, testFile, startTime) elapsedTime = time() - startTime strftime("Total Time: %M minutes %S seconds", gmtime(elapsedTime))
def get_driver(): """ Handles download and installation of a required webdriver according to parameters set in settings.ini """ browser = cfg['meta']['Browser'] if browser.lower() == 'firefox': driver = webdriver.Firefox( executable_path=GeckoDriverManager().download_and_install()[0]) elif browser.lower() == 'chrome': driver = webdriver.Chrome( executable_path=ChromeDriverManager().download_and_install()[0]) return driver
def __init__(self, executable_path=None, port=0, options=None, service_args=None, desired_capabilities=None, service_log_path=None, chrome_options=None, version='latest', *args, **kwargs): if not executable_path: executable_path = ChromeDriverManager().download_and_install(version=version)[0] # os.environ["webdriver.chrome.driver"] = executable_path super(Chrome, self).__init__(executable_path=executable_path, port=port, options=options, service_args=service_args, desired_capabilities=desired_capabilities, service_log_path=service_log_path, chrome_options=chrome_options, *args, **kwargs)
def before_all(context): try: browser = context.config.userdata['browser'] except KeyError as ke: browser = None if browser == "chrome" or browser == None: binary_driver = ChromeDriverManager().download_and_install()[0] context.driver = webdriver.Chrome(binary_driver) elif browser == "firefox": binary_driver = GeckoDriverManager().download_and_install()[0] context.driver = webdriver.Firefox(executable_path=binary_driver) context.wait = WebDriverWait(context.driver, 5)
def browser(request): browser = request.config.getoption() if browser == 'Firefox': gdm = GeckoDriverManager() gdm.download_and_install() option = FirefoxOptions() # option.add_argument('--kiosk') option.headless = True wd = webdriver.Firefox(options=option) request.addfinalizer(wd.quit) return wd if browser == 'Chrome': cdm = ChromeDriverManager() cdm.download_and_install() option = ChromeOptions() # option.add_argument('--kiosk') # option.add_argument('--ignore-certificate-errors') option.headless = True wd = webdriver.Chrome(options=option) request.addfinalizer(wd.quit) return wd else: raise Exception(f'{request.param} is not supported!')
def download_newest_webdriver(self, dir_path, browser): browser_l = str(browser).lower() if browser_l == "firefox": #downlaod firefox GeckoDriverManager(download_root=dir_path, link_path=dir_path, bitness="64").download_and_install() print("Firefox driver downloaded " + dir_path) elif browser_l == "chrome": #download chrome ChromeDriverManager(download_root=dir_path, link_path=dir_path, bitness="64").download_and_install() print("Chrome driver downloaded " + dir_path) else: print("atm there is only support for firefox, chrome")
def __init__(self): logging.info("Updating Webdriver..") path = ChromeDriverManager().download_and_install()[0] options = webdriver.ChromeOptions() # options.add_argument('user-data-dir=./web') options.add_argument( '--user-agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36' # noqa ) options.add_argument('--headless') options.add_experimental_option("useAutomationExtension", False) options.add_argument("--start-maxized") options.add_argument('--no-sandbox') options.add_argument('--disable-log') options.add_argument('--loglevel=3') self.driver = webdriver.Chrome(path, options=options) self.driver.get('https://web.whatsapp.com/')
def setUp(self): paths = ChromeDriverManager().download_and_install() self.driver = webdriver.Chrome(paths[0]) self.base_page = BasePage(self.driver) self.home_page = HomePage(self.driver) self.flights_page = FlightsPage(self.driver) self.seats_page = SeatsPage(self.driver) self.home_page_locators = HomePageLocators() self.flights_page_locators = FlightsPageLocators() self.seats_page_locators = SeatsPageLocators() self.extras_page_locators = ExtrasPageLocators() self.payment_page_locators = PaymentPageLocators() self.login_page_locators = LoginPageLocators() self.test_user = TestUser() self.driver.maximize_window() self.driver.get('http://ryanair.com')
def _create_driver(browser='Chrome'): ''' Creates a driver ''' global driver manager = { "Chrome": ChromeDriverManager(), "Edge": EdgeDriverManager(), "Firefox": GeckoDriverManager(), "Opera": OperaChromiumDriverManager() } drivers = { "Chrome": Chrome, "Edge": Edge, "Firefox": Firefox, "Opera": Opera } manager[browser].download_and_install() driver = drivers[browser]()
from selenium import webdriver from webdrivermanager import ChromeDriverManager from webdrivermanager import GeckoDriverManager broswer = 'firefox' if broswer == 'chrome': driver = webdriver.Chrome(ChromeDriverManager().download_and_install()) elif broswer == 'firefox': driver = webdriver.Firefox( executable_path=GeckoDriverManager().download_and_install()) else: print('give valid web broswer name') driver = webdriver.Chrome() driver.get('http://facebook.com\login') driver.find_element_by_id('email').send_keys(9704091318) driver.find_element_by_id('pass').send_keys('sivaram1') driver.find_element_by_id('loginbutton').click()
from selenium import webdriver from selenium.common.exceptions import NoSuchElementException from selenium.webdriver.chrome.options import Options from selenium.webdriver.common.keys import Keys from webdrivermanager import ChromeDriverManager from Product import Product import json, time driver = ChromeDriverManager() driver.download_and_install() # User Input search_term = input("Enter the name of the product:") # Global Variables biggest_discount = 0.0 lowest_price = 0.0 cheapest_product = Product("", "", "", "") best_deal_product = Product("", "", "", "") search_terms = search_term.split(" ") products = [] # Initialize ChromeDriver options = Options() webdriver.ChromeOptions() options.add_argument('--headless') options.add_argument('--ignore-certificate-errors') options.add_argument('--incognito') chrome_path = r"/Users/franktran/Library/Application Support/WebDriverManager/bin/chromedriver" driver = webdriver.Chrome(executable_path=chrome_path, options=options)
# pip install rpaframework import logging import subprocess from RPA.Browser import Browser from webdrivermanager import ChromeDriverManager logging.basicConfig( level=logging.DEBUG, format="[{%(name)s:%(filename)s:%(lineno)d} %(levelname)s - %(message)s", handlers=[logging.FileHandler(filename="debug.log", mode="w")], ) logger = logging.getLogger(__name__) cdm = ChromeDriverManager() def runcmd(command, loglabel): info = subprocess.run(command, shell=True, capture_output=True, universal_newlines=True) logger.info(f"{loglabel} {info.stdout.strip()}") runcmd("python --version", "PYTHON VERSION:") runcmd("pip list", "PIP LIST:\n\n") logger.info(f"ChromeDriverManager link path: {cdm.link_path}") logger.info(f"ChromeDriverManager download root: {cdm.download_root}") br = Browser() br.open_available_browser("https://www.google.com")
def setup_browser(): ChromeDriverManager().download_and_install()
def Download_ChromeDriver(): ChromeDriverManager().download_and_install()
def pilot_setup(self, options=None, waitsec=10): """ Called from pilot(). Execute web browser, and set up for auto-pilot. 1. Setting up web browser: OPTIONS, EXTENTIONS, ... 1. Execute web browser. 1. Fetch some information(s) with web browser. """ logger = self.logger msg = '' # Ad-hoc workaround for Google Chrome v.93 or later. ### See: https://stackoverflow.com/questions/69034343/chromedriver-session-timeouts-in-version-93 options.add_argument("--disable-gpu") try: ld_webdriver = self.last_done.get('WebDriver', {}) logger.debug(f" -- last_done.webdriver: {ld_webdriver}") previous = ld_webdriver.get('Chrome', ['', datetime.datetime.min]) logger.debug(f" -- get_download_path() == Re-use driver.") driver_path = previous[0] logger.debug(f" driver_path: {driver_path}") self.driver = webdriver.Chrome(driver_path, options=options) except (SessionNotCreatedException, OSError) as e: """ SessionNotCreatedException: Chromeのバージョンアップを想定しWebDriverのバージョンアップを試みる。 OSError: ChromeDriver 未取得の可能性あるため取得を試みる。 """ logger.warn( f' !! {type(e)}: {e.args if hasattr(e,"args") else e}') msg += f"Maybe unmatch chromewebdriver, And try to update chrome driver... <{sys._getframe().f_lineno}@{__file__}>" logger.warn(f' !! {msg}') try: cdm = ChromeDriverManager() logger.debug( f" -- download_and_install() == Try to update driver") driver_path = cdm.download_and_install()[0] ld_webdriver['Chrome'] = [driver_path, datetime.datetime.now()] self.last_done['WebDriver'] = ld_webdriver logger.debug(f" driver_path: {driver_path}") self.driver = webdriver.Chrome(driver_path, options=options) except Exception as e: # msg += f" -- {type(e)}: {e.msg}\n" logger.critical( f' !! Cannot update ChromeDriver. {self.exception_message(e)}' ) msg += f"\n!! Cannot update ChromeDriver. <{sys._getframe().f_lineno}@{__file__}>. Exit." msg += "\n" except WebDriverException as e: msg += f" -- {self.exception_message(e)}\n" msg += f"!! Cannot instantiate WebDriver<{sys._getframe().f_lineno}@{__file__}>. Exit.\n" msg += "\n" except Exception as e: msg += f" -- {self.exception_message(e)}\n" msg += "\n" finally: if self.driver is None: logger.critical(msg) raise SessionNotCreatedException(msg) self.driver.implicitly_wait(waitsec) logger.debug(f' -- {self.driver}') self.wait = WebDriverWait(self.driver, waitsec) return (self.driver, self.wait)
def launch_browser(self): chrome = ChromeDriverManager() chrome.download_and_install() self.driver = webdriver.Chrome() self.driver.get(EL.Url) self.driver.implicitly_wait(2)