Пример #1
0
    def test_MDT_open_new(self):
        WebDriverWait(self.driver, 5).until(EC.element_to_be_clickable((By.XPATH, self.helper.get_xpath("create_workspace_btn"))))

        workspace_name = "Open New MDT"
        return_msg = self.helper.open_new_workspace(workspace_name)
        self.assertEqual(return_msg, "OK", "Call to open_new_workspace failed: '" + return_msg + "'")

        #Verify the name of the workspace window that pops up
        self.driver.switch_to_window(self.driver.window_handles[-1])
        window_name = self.driver.title
        self.assertEqual(window_name, workspace_name, "Workspace window does not match name of workspace")

        #Make sure the user has a valid connection
        return_msg = self.helper.is_valid_connection()
        self.assertEqual(return_msg, "Connected", "Call to is_valid_connection failed: '" + return_msg + "'")

        #Enter product in search field
        element = WebDriverWait(self.driver, 5).until(EC.element_to_be_clickable((By.XPATH, self.helper.get_xpath("instrument_search"))))
        product = self.helper.get_product()
        element.send_keys(product)

        #Make sure the product entered in the search field matches each of the results returned
        what = self.helper.get_xpath("instrument_search_results")
        WebDriverWait(self.driver, 5).until(EC.presence_of_element_located((By.XPATH, what)))
        elements = self.driver.find_elements_by_xpath(what)
        for element in elements:
            self.assertIn(product, element.text, "Search string '" + product + "' not found in result '" + element.text + "'")

        #Click on the first search result and verify that MDT for that contract appears
        search_result_title = elements[0].text
        elements[0].click()
        what = self.helper.get_xpath("mdt_title")
        element = WebDriverWait(self.driver, 5).until(EC.presence_of_element_located((By.XPATH, what)))
        self.assertIn(search_result_title, element.text, "Search result instrument (" + search_result_title + ") was not found in title of MDT (" + element.text + ")")
    def create_ds(self, name, description, tags, private, searchable, allowed_users, acquire_url, resource_url, resource_name, resource_description, resource_format):
        driver = self.driver
        driver.get(self.base_url)
        WebDriverWait(self.driver, 10).until(EC.element_to_be_clickable((By.LINK_TEXT, 'Datasets'))).click()
        WebDriverWait(self.driver, 10).until(EC.element_to_be_clickable((By.LINK_TEXT, 'Add Dataset'))).click()
        self.fill_ds_general_info(name, description, tags, private, searchable, allowed_users, acquire_url)

        # SECOND PAGE: Add Resources
        WebDriverWait(self.driver, 10).until(EC.presence_of_element_located((By.ID, "field-name")))

        # Wait a bit to let ckan add javascript hooks
        time.sleep(0.2)

        try:
            # The link button is only clicked if it's present
            driver.find_element_by_link_text('Link').click()
        except Exception:  # pragma: no cover
            pass

        driver.find_element_by_id('field-image-url').clear()
        driver.find_element_by_id('field-image-url').send_keys(resource_url)
        driver.find_element_by_id('field-name').clear()
        driver.find_element_by_id('field-name').send_keys(resource_name)
        driver.find_element_by_id('field-description').clear()
        driver.find_element_by_id('field-description').send_keys(resource_description)
        driver.find_element_by_id('s2id_autogen1').send_keys(resource_format + Keys.RETURN)
        driver.find_element_by_css_selector('button.btn.btn-primary').click()
Пример #3
0
 def click_toc_recent(self, tref):
     WebDriverWait(self.driver, TEMPER).until(
         element_to_be_clickable((By.CSS_SELECTOR, '.recentItem[data-ref="{}"]'.format(tref)))
     )
     recent = self.driver.find_element_by_css_selector('.recentItem[data-ref="{}"]'.format(tref))
     recent.click()
     WebDriverWait(self.driver, TEMPER).until(element_to_be_clickable((By.CSS_SELECTOR, '.segment')))
Пример #4
0
    def test_MDT_GTC(self):
        WebDriverWait(self.driver, 5).until(EC.element_to_be_clickable((By.XPATH, self.helper.get_xpath("create_workspace_btn"))))

        workspace_name = "MDT GTC"
        return_msg = self.helper.open_new_workspace(workspace_name)
        self.assertEqual(return_msg, "OK", "Call to open_new_workspace failed: '" + return_msg + "'")
        
        #Verify the name of the workspace window that pops up
        self.driver.switch_to_window(self.driver.window_handles[-1])
        window_name = self.driver.title
        self.assertEqual(window_name, workspace_name, "Workspace window does not match name of workspace")

        #Make sure the user has a valid connection
        return_msg = self.helper.is_valid_connection()
        self.assertEqual(return_msg, "Connected", "Call to is_valid_connection failed: '" + return_msg + "'")

        #Open MDT window
        workspace_windows = ['mdt', 'order_book']
        self.assertTrue(self.helper.populate_workspace(workspace_windows), "Call to populate_workspace failed")

        element = WebDriverWait(self.driver, 5).until(EC.element_to_be_clickable((By.XPATH, self.helper.get_xpath("mdt_GTC_order"))))
        element.click()

        self.helper.send_order()

        #Get the name of the contract based on the title of the MDT window
        element = self.driver.find_element_by_xpath(self.helper.get_xpath("mdt_title"))
        contract_name = (element.text).split(":")[0]

        #Verify values in order book
        return_msg = self.helper.validate_order(tif="GTC", contract=contract_name)
        self.assertEqual(return_msg, "OK", "Call to validate_order failed: '" + return_msg + "'")
Пример #5
0
 def _do_logout(self, args):
     wait = ui.WebDriverWait(self.browser, self.timeout)
     wait.until(expected_conditions.element_to_be_clickable((By.ID, "nav_logout")))
     elem = self.browser.find_element_by_id("nav_logout")
     elem.send_keys(Keys.RETURN)
     wait = ui.WebDriverWait(self.browser, self.timeout)
     wait.until(expected_conditions.element_to_be_clickable((By.ID, "nav_login")))
Пример #6
0
def find_soup(domain_name, driver, form_name):
    # element_to_be_clickable, presence_of_element_located
    WebDriverWait(driver, MAX_WAIT).until(EC.element_to_be_clickable((By.ID, form_name)))
    domain_form = driver.find_element_by_id(form_name)
    WebDriverWait(driver, MAX_WAIT).until(EC.element_to_be_clickable((By.ID, form_name)))
    domain_form.clear()

    type_new = ActionChains(driver).click(domain_form).send_keys(domain_name)
    type_new.perform()
   
    driver.implicitly_wait(0.1)
    wait_attempts = 0
    while domain_form.get_attribute('value') != domain_name:
        driver.implicitly_wait(5)
        wait_attempts += 1
        if wait_attempts > WAIT_ATTEMPTS:
            break

    submit_new = ActionChains(driver).click(domain_form).send_keys(Keys.ENTER)
    submit_new.perform()

    WebDriverWait(driver, MAX_WAIT).until(EC.element_to_be_clickable((By.ID, "domain_search_input")))

    source = driver.page_source
    soup = BeautifulSoup(source, "html.parser")

    godaddy_link = 'https://www.godaddy.com/domains/searchresults.aspx?checkAvail=1&domainToCheck=' + domain_name

    # Can't do the following b/c the browser url doesn't change when editing form within page: godaddy_link = driver.current_url

    return soup, godaddy_link, driver
Пример #7
0
def submitAndBuy():

    # 去购物车结算
    wait.until(EC.visibility_of_element_located((By.XPATH,'//*[@id="J_ResultSummary"]/div[4]/a[2]')));
    driver.find_element_by_xpath('//*[@id="J_ResultSummary"]/div[4]/a[2]').click();

    # 选择所有物品
    wait.until(EC.element_to_be_clickable((By.XPATH,'//*[@id="J_SelectAll1"]')));
    driver.find_element_by_xpath('//*[@id="J_SelectAll1"]').click();

    # 去结算
    wait.until(EC.element_to_be_clickable((By.XPATH,'//*[@id="J_Go"]')));
    driver.find_element_by_xpath('//*[@id="J_Go"]').click();

    #提交订单
    wait.until(EC.element_to_be_clickable((By.XPATH,'//*[@id="J_Go"]')));
    driver.find_element_by_xpath('//*[@id="J_Go"]').click();


    # 点击其他付款方式
    wait.until(EC.element_to_be_clickable((By.XPATH,'//*[@id="J-rcChannels"]/div/div/a[1]')));
    driver.find_element_by_xpath('//*[@id="J-rcChannels"]/div/div/a[1]').click();

    # 添加银行卡
    wait.until(EC.element_to_be_clickable((By.XPATH,'//*[@id="J-rcChannels"]/div/div/a')));
    driver.find_element_by_xpath('//*[@id="J-rcChannels"]/div/div/a').click();
Пример #8
0
    def delete_workspace(self):
        #Don't delete the default "Take the Tour" workspace, just close the workspace
        if self.driver.title == "Take the Tour":
            self.driver.close()
            return True

        #Click on the cog icon and then select the delete workspace option
        what = self.get_xpath("cog_icon")
        cog_icon = WebDriverWait(self.driver, 5).until(EC.element_to_be_clickable((By.XPATH, what)))
        cog_icon.click()
        what = self.get_xpath("delete_workspace")
        delete_button = WebDriverWait(self.driver, 5).until(EC.element_to_be_clickable((By.XPATH, what)))
        delete_button.click()

        #If there are no widgets then clicking the delete workspace option will close the workspace so wait a few seconds for it to close and then switch to the open window
        #(TODO: Figure out a better way to wait for the window to close)
        time.sleep(2)
        self.driver.switch_to_window(self.driver.window_handles[-1])

        #The confirmation page will only appear if there are widgets on the workspace so ignore the timeout if the confimration doesn't appear
        what = self.get_xpath("delete_workspace_confirmation")
        wait = WebDriverWait(self.driver, 5)
        try:
            confirmation_window = wait.until(EC.element_to_be_clickable((By.XPATH, what)))
        except TimeoutException, e:
            return True
Пример #9
0
def getupc(data, sleeptime):
    display = Display(visible=0, size=(800, 600))
    display.start()
    a = webdriver.Firefox()
    a.get('https://www.google.com/ncr')
    time.sleep(sleeptime)
    search = WebDriverWait(a, 5).until(EC.element_to_be_clickable((By.XPATH, "//input[@type='text']")))
    for i in data:
        ActionChains(a).move_to_element(search).click(search).send_keys(i['name'] + ' upc', Keys.ENTER).perform()
        time.sleep(sleeptime)
        contents = WebDriverWait(a, 5).until(EC.presence_of_all_elements_located((By.XPATH, "//div[@class='g']")))
        try:
            upc = next(
                    (re.split(r'/', href.find_element_by_tag_name('a').get_attribute('href'))[-1] for
                     href in contents if
                     href.find_element_by_tag_name('a').get_attribute('href').startswith(
                             'http://www.upcitemdb.com/upc')))
            i['upc'] = upc
        except StopIteration:
            pass

        search = WebDriverWait(a, 5).until(EC.element_to_be_clickable((By.XPATH, "//input[@type='text']")))
        search.clear()
    a.close()
    display.stop()
    return data
Пример #10
0
def get_browser(username, password):
    """Get an instance of a firefox browser"""

    browser = webdriver.Firefox()
    browser.set_window_size(1020, 800)

    # set username
    browser.get('https://www.cgd.pt')
    elem = WebDriverWait(browser, 10).until(
        EC.presence_of_element_located((By.ID, 'input_cx1'))
    )
    elem.send_keys(username + Keys.ENTER)

    # close warnings
    elem = WebDriverWait(browser, 10).until(
        EC.element_to_be_clickable((By.XPATH, '//*[@title="Fechar Aviso"]'))
    )
    elem.click()

    # add password
    elem = WebDriverWait(browser, 10).until(
        EC.presence_of_element_located((By.ID, 'passwordInput'))
    )
    elem.send_keys(password + Keys.ENTER)

    # close warnings
    elem = WebDriverWait(browser, 10).until(
        EC.element_to_be_clickable((By.CLASS_NAME, 'botao_ok'))
    )
    elem.click()

    return browser
 def test_003_GotoScheduler(self):
     _ = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, 'i.entypo-menu')))
     driver.find_element_by_css_selector("i.entypo-menu").click()
     _ = wait.until(EC.element_to_be_clickable((By.LINK_TEXT, 'Расписание')))
     driver.find_element_by_link_text("Расписание").click()
     _ = wait.until(EC.element_to_be_clickable((By.CLASS_NAME, 'add-meeting')))
     print('тест №3 - переход в раздел "Расписание"')
