Created
August 2, 2017 13:35
-
-
Save yucer/c1cadffd7c3ea418bf59a1afaf0acd30 to your computer and use it in GitHub Desktop.
Script to test opening new tab with selenium RemoteWebDriver
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env python | |
# -*- coding: utf-8 -*- | |
import sys | |
import os | |
import time | |
import tempfile | |
import logging | |
logging.basicConfig(level=logging.DEBUG) | |
from selenium import webdriver | |
from selenium.webdriver.common.keys import Keys | |
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities | |
from selenium.webdriver.common.action_chains import ActionChains | |
from pprint import pprint | |
FF_VERSION = os.environ.get("FF_VERSION", None) | |
if not FF_VERSION: | |
sys.exit('Error: FF_VERSION shell variable not specified') | |
fp = webdriver.FirefoxProfile() | |
fp.set_preference('webdriver.log.browser.file', 'webdriver_browser.log') | |
fp.set_preference('webdriver.log.file', 'webdriver.log') | |
fp.set_preference('webdriver.log.browser.ignore', False) | |
fp.set_preference('webdriver.log.driver.ignore', False) | |
fp.set_preference('webdriver.log.profiler.ignore', False) | |
fp.set_preference('webdriver.log.browser.level', 'DEBUG') | |
fp.set_preference('webdriver.log.driver.level', 'DEBUG') | |
fp.set_preference('webdriver.log.profiler.level', 'DEBUG') | |
fp.set_preference('browser.download.folderList', 2) | |
fp.set_preference('browser.download.manager.showWhenStarting', False) | |
fp.set_preference('browser.helperApps.neverAsk.saveToDisk', 'application/pdf, application/vnd.fdf, application/x-unknown-application-octet-stream, text/csv, application/octet-stream, application/zip, application/x-gzip') | |
fp.set_preference("plugin.disable_full_page_plugin_for_types", "application/pdf,application/vnd.fdf") | |
fp.set_preference("browser.helperApps.alwaysAsk.force", False) | |
fp.set_preference("pdfjs.disabled", True) | |
fp.native_events_enabled = True | |
capabilities = DesiredCapabilities.FIREFOX.copy() | |
capabilities.update( | |
platform="LINUX", version=FF_VERSION, | |
# marionette=False, | |
firefox_binary="/var/lib/selenium/bin/firefoxes/%s/firefox" % FF_VERSION) | |
capabilities['moz:firefoxOptions'] = { | |
'args' : ['--display=:101'], | |
'log' : {'level' : 'trace'} | |
} | |
kwargs = dict(command_executor="http://172.17.0.2:4444/wd/hub/", | |
desired_capabilities=capabilities, | |
browser_profile=fp | |
) | |
print("\nWebdriver parameters: \n") | |
pprint(kwargs) | |
driver = webdriver.Remote(**kwargs) | |
driver.implicitly_wait(1) | |
driver.maximize_window() | |
driver.get("about:") | |
time.sleep(4) | |
driver.get("http://www.google.com") | |
time.sleep(5) | |
# raw_input("Press Enter to send CTRL+n...") | |
# driver.find_element_by_tag_name('body').send_keys(Keys.CONTROL + 'n') | |
raw_input("\nAttempt #1: Send <CTRL> + <t>. Press Enter to perform.") | |
driver.find_element_by_tag_name('body').send_keys(Keys.CONTROL + 't') | |
raw_input( | |
"\nAttempt #2: Send <CTRL> + <t> using ACTION CHAINS. Press Enter to perform.") | |
ActionChains(driver).key_down(Keys.CONTROL).send_keys('t').key_up(Keys.CONTROL).perform() | |
raw_input("Press Enter to close the browser...") | |
if driver: | |
try: | |
driver.close() | |
print("Selenium browser closed.") | |
except: | |
print('(Exception occured while closing browser window: ignored.)') | |
#print(traceback.format_exc()) | |
driver = None |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment