Ejemplo n.º 1
0
def browser(config_browser, config_wait_time, request):
    # Initialize WebDriver
    if config_browser == 'chrome':
        options = Options()
        options.add_argument('log-level=3')
        options.add_argument("--window-size=1920,1080")
        options.add_argument("--disable-extensions")
        options.add_argument("--proxy-server='direct://'")
        options.add_argument("--proxy-bypass-list=*")
        options.add_argument("--start-maximized")
        options.add_experimental_option('excludeSwitches', ['enable-logging'])
        options.add_argument('--headless')
        options.add_argument('--disable-gpu')
        options.add_argument('--disable-dev-shm-usage')
        options.add_argument('--no-sandbox')
        options.add_argument('--ignore-certificate-errors')
        options.add_argument(
            '--user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.163 Safari/537.36"'
        )
        # chrome_options.add_argument("--window-size=1920x1080")  # options=options
        driver = Chrome(Browser_path, options=options)
        # else:
        #     raise Exception(f'"{config_browser}" is not a supported browser')

        # Wait implicitly for elements to be ready before attempting interactions
        driver.implicitly_wait(config_wait_time)
        driver.maximize_window()

        # Return the driver object at the end of setup
        yield driver

        # For cleanup, quit the driver
        driver.quit()
Ejemplo n.º 2
0
def find_driver():
    prefs = {"profile.managed_default_content_settings.images": 2}  #设置无图模式
    options = webdriver.ChromeOptions()
    options.add_experimental_option("prefs", prefs)
    options.add_argument("--lang=en")
    options.add_argument("--headless")
    options.add_experimental_option("excludeSwitches",["enable-logging"])
    options.add_argument('ignore-certificate-errors')

    driver=webdriver.Chrome(options=options,executable_path='C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe')
    return driver
Ejemplo n.º 3
0
def browser(request):
    browser_name = request.config.getoption("browser_name")
    user_language = request.config.getoption("language")

    if browser_name == "chrome":
        options = Options()
        options.add_experimental_option(
            'prefs', {'intl.accept_languages': user_language})
        print("\nstart chrome browser for test..")
        browser = webdriver.Chrome(options=options)

    elif browser_name == "firefox":
        fp = webdriver.FirefoxProfile()
        fp.set_preference("intl.accept_languages", user_language)
        print("\nstart firefox browser for test..")
        browser = webdriver.Firefox(
            executable_path=GeckoDriverManager().install(), firefox_profile=fp)
    else:
        raise pytest.UsageError("--browser_name should be chrome or firefox")

    yield browser
    print("\nquit browser..")
    browser.quit()
Ejemplo n.º 4
0
def init_webdriver(browser_choice):
    global driver
    if browser_choice == "Chrome":
        options = webdriver.ChromeOptions()
        options.add_experimental_option('w3c', False)
        # options.add_argument(r'--user-data-dir=C:\User\pwx1049557\AppData\Local\Google\Chrome\User Data\automation')#加载用户数据
        options.add_experimental_option(
            "excludeSwitches", ['enable-automation'])  #禁用浏览器正在被自动化程序控制的提示
        # options.add_argument("--disable-popup-blocking")
        # options.add_argument("no-default-browser-check")
        # options.add_argument("no-sandbox")
        options.add_experimental_option(
            "prefs", {
                "credentials_enable_service": False,
                "profile.password_manager_enabled": False
            })  #关闭保存密码提示框
        #使用已打开的浏览器操作
        # options.add_experimental_option("debuggerAddress","127.0.0.1:8881")
        driver = webdriver.Chrome(options=options)
    elif browser_choice == "Firefox":
        driver = webdriver.Firefox()
    else:
        driver = webdriver.Ie()
    return driver