def ModelMenuNav(w,x,y,z):
    MENU_SECTION = wait.until(EC.element_to_be_clickable((By.XPATH, x))) # SECTION should go here
    MENU_SECTION.click()

    # attempting to execute javascript to resolve IE issue with dropdowns disappearing 
    # too quickly and forcing test 1 to fail.
    # driver.execute_script('id="category_Sedans"')
    
    # Below is another possible fix being investigated for IE dropdown issue using ActionChains module import. 
    # This attempts to hover the mouse over the element.
    # hover = ActionChains(driver).move_to_element(MENU_SECTION)
    # hover.perform()
    MENU_NAV = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, y))) # ELEMENT should go here
    
    # Part of ActionChains module import for IE dropdown issue fix.
    # hover = ActionChains(driver).move_to_element(MENU_NAV)
    # hover.perform()
    
    MENU_NAV.click()
    
    # It's not good to use time.sleep() in selenium scripts, however in this instance it appears to be 
    # an acceptable execution, as it is allowing the below print statments to be triggered after the 
    # above click.  Without a time delay, the print statements were occasionally printing the content 
    # before the menu click was fully executed, thus not providing accurate info.
    time.sleep(timeSleep)
    print '  Model Name: ' + w  # NAME should go here
    print 'actual Title: ' + driver.title
    print 'expected URL: ' + real_url(base_url)  + z  # URL should go here
    print '  actual URL: ' + driver.current_url
    print '   URL Match: ' + matchIt(real_url(base_url) + z, driver.current_url) + '\n'  # URL should go here
    driver.get(base_url)

    '''
def NonModelMenuNav(w,x,y,z):
    MENU_SECTION = wait.until(EC.element_to_be_clickable((By.ID, x))) # SECTION should go here
    MENU_SECTION.click()
    MENU_NAV = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, y))) # ELEMENT should go here
    MENU_NAV.click()
    
    try:
        time.sleep(timeSleep)
        aw = driver.window_handles
        # wait.until((EC.title_contains, NAME(aw[1])))
        
        # This switches the selenium controls from the main (default) window to the newly opened 
        # window, only if a new window was opened from the menu click.
        driver.switch_to_window(aw[1])
        print ' Button Name: ' + w  # NAME should go here
        print 'Actual Title: ' + driver.title
        print 'Expected URL: ' +  z  # URL should go here
        print '  Actual URL: ' + driver.current_url
        print '   URL Match: ' + matchIt(z, driver.current_url) + '\n'  # URL should go here
        time.sleep(1)
        driver.close()
        # This switches selenium controls back to the main (default) window.
        driver.switch_to_window(aw[0])
        #driver.switch_to_default_content()
        
    except (IndexError, TimeoutException, NoSuchWindowException):
        time.sleep(timeSleep)
        print ' Button Name: ' + w # Name should go here
        print 'Actual Title: ' + driver.title
        print 'Expected URL: ' + real_url(base_url)  + z  # URL should go here
        print '  Actual URL: ' + driver.current_url
        print '   URL Match: ' + matchIt(real_url(base_url)  + z, driver.current_url) + '\n'  # URL should go here
        driver.get(base_url)
Пример #14
0
def wait_for_element(driver, debug, ele, etype, timeout):
    """ this function monitors a html page before executing the script further
        and waits for an element to appear

        args:
            driver  - selenium driver object
            ele     - element to wait for
            etype   - element time (could be ID or NAME)
            timeout - time to wait in seconds

        returns:
            True - in case the element was found
            False - if timeout kicks in and aborts the function
    """
    print_debug(debug, 'wait_for_element: {0}:{1}:{2}'.format(etype, ele, timeout))
    try:
        if etype == 'id':
            element_present = EC.element_to_be_clickable((By.ID, ele))
        elif etype == 'id-starts-with':
            element_present = EC.element_to_be_clickable((By.XPATH, '//*[starts-with(@id,"%s")]' % ele))
        elif etype == 'name':
            element_present = EC.element_to_be_clickable((By.NAME, ele))
        elif etype == 'class':
            element_present = EC.element_to_be_clickable((By.CLASS_NAME, ele))
            # element_present = EC.presence_of_element_located((By.XPATH, '//@class, "%s"]' % (ele)))
        else:
            element_present = EC.presence_of_element_located((By.XPATH, '//%s[text()="%s"]' % (etype, ele)))

        WebDriverWait(driver, timeout).until(element_present)
        print_debug(debug, "found {0}:{1}".format(etype, ele))
        return True
    except TimeoutException:
        print_debug(debug, "Timed out waiting for page to load {0}:{1}".format(etype, ele))
        return False
 def execute(self, driver, config):
     #clicking on "Locations"
     driver.find_element_by_xpath("//md-card-content/md-list-item[3]/div/a").click()
     #wait until all locations be there
     element = WebDriverWait(driver, 20).until(
                                           EC.element_to_be_clickable((By.XPATH, '//table'))
                                           )
     
     #create a list of locations
         
     rowCount = len(driver.find_elements(By.XPATH, "//table/tbody/tr"))        
     for i in range(1, rowCount+1):
             object = driver.find_element_by_xpath("//table/tbody/tr["+str(i)+"]/td[2]/a").text
             n = object
             LocationList.append(n)
     print LocationList
     
     # click on the second location
     driver.find_element_by_xpath("//table/tbody/tr[1]/td[2]/a").click()
     #wait till settings will be clickable
     element = WebDriverWait(driver, 20).until(
                                                   EC.element_to_be_clickable((By.XPATH, '//md-sidenav[2]/md-content/ul/li[14]/menu-link/a/span'))
                                                   )
     element.click()
     # deleting location
     driver.find_element_by_xpath("//location-settings-menu/md-menu/button").click()
     element = WebDriverWait(driver, 20).until(
                                                   EC.element_to_be_clickable((By.XPATH, "(//button[@type='button'])[6]"))
                                                   )
     element.click()
     driver.find_element_by_xpath("(//button[@type='button'])[6]").click()
     driver.find_element_by_xpath("(//button[@type='button'])[32]").click()
     driver.find_element_by_xpath("(//button[@type='button'])[34]").click()
     
     
Пример #16
0
    def load_people(self):
        self.driver.get(self.base_url + "/people")
        WebDriverWait(self.driver, TEMPER).until(element_to_be_clickable((By.CSS_SELECTOR, ".author")))

        self.driver.get(self.base_url + "/person/Meir%20Abulafia")
        WebDriverWait(self.driver, TEMPER).until(element_to_be_clickable((By.CSS_SELECTOR, "#place-map")))
        return self
    def test_000_crMeetForUserA(self):
        _ = wait.until(EC.element_to_be_clickable((By.ID, 'LoginForm_username')))
        assert "Login" in driver.title
        elem = driver.find_element_by_id("LoginForm_username")
        elem.send_keys("Ipad")
        elem = driver.find_element_by_id("LoginForm_password")
        elem.send_keys("ipad")
        elem.send_keys(Keys.RETURN)
        print(' логинимся в систему')

        _ = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, 'i.entypo-menu')))
        driver.find_element_by_css_selector("i.entypo-menu").click()
        time.sleep(2)
        driver.find_element_by_link_text("Расписание").click()
        _ = wait.until(EC.element_to_be_clickable((By.CLASS_NAME, 'add-meeting')))
        print(' переход в раздел "Расписание"')

        time.sleep(1)
        driver.find_element_by_xpath("//div[@id='bs-example-navbar-collapse-3']/div[5]/div[2]").click()
        time.sleep(3)
        driver.find_element_by_id('MeetingsData_S_NAME').send_keys('Пользователь А')
        driver.find_element_by_xpath('//div[8]/div/span/span/span/span[2]').click()
        time.sleep(2)
        driver.find_element_by_xpath('//body[@id="ui-id-1"]/span/span/span/input').send_keys('login' + Keys.ENTER)
        driver.find_element_by_id('MeetingsData_D_START').clear()
        driver.find_element_by_id('MeetingsData_D_START').send_keys('20:22' + Keys.ENTER)
        driver.find_element_by_id('MeetingsData_D_END').clear()
        driver.find_element_by_id('MeetingsData_D_END').send_keys('20:52' + Keys.ENTER)
        time.sleep(2)
        driver.find_element_by_name('yt0').click()

        print(' Проверка передачи изменений в совещании для\n '
              'пользователя А(+ outlook acc.) и Б (- outlook acc.) \n'
              '- Заполняем форму создания совещания для пользоватлея А (ipad)')
Пример #18
0
 def load_ref(self, ref, filter=None, lang=None):
     """
     takes string ref or object Ref
     :param ref:
     :param filter: "all", "Rashi", etc
     :return:
     """
     if isinstance(ref, basestring):
         ref = Ref(ref)
     assert isinstance(ref, Ref)
     url = self.base_url + "/" + ref.url()
     if filter is not None:
         url += "&with={}".format(filter)
     if lang is not None:
         url += "&lang={}".format(lang)
     self.driver.get(url.replace("&", "?", 1))
     if filter == "all":
         WebDriverWait(self.driver, TEMPER).until(element_to_be_clickable((By.CSS_SELECTOR, ".categoryFilter")))
     elif filter is not None:
         # Filters load slower than the main page
         WebDriverWait(self.driver, TEMPER).until(element_to_be_clickable((By.CSS_SELECTOR, ".filterSet > .textRange")))
     else:
         WebDriverWait(self.driver, TEMPER).until(
             element_to_be_clickable((By.CSS_SELECTOR, ".textColumn .textRange .segment")))
         WebDriverWait(self.driver, TEMPER).until(element_to_be_clickable((By.CSS_SELECTOR, ".linkCountDot")))
     self.set_modal_cookie()
     return self
Пример #19
0
 def load_gardens(self):
     self.driver.get(self.base_url + "/garden/jerusalem")
     WebDriverWait(self.driver, TEMPER).until(
         element_to_be_clickable((By.CSS_SELECTOR, "#filter-1 g.row")))  # individual filter row
     WebDriverWait(self.driver, TEMPER).until(
         element_to_be_clickable((By.CSS_SELECTOR, ".dc-grid-item .result-text .en")))  # individual result text
     return self
Пример #20
0
    def test_check_job_details_page(self):
        driver=self.driver
	self.mine_job()
        job_id=self.submit_job()
        self.assertTrue(self.wait_job_end(job_id))
        self.open_job_page(job_id)
        recipeset_id=self.get_recipe_set_id_from_openning_job_page()
        recipe_id=self.get_recipe_id_from_openning_job_page()
        driver.find_element_by_xpath("//a[@class='btn results-tab']").click()
        driver.find_element_by_xpath("//a[@class='btn hide-results-tab']").click()
        driver.find_element_by_xpath("//button[@class='btn']").click()
        driver.find_element_by_xpath("//button[@class='btn']").click()
        #update whiteboard
        driver.find_element_by_xpath("//a[@class='list']").click()
        driver.find_element_by_id("whiteboard").send_keys("Automation-test")
        driver.find_element_by_xpath("//button[@type='submit']").click()
        #update Rentention Tag
        driver.refresh()
        table=WebDriverSelect(driver.find_element_by_id("job_retentiontag"))
        table.select_by_index(7)
        element = WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.XPATH, "//div[@class='ui-dialog-buttonset']/button[1]")))
        element.click()
        driver.refresh()
        table=WebDriverSelect(driver.find_element_by_id("job_retentiontag"))
        table.select_by_index(2)
        element = WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.XPATH, "//div[@class='ui-dialog-buttonset']/button[1]")))
        element.click()
        #Check kickstart is avaiable
        driver.refresh()
        driver.find_element_by_xpath("//a[contains(@href,'kickstart')]").click()
        self.assertIn("%post",driver.page_source)
Пример #21
0
def _grab_current_hours():
    """
    This method will open a chrome window, log the user in to okta with
    their workiva email, open ADP Workforce, go to their timecard,
    and return their current hours.
    """
    driver = webdriver.Chrome()

    driver.get(se.ADP["okta"])

    wait = WebDriverWait(driver, 10)
    wait.until(EC.element_to_be_clickable((By.ID, "signin-button")))
    username = driver.find_element_by_id("user-signin")
    username.send_keys(se.ADP["username"])
    password = driver.find_element_by_id("pass-signin")
    password.send_keys(se.ADP["password"])
    sign_in = driver.find_element_by_id("signin-button")
    sign_in.click()

    driver.get("%shome/adp_workforce_now/" % se.ADP["okta"] + \
               "0oac91hvcoOAQQBOYUYZ/3311")

    element = wait.until(EC.element_to_be_clickable((By.ID, "Myself_navItem")))
    nav_item = driver.find_element_by_id("Myself_navItem")

    # Hover to show menu buttons.
    action = ActionChains(driver)
    action.move_to_element(nav_item)
    action.perform()

    driver.find_element_by_id("Myself_ttd_Time&Attendance_MyTimeEntry").click()

    driver.implicitly_wait(7)
Пример #22
0
def searchMS(msRun):
    try:
        element = wait.until(EC.element_to_be_clickable((By.XPATH, '//*[@id="bodyCell"]/div[4]/div/div[2]/table/tbody/tr[1]/th[6]/a/img')))
        element.click()
           
    except selenium.common.exceptions.TimeoutException:
        try:
            element = wait.until(EC.element_to_be_clickable((By.XPATH, '/html/body/div/div[2]/table/tbody/tr/td[2]/div[5]/div/div[2]/table/tbody/tr[1]/th[6]/a')))
            element.click()
        except:
            print("Error Sorting Master Scheduler")
            
    i = 2
    element= wait.until(EC.element_to_be_clickable((By.XPATH,'//*[@id="bodyCell"]/div[4]/div/div[2]/table/tbody/tr['+str(i)+']/th')))           
    
    try:
        #find a way to get count more cleanly
        while( element != None):          
            if 'MasterScheduler scheduled:' in element.text: 
                    element= driver.find_element_by_xpath('//*[@id="bodyCell"]/div[4]/div/div[2]/table/tbody/tr['+str(i)+']/td[5]')
                    if str(prettyDate) in str(element.text):
                        workingRow.append("RUNNING")
                        msRun = True
                        break
            i = i+1
            element= driver.find_element_by_xpath('//*[@id="bodyCell"]/div[4]/div/div[2]/table/tbody/tr['+str(i)+']/th')
   
    except NoSuchElementException:
       emptyVariable = 0     
            
    return msRun
Пример #23
0
    def test_fail_login(self):
        print "Starting Login and Logout Test"
        wait = WebDriverWait(self.driver, self.waitTime)

        self.driver.get(self.url)
        wait.until(EC.element_to_be_clickable((By.ID, 'login-button'))).click()
        wait.until(
            EC.element_to_be_clickable((By.ID, 'weebly-username'))).click()
        wait.until(
            EC.element_to_be_clickable((By.ID, 'weebly-password'))).click()
        Username = self.driver.find_element_by_id('weebly-username')
        Username.send_keys(self.email)
        Password = self.driver.find_element_by_id('weebly-password')
        Password.send_keys("wrong")
        self.driver.find_element_by_xpath("//input[@value='Log in']").click()
        for i in range(60):
            try:
                if "Wrong username or password" == self.driver.find_element_by_css_selector("div.popover-content").text:
                    break
            except:
                pass
            time.sleep(1)
        else:
            self.fail("time out")
        try:
            self.assertEqual("Wrong username or password", self.driver.find_element_by_css_selector(
                "div.popover-content").text)
        except AssertionError as e:
            self.verificationErrors.append(str(e))
Пример #24
0
 def share(self, path, target_email):
   url = "https://www.dropbox.com/"
   print 'Get access token from Dropbox'
   print 'Open auth url:', url
   browser = webdriver.PhantomJS(service_log_path=os.path.join(tempfile.gettempdir(), 'ghostdriver.log'), service_args=['--ignore-ssl-errors=true', '--ssl-protocol=tlsv1'])
   browser.get(url)
   try:
     wait = WebDriverWait(browser, 30)
     btn = wait.until(EC.element_to_be_clickable((By.XPATH, "//div[@id='sign-in']/a")))
     btn.click()
     email = wait.until(EC.element_to_be_clickable((By.XPATH, "//input[@id='login_email']")))
     email.send_keys(raw_input("Enter your Dropbox email:"))
     pwd = browser.find_element_by_xpath("//input[@id='login_password']") 
     pwd.send_keys(getpass.getpass("Enter your Dropbox password:"******"//a[text()='%s']" % path)))
     target_folder.click()
     wait.until(EC.title_contains("%s" % path))
     share_btn = browser.find_element_by_xpath("//a[@id='global_share_button']")
     share_btn.click()
     target = wait.until(EC.element_to_be_clickable((By.XPATH, "//form[@class='invite-more-form']//input[@spellcheck][@type='text']")))
     target.send_keys(target_email)
     confirm_btn = browser.find_element_by_xpath("//form[@class='invite-more-form']//input[@type='button'][1]")
     confirm_btn.click()
   except:
     print(browser.title)
     assert False
     # print(browser.current_url)
     # print(browser.page_source)    
     pass
Пример #25
0
 def test_9dReport(self):
     report = driver.find_element_by_link_text("Отчёты")
     report.click()
     time.sleep(1)
     # Отчёт по контрольным точкам
     report1 = driver.find_element_by_link_text("Отчёт по контрольным точкам")
     report1.click()
     title = wait.until(EC.title_is('ЭОР - Report'))
     assert "500" not in driver.title  # проверка на 500/404 ошибку
     assert "404" not in driver.title
     _ = wait.until(EC.element_to_be_clickable((By.ID, 'load_table')))
     assert "500" not in driver.title  # проверка на 500/404 ошибку
     assert "404" not in driver.title
     # Отчёт Проект Расписания
     schedule = driver.find_element_by_link_text('Отчёт Проект Расписания')
     schedule.click()
     _ = wait.until(EC.element_to_be_clickable((By.CLASS_NAME, 'title_gears')))
     title = wait.until(EC.title_is('ЭОР - Schedule'))
     assert "500" not in driver.title  # проверка на 500/404 ошибку
     assert "404" not in driver.title
     assert "ЭОР - Schedule" in driver.title
     # Отчёт Рейтинги
     rating = driver.find_element_by_link_text('Отчёт Рейтинги')
     rating.click()
     _ = wait.until(EC.element_to_be_clickable((By.CLASS_NAME, 'title_gears')))
     title = wait.until(EC.title_is('ЭОР - Rating'))
     assert "500" not in driver.title  # проверка на 500/404 ошибку
     assert "404" not in driver.title
     assert "ЭОР - Rating" in driver.title
Пример #26
0
def create_contest(driver, contest_alias, scoreboard_time_percent=100):
    '''Creates a new contest.'''

    driver.wait.until(
        EC.element_to_be_clickable(
            (By.ID, 'nav-contests'))).click()
    with driver.page_transition():
        driver.wait.until(
            EC.element_to_be_clickable(
                (By.XPATH,
                 ('//li[@id = "nav-contests"]'
                  '//a[@href = "/contest/new/"]')))).click()

    driver.wait.until(
        EC.visibility_of_element_located(
            (By.ID, ('title')))).send_keys(contest_alias)
    driver.browser.find_element_by_id('alias').send_keys(
        contest_alias)
    driver.browser.find_element_by_id('description').send_keys(
        'contest description')
    scoreboard_element = driver.browser.find_element_by_id('scoreboard')
    scoreboard_element.clear()
    scoreboard_element.send_keys(scoreboard_time_percent)

    with driver.page_transition():
        driver.browser.find_element_by_tag_name('form').submit()
Пример #27
0
def add_students_bulk(driver, users):
    '''Add students to a recently created contest.'''

    driver.wait.until(
        EC.element_to_be_clickable(
            (By.CSS_SELECTOR,
             ('li.contestants > a')))).click()
    driver.wait.until(
        EC.visibility_of_element_located(
            (By.CSS_SELECTOR, 'div.contestants')))

    driver.wait.until(
        EC.visibility_of_element_located(
            (By.XPATH, (
                '//textarea[contains(@class, "contestants")]')))).send_keys(
                    ', '.join(users))
    driver.wait.until(
        EC.element_to_be_clickable(
            (By.CLASS_NAME, ('user-add-bulk')))).click()
    for user in users:
        driver.wait.until(
            EC.visibility_of_element_located(
                (By.XPATH,
                 '//table[contains(@class, "participants")]//a[text()="%s"]'
                 % user)))
Пример #28
0
def fortune_fetch_links(string,driver):
    url='http://fortune.com/?s="'+string.replace(' ','+')+'"'
    links_fetched = []
    check_sum=0
    try:
        driver.get(url)
        check_sum=1
        WebDriverWait(driver,100).until(EC.element_to_be_clickable((By.XPATH,'//*[@id="content"]/div/div/div/aside/form/div/div/button')))
    except:
        while check_sum==1:
            try:
                driver.get(url)
                WebDriverWait(driver,100).until(EC.element_to_be_clickable((By.XPATH,'//*[@id="content"]/div/div/div/aside/form/div/div/button')))
                check_sum=0
                print '\n\nReconnected...\n\n'
            except:
                print "Network Error... Trying to Reconnect..."
    time.sleep(5)
    try:
        scrolls=int(driver.find_element_by_xpath('//*[@id="content"]/div/div/div/section/section[2]/div[1]/h2').text.split()[0])/10+1
    except:
        scrolls=0
    for _ in xrange(scrolls):
        driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
        time.sleep(3)
    elem=driver.find_elements_by_xpath('//*[@id="content"]/div/div/div/section/section[2]/div[2]/div/div/article/h3/a')
    dates=driver.find_elements_by_xpath('//*[@id="content"]/div/div/div/section/section[2]/div[2]/div/div/article/time')
    for i,j in zip(elem,dates):
        i=i.get_attribute('href')
        j=int(j.text.split(',')[1].strip())
        if j<=2008 and i not in links_fetched:
            if 'video' not in i:
                links_fetched.append(i)
    driver.quit()
    return links_fetched
    def test_admin_view_a_contracts_signatures_8234(self):
        """View a contract's signatories.

        Steps:
        Click on the 'Terms' option
        Click on Signatures next to chosen draft contract

        Expected Result:
        Displays list of signatures for the chosen contract.
        """
        self.ps.test_updates['name'] = 't1.35.007' \
            + inspect.currentframe().f_code.co_name[4:]
        self.ps.test_updates['tags'] = ['t1', 't1.35', 't1.35.007', '8234']
        self.ps.test_updates['passed'] = False

        # Test steps and verification assertions
        self.admin.wait.until(
            expect.element_to_be_clickable(
                (By.XPATH, '//a[contains(text(),"Terms")]')
            )
        ).click()
        wait = WebDriverWait(self.admin.driver, 45)
        self.admin.driver.find_element(
            By.XPATH, '//a[text()="Signatures"]').click()
        wait.until(
            expect.element_to_be_clickable(
                (By.XPATH, '//div[contains(@class,"signature_index")]')
            )
        )

        self.ps.test_updates['passed'] = True
 def test_002_GotoQuestions(self):
     wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, 'i.entypo-menu')))
     driver.find_element_by_css_selector("i.entypo-menu").click()
     wait.until(EC.element_to_be_clickable((By.LINK_TEXT, 'Вопросы/Приоритеты')))
     driver.find_element_by_link_text("Вопросы/Приоритеты").click()
     wait.until(EC.element_to_be_clickable((By.ID, 'search-show')))
     print('Переходим в раздел "Вопросы/Приоритеты"')
Пример #31
0
 def clickOnImage0(self):
     wait = WebDriverWait(self.driver, 60)
     image = wait.until(EC.element_to_be_clickable(
         (By.XPATH, "//img[@src='https://bizibazapics.s3.amazonaws.com/Ads/2644265007210509201713043.jpeg']")))
     image.click()
Пример #32
0
def signup_test(driver):
    print("SIGNUP TEST...")

    # click on login/register button
    elem = driver.find_elements_by_css_selector("#navbars_dropdowns button")[2]
    elem.click()

    # fill sign up box
    wait = WebDriverWait(driver, 10)
    user = wait.until(EC.element_to_be_clickable((By.ID, 'username')))
    pwrd = driver.find_element_by_id("password")
    cbox = driver.find_element_by_name("reg")
    sbox = driver.find_element_by_id("show_password_checkbox")

    user.clear()
    pwrd.clear()
    user.send_keys("demo_user")
    pwrd.send_keys("password")
    cbox.click()

    # fill in confirm password
    pwrd = wait.until(EC.element_to_be_clickable((By.ID, 'password_confirm')))
    pwrd.send_keys("password")
    sbox.click(); time.sleep(1); sbox.click()


    time.sleep(1)

    elem = driver.find_element_by_css_selector("button.btn.btn-secondary.pull-right")
    elem.click()

    # fill in full details page
    email = wait.until(EC.element_to_be_clickable((By.ID, 'inputEmail')))
    body  = driver.find_element_by_tag_name("body")
    fname = driver.find_element_by_id("inputFirstname")
    lname = driver.find_element_by_id("inputLastname")
    edlvl = driver.find_element_by_id("inputEduLevel")
    intrs = driver.find_element_by_css_selector("button.btn.dropdown-toggle")
    knowl = driver.find_element_by_css_selector("button[data-id='inputConcepts']")

    driver.execute_script("window.scrollBy(0,300)")
    time.sleep(1)

    email.send_keys('*****@*****.**')
    fname.clear(); fname.send_keys('Demo')
    lname.clear(); lname.send_keys('User')
    time.sleep(1)

    edlvl.click(); time.sleep(1)
    edlvl.send_keys("m")
    edlvl.send_keys(Keys.RETURN)
    time.sleep(1)

    intrs.click(); time.sleep(1)
    intrs.send_keys("data"); time.sleep(0.5); intrs.send_keys(Keys.RETURN)

    intrs.click(); time.sleep(1)
    intrs.send_keys("algo"); time.sleep(0.5); intrs.send_keys(Keys.RETURN)
    time.sleep(0.5)

    knowl.click(); time.sleep(1)
    knowl.send_keys("ai"); time.sleep(0.5); knowl.send_keys(Keys.RETURN)
    time.sleep(1)

    # submit
    driver.find_element_by_css_selector("button.btn.btn-lg.btn-primary").click()
    time.sleep(2)

    # go to user home
    wait.until(EC.element_to_be_clickable((By.ID, 'home_entry'))).click()
    time.sleep(2)
Пример #33
0
def test_create_stops(driver):

    connect = connect_db()

    conn = db.create_engine(
        'postgresql_postGIS://sc_user:[email protected]:5432/zms_serv3?searchapath=route_info'
    )

    connect.execute(db.select([route_info.stops]))

    records = connect.fetchone()

    connect.execute('select ext_stop_id from route_info.stops')

    all_stops = connect.fetchall()

    best_list = []

    for moms in all_stops:
        best_list.append(all_stops.split(',),'))

    print(str(best_list))

    connect.close()

    # Тестовые данные для создания остановок

    # Названия остановок прямого и обратного рейса
    stops_name = [
        'ВДНХ (Южная)',
        '1-я Останкинская (ул. Академика Королева) Остановка наземно',
        'Цандера (ул. Академика Королёва)', 'ВДНХ (Южная)',
        'Цандера (ул. Академика Королёва)', 'Аргуновская'
    ]

    # Список координат широты
    stops_latitudes = [
        37.634885, 37.633789, 37.632607, 37.634747, 37.628352, 37.628352
    ]

    # Список координат долготы
    stops_longitudes = [
        55.823553, 55.821562, 55.821853, 55.823437, 55.821854, 55.821481
    ]

    # Код присвоения
    stops_counter_id = int(records[0])

    test_login(driver)

    wait_time()

    wait = WebDriverWait(driver, 30)

    wait.until(
        EC.element_to_be_clickable(
            (By.TAG_NAME, "div[class='left-nav__menu-unit-header-title']")))
    # left_elements = driver.find_elements_by_tag_name("div[class='left-nav__menu-unit-header-title']")
    # print(len(left_elements))

    WebDriverWait(driver, 30)

    driver.find_elements_by_tag_name(
        "div[class='left-nav__menu-unit-header-title']")[2].click()

    WebDriverWait(driver, 10)

    driver.find_elements_by_tag_name(
        "div[class='collapsed none-collapsed'] div")[18].click()

    WebDriverWait(driver, 20)

    driver.find_element_by_tag_name("a[href='/route/routeInfo/stops']").click()

    wait_time()

    # Реализация цикла по созданию остановки

    # вычисляем количество остановок stops = len(остановки прямого рейся) + len(остановки обратного рейса)

    stops = len(stops_name)

    for stop in range(stops):

        #driver.delete_all_cookies()
        WebDriverWait(driver, 30)

        # Нажать кнопку "Создать остановку"
        driver.find_element_by_tag_name(
            "i[class='material-icons button-icon']").click()

        wait_time()

        driver.find_elements_by_tag_name(
            "div[class='col col-5'] div[class='vue-select io']")[0].click()

        wait_time()

        wait.until(
            EC.presence_of_element_located(
                (By.TAG_NAME, "div[class='vue-select__options-box']"
                 " div[class='vue-select__options-holder']"
                 " div[class='vue-select__option']")))

        # Выбор "города
        # ПАТ - news
        #driver.find_elements_by_tag_name("div[class='vue-select__options-box'] div[class='vue-select__search']")[3].send_keys("Санкт-Петербург")
        #driver.find_elements_by_tag_name("div[class='vue-select__options-box'] div[class='vue-select__options-holder'] div[class='vue-select__option']")[9].click()

        # zms_serv1
        #driver.find_elements_by_tag_name("div[class='vue-select__options-box'] div[class='vue-select__options-holder'] "
        #                                "div[class='vue-select__option']")[48].click()

        driver.find_elements_by_tag_name(
            "div[id='city'] div[id='5']")[0].click()

        wait_time()

        # Выбор агенства в БД news PAT
        #driver.find_elements_by_tag_name("div[class='vue-select__options-box'] div[class='vue-select__options-holder']"
        #                                " div[class='vue-select__option']")[10].click()

        # zms_serv1
        # driver.find_elements_by_tag_name("div[class='vue-select__options-box'] div[class='vue-select__options-holder'] "
        #                                  "div[class='vue-select__option']")[35].click()

        driver.find_elements_by_tag_name(
            "div[class='col col-5'] div[class='vue-select io']")[0].click()

        wait_time()

        driver.find_elements_by_tag_name(
            "div[id='agency'] div[id='1']")[0].click()

        wait_time()

        current_stops_id = stops_counter_id

        for i in range(stops):

            for j in range(1, len(all_stops)):

                if '2812' != all_stops[j - 1]:
                    if j == all_stops[len(all_stops) - 1]:
                        driver.find_element_by_tag_name(
                            "div[class='col col-2'] "
                            "input[class='io']").send_keys(
                                str(current_stops_id + 1))
                else:
                    current_stops_id += 1

        wait_time()

        driver.find_elements_by_tag_name("div[class='col col-6'] "
                                         "input[class='io']")[0].send_keys(
                                             str(stops_longitudes[stop]))

        driver.find_elements_by_tag_name("div[class='col col-6'] "
                                         "input[class='io']")[0].send_keys(
                                             str(stops_latitudes[stop]))

        driver.find_elements_by_tag_name("div[class='col col-6'] "
                                         "input[class='io']")[0].send_keys(
                                             stops_name[stop])

        driver.find_elements_by_tag_name("div[class='col col-6'] "
                                         "input[class='io']")[0].send_keys(
                                             stops_name[stop])

        wait_time()

        driver.find_element_by_tag_name(
            "div[class='margin-top'] button[class='btn btn-success']").click()

        wait_time()
flight_tab = browser.find_element_by_xpath("//span[contains(text(),'Flights')]")
flight_tab.click()

roundtrip_btn = browser.find_element_by_id("flight-type-roundtrip-label-hp-flight")
roundtrip_btn.click()

from_input = browser.find_element_by_id("flight-origin-hp-flight")
from_input.send_keys("SFO")

destination_input = browser.find_element_by_id("flight-destination-hp-flight")
destination_input.send_keys("NYC")

departing_date = browser.find_element_by_id("flight-departing-hp-flight").send_keys("05/01/2020")
returning_date = browser.find_element_by_id("flight-returning-hp-flight").send_keys("05/08/2020")
travelers = browser.find_element_by_id("traveler-selector-hp-flight").click()

search_btn = browser.find_element_by_class_name("btn-primary.btn-action.gcw-submit").click()

assert "SFO to NYC Flights | Expedia" in browser.title

#explicit wait
wait = WebDriverWait(browser, 10)
nonstop_checkbox = wait.until(EC.element_to_be_clickable((By.ID, "stopFilter_stops-0")))
nonstop_checkbox.click()

time.sleep(5)


browser.quit()
Пример #35
0
        os.makedirs(DIFF_DIR)

    q = queue.Queue(maxsize=2)
    server_thread = threading.Thread(target=run_server_bg,
                                     name=f"ioloop",
                                     args=(fbase, fremote, q))
    server_thread.start()

    port = q.get()
    driver.get(f"http://127.0.0.1:{port}/difftool")
    checkbox = WebDriverWait(driver, 10).until(
        EC.presence_of_element_located((By.ID, "nbdime-hide-unchanged")))
    if checkbox.is_selected():
        checkbox.click()
    export_btn = WebDriverWait(driver, 20).until(
        EC.element_to_be_clickable((By.ID, "nbdime-export")))
    export_btn.click()

    for second in range(10):
        if os.path.isfile(dl_path):
            page_filename = f"diff-{index}.html"
            shutil.move(dl_path, os.path.join(DIFF_DIR, page_filename))
            links.append(
                dict(page=page_filename,
                     text=html.escape(
                         f"Diff for {fbase.name} vs {fremote.name}")))
            break
        else:
            time.sleep(1)
    else:
        print("Didn't find file in time, downloaded: " +
 def navigate_to_login_page(self):
     self.open()
     self.wait.until(expected_conditions.element_to_be_clickable((By.XPATH, self.sign_in_link_xpath)))
     self._sign_in_link().click()
     return LoginPage(self.driver)
Пример #37
0
 def clickOnImage2(self):
     wait = WebDriverWait(self.driver, 60)
     image = wait.until(EC.element_to_be_clickable(
         (By.XPATH, "//img[@src ='https://bizibazapics.s3.amazonaws.com/Ads/3756540828060405201712318.jpeg']")))
     image.click()
Пример #38
0
 def close_disclaimer(self):
     """ Close Disclaimer """
     self.wait.until(
         EC.element_to_be_clickable(
             (By.CSS_SELECTOR, "svg.styles_closeIcon__1QwbI"))).click()
     time.sleep(2)
Пример #39
0
 def close_cyclorama(self):
     """Open Cyclorama"""
     self.wait.until(
         EC.element_to_be_clickable(
             (By.XPATH, '//*[@id="root"]/div/div/div[2]'))).click()
     time.sleep(5)
Пример #40
0
 def click_input_box(self):
     """Click the input box"""
     self.wait.until(
         EC.element_to_be_clickable(
             (By.XPATH, '//*[@id="root"]/div/div/header/div[1]'))).click()
     time.sleep(2)
Пример #41
0
 def toggle_accordion(self):
     """Toggle Accordion"""
     self.wait.until(
         EC.element_to_be_clickable(
             (By.XPATH, '//*[@id="list-view"]/div[1]/div'))).click()
     time.sleep(2)
Пример #42
0
 def clear_results(self):
     """Clear search results"""
     self.wait.until(
         EC.element_to_be_clickable(
             (By.XPATH, '//*[@id="root"]/div/div/header/div[2]'))).click()
     time.sleep(5)
Пример #43
0
 def open_street_view(self):
     """Open streetview"""
     self.wait.until(
         EC.element_to_be_clickable(
             (By.XPATH, '//*[@id="root"]/div/div/div[3]/div[1]'))).click()
     time.sleep(10)
Пример #44
0
 def toggle_all_item(self):
     """Toggle subtype item All"""
     self.wait.until(
         EC.element_to_be_clickable(
             (By.CSS_SELECTOR, 'ul.menu.subtype > li:last-child'))).click()
     time.sleep(3)
Пример #45
0
 def web_driver_wait(self, locator, time=10):
     return WebDriverWait(self.driver,
                          time).until(ec.element_to_be_clickable(locator))
Пример #46
0
 def close_street_view(self):
     """Close streetview"""
     self.wait.until(
         EC.element_to_be_clickable(
             (By.XPATH, '//*[@id="streetViewContainer"]/div[1]'))).click()
     time.sleep(2)
Пример #47
0
    def getbody(self):
        """利用phantomjs获取网站源码以及url"""
        d = self.q_phantomjs.get()
        print('driver id: ' + str(d))
        print('opening url: %s' % self.home_url)
        # d.maximize_window()
        d.get(self.home_url)
        print('logging, user name: %s' % self.username)
        wait = WebDriverWait(d, 20)
        input_name = wait.until(
            EC.presence_of_element_located((By.XPATH, "//*[@id='loginName']")))
        # input_name.clear()
        input_name.send_keys(self.username)
        input_password = wait.until(
            EC.presence_of_element_located((By.XPATH, "//*[@id='loginPass']")))
        input_password.send_keys(self.password)
        button = wait.until(
            EC.presence_of_element_located(
                (By.CLASS_NAME, 'geetest_radar_tip')))
        button.click()
        time.sleep(1)

        # 步骤二:拿到没有缺口的图片
        d.execute_script('document.querySelectorAll("canvas")[2].style=""')
        image1 = self.get_image(d, 'ori')
        time.sleep(1)
        # 步骤三:点击拖动按钮,弹出有缺口的图片
        button = wait.until(
            EC.presence_of_element_located(
                (By.CLASS_NAME, 'geetest_slider_button')))
        button.click()

        # 步骤四:拿到有缺口的图片
        image2 = self.get_image(d, 'after')

        print(image1, image1.size)
        print(image2, image2.size)
        # 步骤五:对比两张图片的所有RBG像素点,得到不一样像素点的x值,即要移动的距离
        distance = self.get_distance(image1, image2)

        # 步骤六:模拟人的行为习惯(先匀加速拖动后匀减速拖动),把需要拖动的总距离分成一段一段小的轨迹
        tracks = self.get_tracks(distance)
        print('tracks:')
        print(tracks)
        print(image1.size)
        print(distance, sum(tracks))

        # 步骤七:按照轨迹拖动,完全验证"
        button = wait.until(
            EC.presence_of_element_located((
                By.CSS_SELECTOR,
                'body > div.geetest_fullpage_click.geetest_float.geetest_wind.geetest_slide3 > div.geetest_fullpage_click_wrap > div.geetest_fullpage_click_box > div > div.geetest_wrap > div.geetest_slider.geetest_ready > div.geetest_slider_button'
            )))
        # By.CLASS_NAME, 'geetest_slider_button'
        ActionChains(d).click_and_hold(button).perform()
        for track in tracks:
            ActionChains(d).move_by_offset(xoffset=track, yoffset=0).perform()
        else:
            ActionChains(d).move_by_offset(xoffset=3,
                                           yoffset=0).perform()  # 先移过一点
            ActionChains(d).move_by_offset(xoffset=-3,
                                           yoffset=0).perform()  # 再退回来,是不是更像人了

        time.sleep(0.5)  # 0.5秒后释放鼠标
        ActionChains(d).release().perform()
        time.sleep(1)
        # 步骤八:完成登录
        login = wait.until(
            EC.element_to_be_clickable(
                (By.XPATH, '//*[@id="guestLogin"]/div[2]/div[5]')))
        login.click()
        time.sleep(2)

        #
        d.get(special_edition_url)
        time.sleep(3)
        content = d.page_source.encode('utf-8')
        self.list(content)

        self.q_phantomjs.put(d)
 def wait_for_element_clickable(self, by=By.XPATH, value=None, text=None):
     if text is not None:
         value = value % text
     wait = WebDriverWait(self.driver, 10)
     return wait.until(EC.element_to_be_clickable((by, value)))
Пример #49
0
def wait(x):
    WebDriverWait(driver, 30).until(EC.element_to_be_clickable((By.XPATH, x)))
    return
Пример #50
0
from selenium import webdriver
from selenium.webdriver.support.ui import Select, WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from bs4 import BeautifulSoup
from lxml import etree

urlS = webdriver.Chrome()
urlS.get('http://www.bilibili.com/')
p = urlS.current_url
print(p)

Wait = WebDriverWait(urlS, 3)
#//*[@id="nav-searchform"]/div/button
inputs = Wait.until(
    EC.element_to_be_clickable(
        (By.XPATH, '//*[@id="nav-searchform"]/div[1]/input')))
botton = Wait.until(
    EC.element_to_be_clickable((By.XPATH, '//*[@id="nav-searchform"]/div[2]')))
#//*[@id="nav-searchform"]/div[2]
#index = Wait.until(EC.element_to_be_clickable((By.XPATH, '//*[@id="nav-searchform"]/div[1]/input')))
#//*[@id="nav-searchform"]/div[1]/input
#index.click()
inputs.click()
inputs.send_keys('python')
botton.click()
all_w = urlS.window_handles
urlS.switch_to.window(all_w[1])
u = urlS.page_source
print(u)

total_page = Wait.until(
Пример #51
0
    def newApplicationFormOneStepFive(self):

        self.wait.until(
            EC.element_to_be_clickable(
                (By.XPATH, "//*[contains(text(),'Payment')]")))
        paymentStep5 = self.driver.find_element(
            By.XPATH, "//*[contains(text(),'Payment')]")
        paymentStep5.click()

        self.wait.until(
            EC.element_to_be_clickable((By.XPATH, "//*[@for='Cheque']")))
        radioCheque = self.driver.find_element(By.XPATH, "//*[@for='Cheque']")
        radioCheque.click()
        print("Cheque Selected.")

        chequeFill = self.driver.find_element(
            By.XPATH, "//*[@name='paymentChequeNumber']")
        chequeFill.send_keys('1234567234')

        calendarSelect = self.driver.find_element(
            By.XPATH, "//*[@name='paymentChequeDate']")
        calendarSelect.click()
        time.sleep(1)
        chequeDateSelect = self.driver.find_element(By.XPATH,
                                                    "//*[text()='2']")
        chequeDateSelect.click()

        chequePayableSelect = self.driver.find_element(
            By.XPATH, "(//*[@ tabindex='0'])[2]")
        chequePayableSelect.click()
        time.sleep(1)
        optionInChequePayableSelect = self.driver.find_element(
            By.XPATH, "//*[text() = 'Local']")
        optionInChequePayableSelect.click()
        time.sleep(1)

        chequeBankName = self.driver.find_element(
            By.XPATH, "//*[@name='paymentChequeBankName']")
        chequeBankName.send_keys('asjdhfjasflh')

        chequeMicrFill = self.driver.find_element(
            By.XPATH, "//*[@name='paymentChequeMicr']")
        chequeMicrFill.send_keys('123456789')

        radioChequeRenewal = self.driver.find_element(By.XPATH,
                                                      "//*[@for='ECS']")
        radioChequeRenewal.click()
        print("Cheque Selected.")

        raID = self.driver.find_element(By.XPATH, "(// *[@ tabindex='0'])[6]")
        raID.click()
        time.sleep(1)

        raIDValue = self.driver.find_element(By.XPATH,
                                             "//*[@id='liId_764878']")
        raIDValue.click()

        sourcingBranchCode = self.driver.find_element(
            By.XPATH, "//*[@id='sourcingBranchCode_idd']")
        sourcingBranchCode.send_keys("251")

        sourcingBranchCodeValue = self.driver.find_element(
            By.XPATH, "(// *[contains(text(), '251')])[2]")
        sourcingBranchCodeValue.click()

        buttonSave = self.driver.find_element(By.XPATH, "//*[text()='Save']")
        buttonSave.click()
        print("Save button clicked.")
Пример #52
0
# from selenium import webdriver
#
# browser = webdriver.Chrome()
# # говорим WebDriver искать каждый элемент в течение 5 секунд
# browser.implicitly_wait(5)
#
# browser.get("http://suninjuly.github.io/wait1.html")
#
# button = browser.find_element_by_id("verify")
# button.click()
# message = browser.find_element_by_id("verify_message")
#
# assert "successful" in message.text

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium import webdriver

browser = webdriver.Chrome()

browser.get("http://suninjuly.github.io/wait2.html")

# говорим Selenium проверять в течение 5 секунд, пока кнопка не станет кликабельной
button = WebDriverWait(browser,
                       5).until(EC.element_to_be_clickable((By.ID, "verify")))
button.click()
message = browser.find_element_by_id("verify_message")

assert "successful" in message.text
            except KeyError as err:
                #Set empty cause selected report doesnt have subreport categories
                #traceback.print_tb(err.__traceback__)
                pass

            except TypeError as err:
                traceback.print_tb(err.__traceback__)
                print(
                    f"Error: tried to get a subcategory when needed but none were input into script in {report_string}. Check json"
                )

            #Clicks in "This applies to links within the video description" if selected
            if THIS_APPLIES and report_string != "Captions issue" and report_string != "Infringes my rights":
                WebDriverWait(page, 20).until(
                    EC.element_to_be_clickable((
                        By.CSS_SELECTOR,
                        "paper-checkbox[aria-labelledby='yt-boolean-form-field-v2-renderer-label']"
                    ))).click()
                #page.find_element_by_css_selector("paper-checkbox[aria-labelledby='yt-boolean-form-field-v2-renderer-label']").click()

            #Clicks in NEXT
            WebDriverWait(page, 20).until(
                EC.element_to_be_clickable(
                    (By.CSS_SELECTOR,
                     "paper-button[aria-label='Next']"))).click()
            #page.find_element_by_css_selector("paper-button[aria-label='Next']").click()

            #Looks for video duration and splits by ":"
            duration = page.find_element_by_css_selector(
                "span[class='ytp-time-duration']").text.split(":")

            #If video is more than an hour, convert hours to minutes and add it to minutes
Пример #54
0
    def newApplicationFormOneStepTwo(self):
        windowBefore = self.driver.window_handles[0]

        self.wait.until(
            EC.element_to_be_clickable(
                (By.XPATH, "//*[@name='alternateMobileNo']")))

        alternateMobileNumber = self.driver.find_element(
            By.XPATH, "//*[@name='alternateMobileNo']")
        alternateMobileNumber.send_keys("9650479781")

        purposeOfInsuranceDropdown = self.driver.find_element(
            By.XPATH, "(//*[@tabindex='0'])[3]")
        purposeOfInsuranceDropdown.click()

        optionInInsuranceDropdown = self.driver.find_element(
            By.XPATH, "//*[contains(text(),'Children')]")
        optionInInsuranceDropdown.click()
        print("Retirement Selected")

        lifeStageDropdown = self.driver.find_element(
            By.XPATH, "(//*[@tabindex='0'])[4]")
        lifeStageDropdown.click()

        optionInLifeStage = self.driver.find_element(
            By.XPATH, "//*[contains(text(), 'Married with children')]")
        optionInLifeStage.click()
        print("Single Selected")

        grossIncomeFill = self.driver.find_element(By.XPATH,
                                                   "//*[@name='income']")
        grossIncomeFill.send_keys('900000')
        print("Gross Income Entered")

        existingPolicy = self.driver.find_element(
            By.XPATH, "(//*[contains(text(),'No')])[4]")
        existingPolicy.click()

        occupationDropdown = self.driver.find_element(
            By.XPATH, "(//*[@tabindex='0'])[5]")
        occupationDropdown.click()
        optionInOccupation = self.driver.find_element(
            By.XPATH, "//*[@id='liId_Salaried']")
        optionInOccupation.click()
        print("Salaried Selected")
        time.sleep(2)

        recommendProduct = self.driver.find_element(By.XPATH,
                                                    "(//*[@tabindex='0'])[7]")
        recommendProduct.click()
        time.sleep(5)
        recommendProduct.click()
        time.sleep(1)
        optionInRecommendProduct = self.driver.find_element(
            By.XPATH, "//*[@id='liId_Max Life Future Genius Education Plan']")
        optionInRecommendProduct.click()
        print("Product Selected")

        premiumPaymentTerm = self.driver.find_element(
            By.XPATH, "(//*[@tabindex='0'])[8]")
        premiumPaymentTerm.click()
        time.sleep(1)
        optionInPremiumPaymentTerm = self.driver.find_element(
            By.XPATH, "//*[@id='liId_18']")
        optionInPremiumPaymentTerm.click()
        print("Premium Payment Selected")
        time.sleep(2)

        policyTerm = self.driver.find_element(By.XPATH,
                                              "(//*[@tabindex='0'])[9]")
        policyTerm.click()
        time.sleep(1)
        optionInPolicyTerm = self.driver.find_element(By.XPATH,
                                                      "//*[@id='liId_21']")
        optionInPolicyTerm.click()
        print("Policy Term Selected")
        time.sleep(2)

        dividentAdjustment = self.driver.find_element(
            By.XPATH, "(//*[@tabindex='0'])[10]")
        dividentAdjustment.click()
        time.sleep(1)

        optionIndividentAdjustment = self.driver.find_element(
            By.XPATH, "//*[@id='liId_No Adjustment']")
        optionIndividentAdjustment.click()
        print("Dividend Selected")
        time.sleep(2)

        premiumCommitFill = self.driver.find_element(
            By.XPATH, "//*[@name='premiumCommitment']")
        premiumCommitFill.send_keys("90000")
        print("Sum Assured Filled")
        time.sleep(1)

        dividendDropdownSelected = self.driver.find_element(
            By.XPATH, "(//*[@tabindex='0'])[12]")
        dividendDropdownSelected.click()
        print("Dividend dropdown Clicked")
        time.sleep(2)

        optionIndividendDropdownSelected = self.driver.find_element(
            By.XPATH, "//*[@id='liId_Premium Offset']")
        optionIndividendDropdownSelected.click()
        print("Premium Offset selected")
        time.sleep(1)

        buttonProceedClick = self.driver.find_element(
            By.XPATH, "//*[contains(text(),'Proceed')]")
        buttonProceedClick.click()
        time.sleep(8)

        self.driver.switch_to_window(windowBefore)
Пример #55
0
    def goto_result_page(self, url):
        '''
        Arguments:
            1. url: link to travel insurance homepage
        '''
        logger.info('Test start here')
        #Init a chrome session
        driver = webdriver.Chrome(driverLocation)

        # Create an explicit wait handler with wait time is 10 seconds and frequency check is 1 second
        wait = WebDriverWait(driver, 10, poll_frequency=1)
        # Maximize current browser window
        driver.maximize_window()
        # Access to homepage
        driver.get(url)

        # Wait until homepage is loaded and button ĐĂNG NHẬP NGAY is clickable
        insurance_tab = wait.until(
            ec.element_to_be_clickable(
                (By.XPATH,
                 "//a[@href='#Insurance' and @aria-controls='Insurance']")))
        # Click tab Insurance
        insurance_tab.click()

        # Wait until insurance form is loaded, then click Travel tab
        travel_tab = wait.until(
            ec.visibility_of_element_located(
                (By.XPATH,
                 "//a[@href='#Travel' and @aria-controls='Travel']")))
        travel_tab.click()

        # Wait until Show my results is clickable
        show_result_bt = wait.until(
            ec.element_to_be_clickable(
                (By.XPATH, "//button[@name='product-form-submit']")))
        show_result_bt.click()
        time.sleep(3)

        collepseFilter_btn = wait.until(
            ec.visibility_of_element_located(
                (By.XPATH, "//h5[@id='collapseFilterBtn']")))
        collepseFilter_btn.click()
        try:
            expanded_element = wait.until(
                ec.invisibility_of_element_located((
                    By.XPATH,
                    "//div[@id='collapseFilter' and @aria-expanded='false']")))
        except Exception as e:
            print('Test expanded Filter failed')
            print('Exception: {}'.format(e))

        if expanded_element:
            print('Test expanded Filter pass')
        else:
            print('Test expanded Filter failed')

        # Expand Filter form
        collepseFilter_btn.click()
        time.sleep(1)

        # Test radio button
        promos_only = driver.find_element_by_xpath(
            "//div[@data-filter-name='Promos Only']")
        promos_only.click()
        promos_only_radio = driver.find_element_by_xpath(
            "//div[@data-filter-name='Promos Only']/input[@type='radio' and @class='gb-radio__original']"
        )
        time.sleep(1)
        if promos_only_radio.is_selected():
            print('Test Promotion pass')
        else:
            print('Test Promotion failed')

        # Test checkbox
        insurers_pacific_cross = driver.find_element_by_xpath(
            "//div[@data-filter-name='Pacific Cross']")
        insurers_pacific_cross.click()
        pacific_cross_checkbox = driver.find_element_by_xpath(
            "//div[@data-filter-name='Pacific Cross']/input[@type='checkbox' and @class='gb-checkbox__original']"
        )
        time.sleep(1)
        if pacific_cross_checkbox.is_selected():
            print('Test Insurers pass')
        else:
            print('Test Insurers failed')
Пример #56
0
    def newApplicationFormOneStepThree(self):

        time.sleep(5)
        self.wait.until(
            EC.element_to_be_clickable((By.XPATH, "//*[@name='fatherName']")))
        fatherNameFill = self.driver.find_element(By.XPATH,
                                                  "//*[@name='fatherName']")
        fatherNameFill.send_keys("Father")

        motherNameFill = self.driver.find_element(By.XPATH,
                                                  "//*[@name='motherName']")
        motherNameFill.send_keys("Mother")

        maritalStatus = self.driver.find_element(By.XPATH,
                                                 "(//*[@tabindex='0'])[2]")
        maritalStatus.click()
        time.sleep(1)
        optionInMaritalStage = self.driver.find_element(
            By.XPATH, "//*[contains(text(), 'Married')]")
        optionInMaritalStage.click()
        print("Single Selected")

        educationSelect = self.driver.find_element(By.XPATH,
                                                   "(//*[@tabindex='0'])[3]")
        educationSelect.click()
        time.sleep(1)
        optionInEducationDropdown = self.driver.find_element(
            By.XPATH, "//*[contains(text(), 'Professional')][1]")
        optionInEducationDropdown.click()
        print("Education Selected")

        industrySelect = self.driver.find_element(By.XPATH,
                                                  "(//*[@tabindex='0'])[4]")
        industrySelect.click()
        time.sleep(1)
        optionInIndustrySelect = self.driver.find_element(
            By.XPATH, "//*[contains(text(), 'Mining')][1]")
        optionInIndustrySelect.click()
        print("Industry Selected")

        organisationSelect = self.driver.find_element(
            By.XPATH, "(//*[@tabindex='0'])[5]")
        organisationSelect.click()
        time.sleep(1)
        optionInOrganisationSelect = self.driver.find_element(
            By.XPATH, "//*[@id='liId_Non-Profit organization (NPO)']")
        optionInOrganisationSelect.click()
        print("Organisation Selected")

        organisationFill = self.driver.find_element(
            By.XPATH, "//*[@name='companyName']")
        organisationFill.send_keys("ORG")

        preferredLanguage = self.driver.find_element(
            By.XPATH, "(//*[@ tabindex='0'])[6]")
        preferredLanguage.click()
        time.sleep(1)
        optionInPreferredLanguage = self.driver.find_element(
            By.XPATH, "//*[@id='liId_Hindi']")
        optionInPreferredLanguage.click()
        print("Hindi Selected")
        time.sleep(2)

        nomineeFill = self.driver.find_element(By.XPATH,
                                               "//*[@name='nomineeName']")
        nomineeFill.send_keys("Nominee")

        calendarNomineeFill = self.driver.find_element(
            By.XPATH, "//*[@name='nomineeDateOfBirth']")
        calendarNomineeFill.click()

        yearNomineeDropdown = self.driver.find_element(
            By.XPATH, "//*[@class='react-datepicker__year-select']")
        yearNomineeSel = Select(yearNomineeDropdown)
        yearNomineeSel.select_by_value('1985')

        monthNomineeDropdown = self.driver.find_element(
            By.XPATH, "//*[@class='react-datepicker__month-select']")
        monthNomineeSel = Select(monthNomineeDropdown)
        monthNomineeSel.select_by_value('3')

        dateNomineeSel = self.driver.find_element(By.XPATH,
                                                  "//*[@aria-label='day-10']")
        dateNomineeSel.click()

        genderSelected = self.driver.find_element(
            By.XPATH, "//*[contains(text(),'Male')]")
        genderSelected.click()
        print("Gender Clicked")

        relationshipProposer = self.driver.find_element(
            By.XPATH, "(//*[@ tabindex='0'])[8]")
        relationshipProposer.click()
        time.sleep(1)
        optionInRelationshipProposer = self.driver.find_element(
            By.XPATH, "//*[@id ='liId_Brother']")
        optionInRelationshipProposer.click()
        print("Relationship Brother Selected.")

        childName = self.driver.find_element(By.XPATH,
                                             "//*[@name='nomineeChildName']")
        childName.send_keys("Chintu Kumar")
        time.sleep(1)
        childcalendarNomineeFill = self.driver.find_element(
            By.XPATH, "//*[@name='nomineeChildDob']")
        childcalendarNomineeFill.click()
        time.sleep(1)

        childyearNomineeDropdown = self.driver.find_element(
            By.XPATH, "//*[@class='react-datepicker__year-select']")
        childyearNomineeSel = Select(childyearNomineeDropdown)
        childyearNomineeSel.select_by_value('2011')

        childmonthNomineeDropdown = self.driver.find_element(
            By.XPATH, "//*[@class='react-datepicker__month-select']")
        childmonthNomineeSel = Select(childmonthNomineeDropdown)
        childmonthNomineeSel.select_by_value('11')

        childdateNomineeSel = self.driver.find_element(
            By.XPATH, "//*[@aria-label='day-22']")
        childdateNomineeSel.click()
        time.sleep(1)

        bankFill = self.driver.find_element(By.XPATH,
                                            "//*[@name='bankAccountNo']")
        bankFill.send_keys("99999999999999")

        nameOfAccount = self.driver.find_element(
            By.XPATH, "//*[@name='bankAccountHolderName']")
        nameOfAccount.send_keys("NameName")

        nameOfIFSCcode = self.driver.find_element(
            By.XPATH, "//*[@name='bankAccountIFSC']")
        nameOfIFSCcode.send_keys("SBIN0000845")

        codeMICR = self.driver.find_element(By.XPATH,
                                            "//*[@name='bankAccountMICR']")
        codeMICR.send_keys("515002206")
        time.sleep(3)

        accountType = self.driver.find_element(By.XPATH,
                                               "(//*[@tabindex='0'])[10]")
        accountType.click()
        time.sleep(2)

        accountTypeSelect = self.driver.find_element(
            By.XPATH, "//*[contains(text(), 'Savings')]")
        accountTypeSelect.click()
        print("Account Type Selected.")
        time.sleep(2)

        calBankAcOpening = self.driver.find_element(
            By.XPATH, "//*[@name='bankAccOpeningDate']")
        calBankAcOpening.click()

        calDateSelect = self.driver.find_element(By.XPATH,
                                                 "//*[@aria-label='day-3']")
        calDateSelect.click()

        btnProceedOnPage3 = self.driver.find_element(
            By.XPATH, "//*[contains(text(),'Proceed')]")
        btnProceedOnPage3.click()
        time.sleep(5)
Пример #57
0
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.common.action_chains import ActionChains
from selenium.common.exceptions import TimeoutException
from selenium.common.exceptions import StaleElementReferenceException
from selenium.common.exceptions import ElementNotInteractableException
import time
from decouple import config

driver = webdriver.Chrome('chromedriver')
driver.get("https://www.ea.com/fr-fr/fifa/ultimate-team/web-app/")

# LOGIN

login = WebDriverWait(driver, 30).until(
    EC.element_to_be_clickable(
        (By.XPATH, '//*[@id="Login"]/div/div/button[1]')))
login.click()
email = driver.find_element_by_id("email")
email.send_keys(config("EMAIL_EA"))
pwd = driver.find_element_by_id("password")
pwd.send_keys(config("PWD_EA"))
driver.find_element_by_id("btnLogin").click()
driver.find_element_by_id("btnSendCode").click()

# MARKET
time.sleep(60)
driver.find_element_by_xpath("/html/body/main/section/nav/button[3]").click()
time.sleep(5)
driver.find_element_by_xpath(
    "/html/body/main/section/section/div[2]/div/div/div[2]").click()
time.sleep(1)
Пример #58
0
def search():
    try:
        broswer.set_window_size(900, 900)
        broswer.get("http://csujwc.its.csu.edu.cn/jsxsd/kscj/yscjcx_list")
        account = wait.until(
            EC.presence_of_element_located((By.CSS_SELECTOR, "#userAccount")))
        password = wait.until(
            EC.presence_of_element_located((By.CSS_SELECTOR, "#userPassword")))

        submit = wait.until(
            EC.element_to_be_clickable((By.CSS_SELECTOR, "#btnSubmit")))
    except TimeoutException:
        return search()

    #登录
    account.send_keys("0902170314")
    password.send_keys("XXXXX")
    submit.click()

    #进入我的成绩界面
    my_score = wait.until(
        EC.presence_of_element_located(
            (By.CSS_SELECTOR,
             "body > div.Nsb_menu_pw > div > div > ul > li:nth-child(4)")))
    my_score.click()

    #成绩和平均分
    # my_rank = wait.until(
    #     EC.presence_of_element_located((By.CSS_SELECTOR, "#LeftMenu1_divChildMenu > ul > li:nth-child(4) > a"))
    # )
    # my_rank.click()
    #
    # rank = wait.until(
    #     EC.presence_of_element_located((By.CSS_SELECTOR, "#dataList > tbody > tr:nth-child(2) > td:nth-child(3)"))
    # )
    # #http://www.w3school.com.cn/cssref/selector_nth-child.asp nth-child(n)的用法
    # average_score = wait.until(
    #     EC.presence_of_element_located((By.CSS_SELECTOR, "#dataList > tbody > tr:nth-child(2) > td:nth-child(4)"))
    # )
    #
    # print('您的平均成绩是:'+average_score.text+"\n排名:"+rank.text)

    #逐次展示 我的成绩八个子项
    # css_selector = "#LeftMenu1_divChildMenu > ul > li:nth-child({0}) > a"
    # for i in range(8):
    #     # 将滚动条移动到页面的顶部
    #     js = "var q=document.documentElement.scrollTop=0"
    #     broswer.execute_script(js)
    #     time.sleep(2)
    #
    #     aviable_score = wait.until(
    #         EC.presence_of_element_located((By.CSS_SELECTOR, css_selector.format(str(i+1))))
    #     )
    #     aviable_score.click()
    #
    #
    #     #将滚动条移动到页面的底部
    #     for j in range(8):
    #         js="var q=document.documentElement.scrollTop="+str(j*200)
    #         broswer.execute_script(js)
    #         time.sleep(1)

    #处理select https://www.cnblogs.com/imyalost/p/7846653.html
    yxcj = wait.until(
        EC.element_to_be_clickable(
            (By.CSS_SELECTOR,
             "#LeftMenu1_divChildMenu > ul > li:nth-child(1) > a")))
    select_score_element = broswer.find_element_by_css_selector("#xnxq01id")
    select_score = Select(select_score_element)

    #得到下拉列表的所有子项
    select_score_items = broswer.find_elements_by_css_selector(
        "#xnxq01id option")
    select_score_items_text = []
    for item in select_score_items:
        select_score_items_text.append(item.text)
        print(item.text)

    scores_dic = {}
    for i in range(1):
        #不加这两行会报错,原因: https://blog.csdn.net/ulebo/article/details/52128033
        print("*****************************************************" +
              select_score_items_text[i] +
              "*****************************************************")
        select_score_element = broswer.find_element_by_css_selector(
            "#xnxq01id")
        select_score = Select(select_score_element)
        select_score.select_by_index(i)
        time.sleep(1)
        score_table = broswer.find_element_by_css_selector("#dataList")
        data = score_table.text.replace("+", "")
        data = data.split("\n")
        datalist = []

        for line in data:
            datalist.append(line.split())
            print(line.split())

        scores_dic[select_score_items_text[i]] = datalist

    return scores_dic[select_score_items_text[0]]
Пример #59
0
    def _on_demand_result(self):
        ON_DEMAND_CHUNKS = 2
        row_id_to_find = config.ON_DEMAND_RECORD_COUNT * ON_DEMAND_CHUNKS

        query = """-- On demand query result on scroll
-- Grid select all
-- Column select all
SELECT generate_series(1, {}) as id1, 'dummy' as id2""".format(
            config.ON_DEMAND_RECORD_COUNT * ON_DEMAND_CHUNKS)

        print("\nOn demand result set on scrolling... ",
              file=sys.stderr,
              end="")
        self.page.execute_query(query)

        # wait for header of the table to be visible
        self.wait.until(
            EC.visibility_of_element_located(
                (By.CSS_SELECTOR, QueryToolLocators.query_output_canvas_css)))

        self.wait.until(
            EC.presence_of_element_located(
                (By.CSS_SELECTOR, QueryToolLocators.query_output_cells)))

        self.page.find_by_css_selector(
            QueryToolLocators.query_output_canvas_css)

        self._check_ondemand_result(row_id_to_find)
        print("OK.", file=sys.stderr)

        print("On demand result set on grid select all... ",
              file=sys.stderr,
              end="")
        self.page.click_execute_query_button()

        # wait for header of the table to be visible
        self.page.find_by_css_selector(
            QueryToolLocators.query_output_canvas_css)

        # wait for the rows in the table to be displayed
        self.wait.until(
            EC.presence_of_element_located(
                (By.CSS_SELECTOR, QueryToolLocators.query_output_cells)))

        # Select all rows in a table
        multiple_check = True
        while multiple_check:
            try:
                select_all = self.wait.until(
                    EC.element_to_be_clickable(
                        (By.XPATH, QueryToolLocators.select_all_column)))
                select_all.click()
                multiple_check = False
            except (StaleElementReferenceException,
                    ElementClickInterceptedException):
                pass

        self._check_ondemand_result(row_id_to_find)
        print("OK.", file=sys.stderr)

        print("On demand result set on column select all... ",
              file=sys.stderr,
              end="")
        self.page.click_execute_query_button()

        self.page.wait_for_query_tool_loading_indicator_to_disappear()

        # wait for header of the table to be visible
        self.wait.until(
            EC.visibility_of_element_located(
                (By.CSS_SELECTOR, QueryToolLocators.query_output_canvas_css)))

        # wait for the rows in the table to be displayed
        self.wait.until(
            EC.presence_of_element_located(
                (By.CSS_SELECTOR, QueryToolLocators.query_output_cells)))

        self.wait.until(
            EC.presence_of_element_located(
                (By.CSS_SELECTOR, QueryToolLocators.query_output_canvas_css)))

        self._check_ondemand_result(row_id_to_find)
        print("OK.", file=sys.stderr)
Пример #60
0
then = time.time()
driver = webdriver.Firefox()
wait = WebDriverWait(driver, 20)
login = '******'
password = '******'

driver.get("https://www.sagemember.com")
assert "SAGEmember.com" in driver.title

elem = driver.find_element_by_class_name("form-control")
elem.send_keys(login)
elem = driver.find_element_by_id("password")
elem.send_keys(password)
elem.send_keys(Keys.RETURN)

wait.until(EC.element_to_be_clickable((By.LINK_TEXT, "More information")))
driver.find_element_by_xpath("//ul[@id='side-menu']/li[2]/a").click()

wait.until(EC.frame_to_be_available_and_switch_to_it('ContentFrame'))
driver.find_element_by_xpath(
    "//table[@id='coStoreList']/tbody/tr[2]/td[7]/form/a").click()

driver.switch_to.default_content()

wait.until(EC.element_to_be_clickable((By.LINK_TEXT, "Clients")))
driver.find_element_by_xpath("//ul[@id='side-menu']/li[4]/ul/li[5]/a").click()

wait.until(EC.frame_to_be_available_and_switch_to_it('ContentFrame'))

x = 4000
while (x > 1):