def main(argv): exclude_switches = ["disable-background-networking"] chrome_options = webdriver.ChromeOptions() chrome_options.add_experimental_option("excludeSwitches", exclude_switches) driver = test_util.create_chrome_webdriver(chrome_options=chrome_options) try: app = Application(backend="uia") app.connect(title_re='.*Chrome|.*Chromium') window = app.top_window() # Wait for Chrome to download SafeBrowsing lists in the background. # There's no trigger to force this operation or synchronize on it, but quick # experiments have shown 3-4 minutes in most cases, so 5 should be plenty. time.sleep(60 * 5) # Verify Policy status legend in chrome://policy page policy_url = "chrome://policy" driver.get(policy_url) driver.find_element_by_id('reload-policies').click deviceId = driver.find_element_by_class_name( 'machine-enrollment-device-id').text visit(window, UnsafePageLink) visit(window, UnsafeDownloadLink) print('\nDeviceId:' + deviceId.strip()) except Exception as error: print(error) finally: driver.quit()
def main(argv): exclude_switches = ["disable-background-networking"] options = webdriver.ChromeOptions() options.add_argument("--force-renderer-accessibility") options.add_experimental_option("excludeSwitches", exclude_switches) os.environ["CHROME_LOG_FILE"] = r"c:\temp\chrome_log.txt" driver = test_util.create_chrome_webdriver(chrome_options=options) app = Application(backend="uia") app.connect(title_re='.*Chrome|.*Chromium') window = app.top_window() # Wait for browser enrolling time.sleep(15) # Click reload policy to pull cloud policies from the server side policy_url = "chrome://policy" driver.get(policy_url) driver.find_element_by_id('reload-policies').click download_file_from_url(driver, encrypted_file_url, encrypted_block_text, 30, "Button", "Encrypted blocked") download_file_from_url(driver, large_file_url, large_block_text, 30, "Button", "Large file blocked") download_file_from_url(driver, unknown_malware_url, unknown_malware_block_text, 2, "Text", "Unknown malware scanning") driver.quit()
def main(argv): os.system('start chrome --remote-debugging-port=9222') options = webdriver.ChromeOptions() # Add option for connecting chromedriver with Chrome options.add_experimental_option("debuggerAddress", "localhost:9222") driver = test_util.create_chrome_webdriver(chrome_options=options, incognito=FLAGS.incognito) driver.get(URL) time.sleep(10) translatePopupVisible = None try: app = Application(backend="uia") app.connect(title_re='.*Chrome|.*Chromium') app.top_window() \ .child_window(title="Translate this page?", control_type="Pane") \ .print_control_identifiers() translatePopupVisible = True except ElementNotFoundError as error: translatePopupVisible = False finally: driver.quit() os.system('taskkill /f /im chrome.exe') if translatePopupVisible: print("TRUE") else: print("FALSE")
def main(argv): options = webdriver.ChromeOptions() # Add option for enrolling to the dev DMServer options.add_argument( "device-management-url=https://crosman-qa.sandbox.google.com/devicemanagement/data/api" ) os.environ["CHROME_LOG_FILE"] = r"c:\temp\chrome_log.txt" driver = test_util.create_chrome_webdriver(chrome_options=options) # Give some time for browser to enroll time.sleep(10) try: # Verify Policy status legend in chrome://policy page policy_url = "chrome://policy" driver.get(policy_url) driver.find_element_by_id('reload-policies').click print driver.find_element_by_class_name('legend').text print driver.find_element_by_class_name('machine-enrollment-name').text print driver.find_element_by_class_name('machine-enrollment-token').text print driver.find_element_by_class_name('status').text except Exception as error: print error finally: driver.quit()
def main(argv): policy_url = "chrome://policy" version_url = "chrome://version" # Verify the user data dir is not existing before launch the Chrome print "User data before running chrome is " + str( os.path.isdir(FLAGS.user_data_dir)) # Launch real Chrome os.system('start chrome --remote-debugging-port=9222') options = webdriver.ChromeOptions() # Add option for connecting chromedriver with Chrome options.add_experimental_option("debuggerAddress", "localhost:9222") driver = test_util.create_chrome_webdriver(chrome_options=options) try: # Verify User Data Dir in chrome://policy page driver.get(policy_url) print driver.find_element_by_css_selector('html').text.encode('utf-8') # Verfiy User Data Dir used in chrome://version driver.get(version_url) print "Profile path is " + driver.find_element_by_id( "profile_path").text # Verify if UserDataDir folder is created print "User data dir creation is " + str( os.path.isdir(FLAGS.user_data_dir)) except Exception as error: print error finally: driver.quit() os.system('taskkill /f /im chrome.exe')
def main(argv): driver = test_util.create_chrome_webdriver() try: driver.get('http://www.google.com') driver.get('chrome://history') # wait for page to be loaded wait = WebDriverWait(driver, 10) wait.until( expected_conditions.visibility_of_element_located( (By.TAG_NAME, 'history-app'))) history_app = driver.find_element_by_css_selector("history-app") histroy_list = getElementFromShadowRoot(driver, history_app, "history-list") # get the checkbox of the first history item histroy_item = getElementFromShadowRoot(driver, histroy_list, 'history-item') checkbox = getElementFromShadowRoot(driver, histroy_item, '#main-container cr-checkbox') disabled = checkbox.get_attribute('disabled') if disabled == 'true': print('DISABLED') else: print('ENABLED') finally: driver.quit()
def main(argv): driver = test_util.create_chrome_webdriver() try: application = Application(backend="uia") application.connect(title_re='.*Chrome|.*Chromium') w = application.top_window() for desc in w.descendants(): print "item: %s" % desc print "Closing info bar." container = w.child_window(best_match="Infobar Container") container.child_window(best_match="Close").click_input() print "press F11 to enter full screen mode." w.type_keys('{F11}') window_rect = w.rectangle() window_width = window_rect.width() window_height = window_rect.height() content_width = driver.execute_script("return window.innerWidth") content_height = driver.execute_script("return window.innerHeight") # The content area should be the same size as the full window. print "window_rect: %s" % window_rect print "window_width: %s" % window_width print "window_height: %s" % window_height print "content_width: %s" % content_width print "content_height: %s" % content_height fs = window_width == content_width and window_height == content_height print "FullscreenAllowed: %s" % fs finally: driver.quit()
def main(argv): driver = test_util.create_chrome_webdriver(incognito=FLAGS.incognito) driver.get(FLAGS.url) if FLAGS.wait > 0: time.sleep(FLAGS.wait) if FLAGS.text_only: print(driver.find_element_by_css_selector('html').text.encode('utf-8')) else: print(driver.page_source.encode('utf-8')) driver.quit()
def main(argv): try: chrome_options = webdriver.ChromeOptions() chrome_options.add_experimental_option( "excludeSwitches", ["disable-background-networking"]) driver = test_util.create_chrome_webdriver( chrome_options=chrome_options) # Wait for the extension to install on this new profile. time.sleep(10) RunTest(driver) finally: driver.quit()
def main(argv): driver = test_util.create_chrome_webdriver( incognito=FLAGS.incognito, prefs=PREFS) driver.get(URL) time.sleep(10) output = driver.find_element_by_css_selector('html').text.encode('utf-8') if MAGIC_STRING_ENGLISH in output: print "TRUE" else: print "FALSE" driver.quit()
def main(argv): driver = test_util.create_chrome_webdriver() driver.get("chrome://settings/passwords") # The settings is nested within multiple shadow doms - extract it. el = getNestedShadowDom(driver, [ "settings-ui", "settings-main", "settings-basic-page", "settings-autofill-page", "passwords-section", "#passwordToggle" ]) if el.find_element_by_css_selector("cr-toggle").get_attribute("checked"): print "TRUE" else: print "FALSE" driver.quit()
def main(argv): driver = test_util.create_chrome_webdriver() try: application = Application(backend="uia") application.connect(title_re='.*Chrome|.*Chromium') print("Looking for apps shortcut...") for desc in application.top_window().descendants(): print(desc.window_text()) if "Apps" == desc.window_text(): print("TRUE") return print("FALSE") finally: driver.quit()
def main(argv): exclude_switches = ["disable-background-networking"] chrome_options = webdriver.ChromeOptions() chrome_options.add_experimental_option("excludeSwitches", exclude_switches) driver = test_util.create_chrome_webdriver(chrome_options=chrome_options) app = Application(backend="uia") app.connect(title_re='.*Chrome|.*Chromium') window = app.top_window() # Wait for Chrome to download SafeBrowsing lists in the background. # There's no trigger to force this operation or synchronize on it, but quick # experiments have shown 3-4 minutes in most cases, so 5 should be plenty. time.sleep(60 * 5) print "Visiting unsafe page: %s" % UnsafePageLink visit(window, UnsafePageLink) unsafe_page = False for desc in app.top_window().descendants(): if desc.window_text(): print "unsafe_page.item: %s" % desc.window_text() if UnsafePageLinkTabText in desc.window_text(): unsafe_page = True break print "Downloading unsafe file: %s" % UnsafeDownloadLink visit(window, UnsafeDownloadLink) unsafe_download = False for desc in app.top_window().descendants(): if desc.window_text(): print "unsafe_download.item: %s" % desc.window_text() if re.search(UnsafeDownloadTextRe, desc.window_text()): unsafe_download = True break print "RESULTS.unsafe_page: %s" % unsafe_page print "RESULTS.unsafe_download: %s" % unsafe_download driver.quit()
def main(argv): driver = test_util.create_chrome_webdriver() driver.get("chrome://settings/passwords") # The settings is nested within multiple shadow doms - extract it. selectors = [ "settings-main", "settings-basic-page", "settings-autofill-page", "passwords-section", "#passwordToggle", "cr-toggle" ] el = driver.find_element_by_css_selector("settings-ui") for selector in selectors: el = getElementFromShadowRoot(driver, el, selector) if el.get_attribute("checked"): print("TRUE") else: print("FALSE") driver.quit()
def main(argv): driver = test_util.create_chrome_webdriver(incognito=FLAGS.incognito) driver.get(URL) time.sleep(10) app = Application(backend="uia") app.connect(title_re='.*Chrome|.*Chromium') translatePopupVisible = False for desc in app.top_window().descendants(): if 'Translate this page?' in desc.window_text(): translatePopupVisible = True break if translatePopupVisible: print "TRUE" else: print "FALSE" driver.quit()
def main(argv): options = webdriver.ChromeOptions() os.environ["CHROME_LOG_FILE"] = r"c:\temp\chrome_log.txt" driver = test_util.create_chrome_webdriver(chrome_options=options) # Give some time for browser to enroll time.sleep(10) try: # Verify Policy status legend in chrome://policy page policy_url = "chrome://policy" driver.get(policy_url) driver.find_element_by_id('reload-policies').click print driver.find_element_by_class_name('legend').text print driver.find_element_by_class_name('machine-enrollment-name').text print driver.find_element_by_class_name( 'machine-enrollment-token').text print driver.find_element_by_class_name('status').text except Exception as error: print error finally: driver.quit()
def main(argv): os.system('start chrome --remote-debugging-port=9222') options = webdriver.ChromeOptions() options.add_argument("--force-renderer-accessibility") options.add_experimental_option("debuggerAddress", "localhost:9222") driver = test_util.create_chrome_webdriver(chrome_options=options) app = Application(backend="uia") app.connect(title_re='.*Chrome|.*Chromium') # Wait for browser enrolling time.sleep(15) # Click reload policy to pull cloud policies from the server side policy_url = "chrome://policy" driver.get(policy_url) driver.find_element_by_id('reload-policies').click # paste content from clipboard to the form driver.get(paste_url) form = driver.find_element_by_name('sensitive_data_scan') pyperclip.copy(FLAGS.text) form.send_keys(Keys.CONTROL, "v") time.sleep(20) try: # Print the UI elements which contain text for desc in app.top_window().descendants(): print(desc.window_text()) # Check if the paste is completed in form if form.get_attribute('value') == FLAGS.text: print("Paste is done") else: print("Paste is blocked") except: print("Error occurs") finally: driver.quit() os.system('taskkill /f /im chrome.exe')
def main(argv): chrome_options = webdriver.ChromeOptions() chrome_options.add_argument("--force-renderer-accessibility") #Always set useAutomationExtension as false to avoid failing launch Chrome #https://bugs.chromium.org/p/chromedriver/issues/detail?id=2930 chrome_options.add_experimental_option("useAutomationExtension", False) driver = test_util.create_chrome_webdriver(chrome_options=chrome_options) app = Application(backend="uia") app.connect(title_re='.*Chrome|.*Chromium') driver.get(FLAGS.url) time.sleep(5) driver.find_element_by_xpath("//div[@aria-label='Add to Chrome']").click() try: app.top_window() \ .child_window(title_re='.*Your admin has blocked', control_type="TitleBar") \ .print_control_identifiers() except ElementNotFoundError as error: print "Not blocked" finally: driver.quit()
def main(argv): chrome_options = webdriver.ChromeOptions() if FLAGS.incognito: chrome_options.add_argument('incognito') #Always set useAutomationExtension as false to avoid failing launch Chrome #https://bugs.chromium.org/p/chromedriver/issues/detail?id=2930 chrome_options.add_experimental_option("useAutomationExtension", False) driver = test_util.create_chrome_webdriver(chrome_options=chrome_options) driver.implicitly_wait(FLAGS.wait) driver.get(FLAGS.url) driver.find_element_by_xpath("//div[@aria-label='Add to Chrome']").click() if FLAGS.wait > 0: time.sleep(FLAGS.wait) if FLAGS.text_only: print driver.find_element_by_css_selector('html').text.encode('utf-8') else: print driver.page_source.encode('utf-8') driver.quit()
# Copyright (c) 2019 The Chromium Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. from selenium.webdriver.common.by import By from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.support.ui import WebDriverWait import test_util driver = test_util.create_chrome_webdriver() driver.get('http://www.google.com/xhtml') # wait for page to be loaded wait = WebDriverWait(driver, 10) wait.until(EC.visibility_of_element_located((By.NAME, 'q'))) search_box = driver.find_element_by_name('q') search_box.send_keys('searchTerm') search_box.submit() # wait for the search result page to be loaded wait.until(EC.visibility_of_element_located((By.ID, 'search'))) print(driver.current_url) driver.quit()
def _create_driver(): chrome_options = Options() chrome_options.add_argument(r'user-data-dir=%s' % FLAGS.user_data_dir) return test_util.create_chrome_webdriver(chrome_options=chrome_options)
# Copyright 2019 The Chromium Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. from selenium import webdriver import test_util testSite = "http://www.popuptest.com/popuptest1.html" options = webdriver.ChromeOptions() options.add_experimental_option('excludeSwitches', ['disable-popup-blocking']) driver = test_util.create_chrome_webdriver(chrome_options=options) driver.implicitly_wait(5) driver.get(testSite) handles = driver.window_handles print len(handles) driver.quit()