本文整理汇总了Python中selenium.webdriver.chrome.options.Options.add_experimental_option方法的典型用法代码示例。如果您正苦于以下问题:Python Options.add_experimental_option方法的具体用法?Python Options.add_experimental_option怎么用?Python Options.add_experimental_option使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类selenium.webdriver.chrome.options.Options
的用法示例。
在下文中一共展示了Options.add_experimental_option方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: __init__
# 需要导入模块: from selenium.webdriver.chrome.options import Options [as 别名]
# 或者: from selenium.webdriver.chrome.options.Options import add_experimental_option [as 别名]
def __init__(self, scenario, download_directory=default_download_directory,
app_host=None, app_port=None, executable_path=None,
pages=None):
# Contract
must_be(download_directory, "download_directory", (type(None), str))
must_be(app_host, "app_host", (type(None), str))
must_be(app_port, "app_port", (type(None), Number))
must_be(executable_path, "executable_path", (type(None), str))
must_be(pages, "pages", (dict, type(None)))
# TODO[TJ]: This should be implemented as part of the future contracts
# library
if pages is not None:
for key, value in pages.items():
must_be(key, "pages key", str)
must_be(value, "pages value", AppPage)
#
self.scenario = scenario
if download_directory is not None:
options = ChromeOptions()
prefs = {"download.default_directory": download_directory}
options.add_experimental_option('prefs', prefs)
else:
options = None
if app_host is not None:
self.app_host = app_host
if app_port is not None:
self.app_port = app_port
if executable_path is not None:
self.executable_path = executable_path
self.pages = pages
super(ChromeBrowser, self).__init__(
executable_path=self.executable_path, chrome_options=options)
register_exit(self.quit)
示例2: __init__
# 需要导入模块: from selenium.webdriver.chrome.options import Options [as 别名]
# 或者: from selenium.webdriver.chrome.options.Options import add_experimental_option [as 别名]
def __init__(self, user_agent=None, wait_time=2, fullscreen=False,
options=None, **kwargs):
options = Options() if options is None else options
if user_agent is not None:
options.add_argument("--user-agent=" + user_agent)
if fullscreen:
options.add_argument('--kiosk')
prefs = {"download": {
"default_directory": _DOWNLOAD_PATH,
"directory_upgrade": True,
"extensions_to_open": ""
}}
options.add_experimental_option("prefs", prefs)
self.driver = Chrome(chrome_options=options, **kwargs)
self.element_class = WebDriverElement
self._cookie_manager = CookieManager(self.driver)
super(WebDriver, self).__init__(wait_time)
示例3: __init__
# 需要导入模块: from selenium.webdriver.chrome.options import Options [as 别名]
# 或者: from selenium.webdriver.chrome.options.Options import add_experimental_option [as 别名]
def __init__(self, options=None, user_agent=None, wait_time=2,
fullscreen=False, incognito=False, headless=False, **kwargs):
options = Options() if options is None else options
options.add_argument("--disable-infobars")
options.add_argument("--disable-notifications")
if 'accepted_languages' in kwargs:
options.add_experimental_option("prefs", {"intl.accept_languages": kwargs['accepted_languages']})
del kwargs['accepted_languages']
if user_agent is not None:
options.add_argument("--user-agent=" + user_agent)
if incognito:
options.add_argument("--incognito")
if fullscreen:
options.add_argument('--kiosk')
if headless:
options.add_argument('--headless')
options.add_argument('--disable-gpu')
self.driver = Chrome(chrome_options=options, **kwargs)
self.element_class = WebDriverElement
self._cookie_manager = CookieManager(self.driver)
super(WebDriver, self).__init__(wait_time)
示例4: initiateChromeWithSize
# 需要导入模块: from selenium.webdriver.chrome.options import Options [as 别名]
# 或者: from selenium.webdriver.chrome.options.Options import add_experimental_option [as 别名]
def initiateChromeWithSize(width, height, pixelRatio=2.0):
mobile_emulation = {
"deviceMetrics": { "width": width, "height": height, "pixelRatio": pixelRatio },
"userAgent": "Mozilla/5.0 (Linux; Android 4.2.1; en-us; Nexus 5 Build/JOP40D) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Mobile Safari/535.19" }
chrome_options = Options()
chrome_options.add_experimental_option("mobileEmulation", mobile_emulation)
return webdriver.Chrome(chrome_options=chrome_options)
示例5: setUp
# 需要导入模块: from selenium.webdriver.chrome.options import Options [as 别名]
# 或者: from selenium.webdriver.chrome.options.Options import add_experimental_option [as 别名]
def setUp(self):
chromium_path = '/usr/bin/chromium'
chromedriver_path = './chromedriver'
opts = Options()
opts.binary_location = chromium_path
opts.add_experimental_option("prefs", {
"download.default_directory": "./test_downloaded",
"helperApps.neverAsk.saveToDisk": "octet/stream",
"directory_upgrade": True,
"profile": {"default_content_settings": {"multiple-automatic-downloads": 1}}
})
self.driver = webdriver.Chrome(chrome_options=opts, executable_path=chromedriver_path)
#self.driver = webdriver.Firefox()
url = os.getenv('TEST_URL', config.url)
self.driver.get(url)
self.__load_pages()
# Sets up by redirecting to login page
main_page = page.MainPage(self.driver)
main_page.click_login_link()
示例6: open_browser
# 需要导入模块: from selenium.webdriver.chrome.options import Options [as 别名]
# 或者: from selenium.webdriver.chrome.options.Options import add_experimental_option [as 别名]
def open_browser(self, browser, proxy=None):
log_level = DesiredCapabilities.CHROME
log_level['loggingPrefs'] = {'browser': 'SEVERE'}
chrome_options = Options()
chrome_options.add_argument('--no-sandbox')
chrome_options.add_experimental_option('prefs', {"profile.managed_default_content_settings.images": 2,
"plugins.plugins_disabled": ["Adobe Flash Player"]})
if proxy:
chrome_options.add_argument('--proxy-server=%s' % proxy)
if browser.lower() == "ie":
webdriver.Ie.__init__(self)
log("I open IE browser.")
elif browser.lower() == "chrome":
webdriver.Chrome.__init__(self, desired_capabilities=log_level, chrome_options=chrome_options)
log("I open Chrome Browser")
elif browser.lower() == "firefox":
webdriver.Firefox.__init__(self)
log("I open Firefox Browser")
elif browser.lower() == 'mobile':
mobile_emulation = {
"deviceMetrics": {"width": 1920, "height": 980, "pixelRatio": 3.0},
"userAgent": "Mozilla/5.0 (iPad; CPU OS 7_0 like Mac OS X) AppleWebKit/537.51.1 "
"(KHTML, like Gecko) Version/7.0 Mobile/11A465 Safari/9537.53"}
chrome_options.add_experimental_option("mobileEmulation", mobile_emulation)
webdriver.Chrome.__init__(self, desired_capabilities=log_level, chrome_options=chrome_options)
log("I open Mobile Browser")
示例7: __init__
# 需要导入模块: from selenium.webdriver.chrome.options import Options [as 别名]
# 或者: from selenium.webdriver.chrome.options.Options import add_experimental_option [as 别名]
def __init__(self, logger, user_data_dir, timeout):
"""Initialize chromedriver for use by all other modules.
Args:
logger: initialized logger object.
user_data_dir: string, directory for chrome data.
timeout: integer, number of seconds to wait for web pages to load.
"""
self.timeout = timeout
data_dir = os.path.join(os.getcwd(), user_data_dir)
self.logger = logger
options = Options()
data_dir_option = '--user-data-dir=%s' % data_dir
options.add_argument(data_dir_option)
options.add_argument('--enable-logging')
options.add_argument('--v=1')
options.add_argument('--lang=en')
options.add_argument('--disable-features=UsePasswordSeparatedSigninFlow')
options.add_experimental_option("windowTypes", ["webview"])
self.driver = webdriver.Chrome(chrome_options=options)
self.action_chain = ActionChains(self.driver)
self.window = {}
self.window['main'] = self.driver.current_window_handle
self.window['logocert'] = None
self.ActionPerformed()
示例8: get_chrome_driver
# 需要导入模块: from selenium.webdriver.chrome.options import Options [as 别名]
# 或者: from selenium.webdriver.chrome.options.Options import add_experimental_option [as 别名]
def get_chrome_driver(self):
opts = Options()
if "TRAVIS" in os.environ: # github.com/travis-ci/travis-ci/issues/938
opts.add_argument("--no-sandbox")
# Fix for https://code.google.com/p/chromedriver/issues/detail?id=799
opts.add_experimental_option("excludeSwitches",
["ignore-certificate-errors"])
return webdriver.Chrome(chrome_options=opts)
示例9: configure_driver
# 需要导入模块: from selenium.webdriver.chrome.options import Options [as 别名]
# 或者: from selenium.webdriver.chrome.options.Options import add_experimental_option [as 别名]
def configure_driver():
opts = Options()
opts.add_argument('--headless')
prefs = {"profile.managed_default_content_settings.images": 2}
opts.add_experimental_option("prefs", prefs)
opts.add_argument('--user-agent=Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.91 Safari/537.36')
driver = webdriver.Chrome(chrome_options=opts, executable_path='D:\soft\chromedriver\chromedriver.exe')
return driver
示例10: setUp
# 需要导入模块: from selenium.webdriver.chrome.options import Options [as 别名]
# 或者: from selenium.webdriver.chrome.options.Options import add_experimental_option [as 别名]
def setUp(self):
#disble images
chrome_options = Options()
chrome_options.add_experimental_option( "prefs", {'profile.default_content_settings.images': 2})
self.driver = webdriver.Chrome(chrome_options=chrome_options)
# options=[]
# options.append('--load-images=false')
# self.driver=webdriver.PhantomJS(executable_path='C:\\Users\\VUGON\\Desktop\\phantomjs-2.0.0-windows\\phantomjs-2.0.0-windows\\bin\\phantomjs.exe',service_args=options)
#self.driver.implicitly_wait(30)
self.base_url = "https://m.facebook.com/profile.php?v=info&id=100001150323526&nocollections=1"
示例11: setUp
# 需要导入模块: from selenium.webdriver.chrome.options import Options [as 别名]
# 或者: from selenium.webdriver.chrome.options.Options import add_experimental_option [as 别名]
def setUp(self):
try:
self.log = logger.Logger.get_logger()
self.input = TestInputSingleton.input
self.servers = self.input.servers
self.browser = self.input.ui_conf['browser']
self.replica = self.input.param("replica", 1)
self.case_number = self.input.param("case_number", 0)
self.machine = self.input.ui_conf['server']
self.driver = None
self.shell = RemoteMachineShellConnection(self.machine)
#avoid clean up if the previous test has been tear down
if not self.input.param("skip_cleanup", True) \
or self.case_number == 1:
self.tearDown()
self._log_start(self)
self._kill_old_drivers()
#thread for selenium server
if not self._is_selenium_running():
self.log.info('start selenium')
self._start_selenium_thread()
self._wait_for_selenium_is_started()
self.log.info('start selenium session')
if self.browser == 'firefox':
self.log.info("firefox")
# self.driver = webdriver.Remote(desired_capabilities={
# "browserName": "firefox",
# "platform": "MAC",
# })
self.driver = webdriver.Remote(command_executor='http://{0}:{1}/wd/hub'
.format(self.machine.ip,
self.machine.port),
desired_capabilities=DesiredCapabilities.FIREFOX)
elif self.browser == 'chrome':
self.log.info("chrome")
local_capabilities = DesiredCapabilities.CHROME
chrome_options = Options()
chrome_options.add_experimental_option("excludeSwitches", ["ignore-certificate-errors"])
local_capabilities.update(chrome_options.to_capabilities())
self.log.info(self.machine.ip)
self.log.info(self.machine.port)
self.driver = webdriver.Remote(desired_capabilities={
"browserName": "chrome",
"platform": "MAC",
})
self.log.info('start selenium started')
self.driver.get("http://127.0.0.1:8091")
self.username = "Administrator"
self.password = "password"
self.driver.maximize_window()
except Exception as ex:
self.input.test_params["stop-on-failure"] = True
self.log.error("SETUP WAS FAILED. ALL TESTS WILL BE SKIPPED")
self.fail(ex)
示例12: get_chrome_driver
# 需要导入模块: from selenium.webdriver.chrome.options import Options [as 别名]
# 或者: from selenium.webdriver.chrome.options.Options import add_experimental_option [as 别名]
def get_chrome_driver(self):
"""Setup and return a Chrom[e|ium] browser for Selenium."""
opts = Options()
absp = os.path.abspath
if "TRAVIS" in os.environ: # github.com/travis-ci/travis-ci/issues/938
opts.add_argument("--no-sandbox")
opts.add_extension(self.pb_ext_path) # will fail if ext can't be found
if self.browser_bin: # otherwise will use webdriver's default binary
print "Browser binary:", absp(self.browser_bin)
opts.binary_location = self.browser_bin # set binary location
# Fix for https://code.google.com/p/chromedriver/issues/detail?id=799
opts.add_experimental_option("excludeSwitches", ["ignore-certificate-errors"])
return webdriver.Chrome(chrome_options=opts)
示例13: __init__
# 需要导入模块: from selenium.webdriver.chrome.options import Options [as 别名]
# 或者: from selenium.webdriver.chrome.options.Options import add_experimental_option [as 别名]
def __init__(self, username=None, password=None, nogui=False):
if nogui:
self.display = Display(visible=0, size=(800, 600))
self.display.start()
chrome_options = Options()
chrome_options.add_argument('--dns-prefetch-disable')
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument('--lang=en-US')
chrome_options.add_experimental_option('prefs', {'intl.accept_languages': 'en-US'})
self.browser = webdriver.Chrome('./assets/chromedriver', chrome_options=chrome_options)
self.browser.implicitly_wait(25)
self.logFile = open('./logs/logFile.txt', 'a')
self.logFile.write('Session started - %s\n' \
% (datetime.now().strftime('%Y-%m-%d %H:%M:%S')))
self.username = username or environ.get('INSTA_USER')
self.password = password or environ.get('INSTA_PW')
self.nogui = nogui
self.do_comment = False
self.comment_percentage = 0
self.comments = ['Cool!', 'Nice!', 'Looks good!']
self.photo_comments = []
self.video_comments = []
self.followed = 0
self.follow_restrict = load_follow_restriction()
self.follow_times = 1
self.do_follow = False
self.follow_percentage = 0
self.dont_include = []
self.automatedFollowedPool = []
self.dont_like = ['sex', 'nsfw']
self.ignore_if_contains = []
self.ignore_users = []
self.use_clarifai = False
self.clarifai_secret = None
self.clarifai_id = None
self.clarifai_img_tags = []
self.clarifai_full_match = False
self.like_by_followers_upper_limit = 0
self.like_by_followers_lower_limit = 0
self.aborting = False
示例14: get
# 需要导入模块: from selenium.webdriver.chrome.options import Options [as 别名]
# 或者: from selenium.webdriver.chrome.options.Options import add_experimental_option [as 别名]
def get(browser, download_dir):
"""Returns the WebDriver for the specified browser.
"""
print("Getting Driver")
# clear temp folder
basics.remove_files(download_dir)
# set firefox profile and return instance of HBPDriver
if browser == "firefox":
profile = ff_profile(download_dir)
return HBPDriverFirefox(profile)
elif browser == "chrome":
prefs = {
"profile.default_content_settings.popups": 0,
"download.prompt_for_download": "false",
"download.default_directory": download_dir,
"download.extensions_to_open": "",
}
chrome_options = Options()
chrome_options.add_argument("--disable-extensions")
chrome_options.add_argument("--no-sandbox") #This make Chromium reachable
chrome_options.add_argument("--no-default-browser-check") #Overrides default choices
chrome_options.add_argument("--no-first-run")
chrome_options.add_argument("--disable-default-apps")
chrome_options.add_argument("--test-type")
chrome_options.add_experimental_option("prefs", prefs)
PROXY = "bbpproxy.epfl.ch:80"
webdriver.DesiredCapabilities.CHROME['proxy'] = {
"httpProxy": PROXY,
"ftpProxy": PROXY,
"sslProxy": PROXY,
"noProxy": None,
"proxyType": "MANUAL",
"class": "org.openqa.selenium.Proxy",
"autodetect": False
}
chrome_logpath = os.path.join(basics.dir_main(), "browser.log")
driver = webdriver.Chrome(chrome_options=chrome_options,
service_args=["--verbose", "--log-path=%s" % chrome_logpath])
return HBPDriver(driver)
return HBPDriverChrome(chrome_options=chrome_options,
service_args=["--verbose", "--log-path=%s" % chrome_logpath])
else:
raise ValueError("Unsopported browser %s" % browser)
示例15: setup_chromedriver
# 需要导入模块: from selenium.webdriver.chrome.options import Options [as 别名]
# 或者: from selenium.webdriver.chrome.options.Options import add_experimental_option [as 别名]
def setup_chromedriver(mode):
# configuring chromedriver:
# my screen res: 1366*768:
# activate for verbose logging:
# service_log_path = "chromedriver.log"
# service_args = ['--verbose']
chrome_options = Options()
if mode is 'primary':
chrome_options.add_argument("--restore-last-session")
chrome_options.add_argument("user-data-dir=master_profile")
chrome_options.add_argument("--window-size={},{}".format(1000, 800))
chrome_options.add_argument("--window-position={},{}".format(1, 1))
elif mode is 'tertiary':
chrome_options.add_argument("--window-size={},{}".format(200, 800))
chrome_options.add_argument("--window-position={},{}".format(1050, 1))
# get rid off: --ignore-certificate-errors command-line flag warning:
chrome_options.add_experimental_option("excludeSwitches", ["ignore-certificate-errors"])
chrome_options.add_argument("--disable-infobars") # add command line flags
chrome = Chrome(chrome_options=chrome_options,
# service_args=service_args,
# service_log_path=service_log_path
)
# log in if not already:
if 'readcube.com/session/new' in chrome.current_url and mode is 'primary':
chrome.get('https://app.readcube.com/#/library/collection/~/items')
# logging in via email / password
for i in range(5):
try:
sleep(3)
chrome.find_element_by_id('email').send_keys(user)
chrome.find_element_by_id('password').send_keys(pw)
chrome.find_element_by_class_name('submit-button').click()
except Exception as e:
sleep(1.5)
# print e
else:
break
# returns driver:
return chrome