Ejemplo n.º 1
0
def chrome(path='./chromedriver.exe', user_dir='', args: list = None) -> WebDriver:
    """
    Chrome
    :param args: 浏览器参数
    :param path: Chrome Driver路径
    :param user_dir: Chrome用户文件路径,用于使用已有缓存及cookie
    :return: WebDriver
    """
    # opt = options.Options()
    opt = webdriver.ChromeOptions()
    if user_dir:
        # opt = options.Options()
        # opt = webdriver.ChromeOptions()
        arg = '--user-data-dir=' + user_dir
        opt.add_argument(arg)
    # opt.add_argument('enable-automation')
    # opt.add_argument('disable-infobars')
    # 不显示受自动化控制的提示
    opt.add_experimental_option('useAutomationExtension', False)
    opt.add_experimental_option('excludeSwitches', ['enable-automation'])
    if args:
        for arg in args:
            opt.add_argument(arg)
    dr = Chrome(executable_path=path, options=opt)
    dr.set_page_load_timeout(30)
    dr.implicitly_wait(10)
    dr.maximize_window()
    return dr
Ejemplo n.º 2
0
 def web_chrome(self, params):
     try:
         # ip = self.var_map.get_var('ip')
         ip = self.var_map.get_var(params[0].strip())
         host = 'http://' + ip + ':4444/wd/hub'
         driver = self.var_map.get_var('driver')
         if not driver:
             self.log.write(
                 'error', 'Undefined driver path: web_set_driver ${driver}')
             return False
         if host.find('127.0.0.1') != -1 or ip == '':
             self.dr = Chrome(executable_path=driver)
         else:
             dc = DesiredCapabilities.CHROME
             dc['webdriver.chrome.driver'] = driver
             self.dr = Remote(command_executor=host,
                              desired_capabilities=dc)
         self.dr.maximize_window()
         self.dr.set_page_load_timeout(30)
         self.dr.implicitly_wait(10)
         self.log.write('info',
                        'Try to open chrome:|' + params[0] + '|---Success!')
         self.ele = WebEle(self.dr, self.log)
         return True
     except WebDriverException as e:
         self.log.write('error',
                        'Try to open chrome:|' + params[0] + '|---Fail!')
         self.log.write('error', e.__str__())
         return False
     except Exception as e:
         self.log.write('error',
                        'Try to open chrome:|' + params[0] + '|---Fail!')
         self.log.write('error', e.__str__())
         return False
Ejemplo n.º 3
0
    def __init__(self, browser):
        if browser == 'Chrome':
            self.wd = Chrome(
                executable_path=
                r'C:\py\selen3\selen2\selen\drivers\win32\chromedriver.exe')

        self.session = SessionHelper(self)
        self.mail = MailHelper(self)
Ejemplo n.º 4
0
 def chrome() -> WebDriver:
     from selenium.webdriver.chrome.options import Options
     from selenium.webdriver.chrome.webdriver import WebDriver as Chrome
     options = Options()
     options.add_argument("--headless")
     options.add_argument("--no-sandbox")
     options.add_argument("--window-size=1920x1080")
     return Chrome(options=options)
Ejemplo n.º 5
0
def get_configured_chrome(headless=False):
    chrome_options = Chrome()
    if headless:
        print('\nBrowser will start in headless mode!')
        chrome_options.add_argument('--headless')
    chrome_options.add_argument('--no-sandbox')
    chrome_options.add_argument('--enable-automation')
    chrome_options.add_argument('--window-size=1920,1080')
    configured = webdriver.Chrome(options=chrome_options, executable_path=get_driver_path('chromedriver'))
    return configured
def get_configured_chrome(headless=HEADLESS_MODE):
    chrome_options = Chrome()
    if headless:
        print('\nBrowser will start in headless mode!')
        chrome_options.add_argument('--headless')
    chrome_options.add_argument('--disable-gpu')
    chrome_options.add_argument('--disable-notifications')
    chrome_options.add_argument('--enable-automation')
    chrome_options.add_argument('--start-maximized')
    chrome_options.add_argument('--window-size=1920,1080')
    configured = webdriver.Chrome(
        options=chrome_options,
        executable_path=get_driver_path('chromedriver'))
    return configured
Ejemplo n.º 7
0
 def setup_browser_driver(self, browser, path=''):
     """
     Create instance of selenium webdriver base on driver type
     :browser: browser type: chrome | firefox | ie
     :path: the path of executable driver
     """
     browser = browser.strip().lower()
     if browser == 'firefox':
         if path == '':
             path = self.get_project_path() + self.FIREFOX_DRIVER_PATH
         driver = Firefox(executable_path=self.format_executable_path(path))
     else:
         if path == '':
             path = self.get_project_path() + self.CHROME_DRIVER_PATH
         driver = Chrome(self.format_executable_path(path))
     driver.delete_all_cookies()
     return self.browser_management.ctx.register_driver(driver, None)
    def setUpClass(cls):
        super().setUpClass()
        cls.selenium = Chrome()
        cls.selenium.implicitly_wait(5)

        cls.new_user = {
            'email': '*****@*****.**',
            'password': '******',
            'username': '******',
            'first_name': 'john',
            'last_name': 'Doe',
        }
        cls.user_profile = {
            'profile_phone_number': '+123456789',
            'profile_street_address1': 'Street Address 1',
            'profile_street_address2': 'Street Address 2',
            'profile_postcode': 'P123',
            'profile_town_or_city': 'Town or City',
            'profile_country': 'Country',
        }
Ejemplo n.º 9
0
 def get_driver(self):
     if self.get_type() == 'firefox':
         driver = Firefox(firefox_profile=None,
                          firefox_binary=self.bin_path,
                          timeout=30,
                          capabilities=None,
                          proxy=None,
                          executable_path=self.get_driver_path(),
                          options=self.get_options())
     elif self.get_type() == 'ie':
         driver = Ie(executable_path=self.driver_path,
                     options=self.get_options())
         if self.get_window_size():
             driver.set_window_size(self.get_window_size())
     else:
         print(self.get_driver_path())
         driver = Chrome(executable_path=self.get_driver_path(),
                         options=self.get_options())
         # This work-around to enable download mode in headless chrome
         # https://bugs.chromium.org/p/chromium/issues/detail?id=696481
         # TODO: Check if the latest chromedriver update or not
         enable_download_in_headless_chrome(driver, get_download_path())
     return driver
 def setUpClass(cls):
     super().setUpClass()
     cls.selenium = Chrome()
     cls.selenium.implicitly_wait(5)
Ejemplo n.º 11
0
 def setUpClass(cls):
     super().setUpClass()
     cls.selenium = Chrome()