python类TAB的实例源码

login_util.py 文件源码 项目:TwitPy 作者: timgrossmann 项目源码 文件源码 阅读 25 收藏 0 点赞 0 评论 0
def login_user(browser, username, password):
  """Logins the user with the given username and password"""
  browser.get('https://twitter.com/login')

  #Enter username and password and logs the user in
  userContainer = browser.find_element_by_xpath('//input[contains(@class, "js-username-field email-input js-initial-focus")]')
  passwordContainer = browser.find_element_by_xpath('//input[@type = "password"]')

  action = ActionChains(browser).move_to_element(userContainer).click().send_keys(username) \
          .send_keys(Keys.TAB).send_keys(password).perform()

  submitButton = browser.find_element_by_xpath('//button[@type = "submit"]')
  action = ActionChains(browser).move_to_element(submitButton).click().perform()

  sleep(2)

  #Check if user is logged-in (If there's two 'nav' elements)
  prof = browser.find_elements_by_xpath('//div[@class = "DashboardProfileCard-content"]')
  if len(prof) > 0:
    return True
  else:
    return False
_element.py 文件源码 项目:robotframework-weblibrary 作者: Netease-AutoTest 项目源码 文件源码 阅读 19 收藏 0 点赞 0 评论 0
def _map_ascii_key_code_to_key(self, key_code):
        map = {
            0: Keys.NULL,
            8: Keys.BACK_SPACE,
            9: Keys.TAB,
            10: Keys.RETURN,
            13: Keys.ENTER,
            24: Keys.CANCEL,
            27: Keys.ESCAPE,
            32: Keys.SPACE,
            42: Keys.MULTIPLY,
            43: Keys.ADD,
            44: Keys.SEPARATOR,
            45: Keys.SUBTRACT,
            56: Keys.DECIMAL,
            57: Keys.DIVIDE,
            59: Keys.SEMICOLON,
            61: Keys.EQUALS,
            127: Keys.DELETE
        }
        key = map.get(key_code)
        if key is None:
            key = chr(key_code)
        return key
test_comment.py 文件源码 项目:denglun 作者: JOJO276 项目源码 文件源码 阅读 20 收藏 0 点赞 0 评论 0
def Transfer_Clicks(browser):
    try:
        browser.execute_script("window.scrollBy(0,document.body.scrollHeight)", "")
        # ???????Javascript??????????????
        # browser.execute_script("window.scrollBy(0,5)", "")
        # ????200?????????????
    #         ActionChains(browser).move_by_offset(0,-80).perform()
    # ??????80??????????
    #         ActionChains(browser).click().perform()
    # ??????
    #         ActionChains(browser).key_down(Keys.TAB).perform()
    # ??tab????
    #         ActionChains(browser).send_keys(Keys.ENTER).perform()
    # ????ENTER?
    except:
        pass
    return "Transfer successfully \n"
test_repost_new.py 文件源码 项目:denglun 作者: JOJO276 项目源码 文件源码 阅读 20 收藏 0 点赞 0 评论 0
def Transfer_Clicks(browser):
    try:
        browser.execute_script("window.scrollBy(0,document.body.scrollHeight)", "")
        # ???????Javascript??????????????
        # browser.execute_script("window.scrollBy(0,5)", "")
        # ????200?????????????
    #         ActionChains(browser).move_by_offset(0,-80).perform()
    # ??????80??????????
    #         ActionChains(browser).click().perform()
    # ??????
    #         ActionChains(browser).key_down(Keys.TAB).perform()
    # ??tab????
    #         ActionChains(browser).send_keys(Keys.ENTER).perform()
    # ????ENTER?
    except:
        pass
    return "Transfer successfully \n"
test_repost.py 文件源码 项目:denglun 作者: JOJO276 项目源码 文件源码 阅读 20 收藏 0 点赞 0 评论 0
def Transfer_Clicks(browser):
    try:
        browser.execute_script("window.scrollBy(0,document.body.scrollHeight)", "")
        # ???????Javascript??????????????
        # browser.execute_script("window.scrollBy(0,5)", "")
        # ????200?????????????
    #         ActionChains(browser).move_by_offset(0,-80).perform()
    # ??????80??????????
    #         ActionChains(browser).click().perform()
    # ??????
    #         ActionChains(browser).key_down(Keys.TAB).perform()
    # ??tab????
    #         ActionChains(browser).send_keys(Keys.ENTER).perform()
    # ????ENTER?
    except:
        pass
    return "Transfer successfully \n"
safari.py 文件源码 项目:denglun 作者: JOJO276 项目源码 文件源码 阅读 26 收藏 0 点赞 0 评论 0
def Transfer_Clicks(browser):
    try:
        browser.execute_script("window.scrollBy(0,document.body.scrollHeight)", "")
        # ???????Javascript??????????????
        # browser.execute_script("window.scrollBy(0,5)", "")
        # ????200?????????????
#         ActionChains(browser).move_by_offset(0,-80).perform()
        # ??????80??????????
#         ActionChains(browser).click().perform()
        # ??????
#         ActionChains(browser).key_down(Keys.TAB).perform()
        # ??tab????
#         ActionChains(browser).send_keys(Keys.ENTER).perform()
        # ????ENTER?
    except:
        pass
    return "Transfer successfully \n"
t10_17138955984.py 文件源码 项目:denglun 作者: JOJO276 项目源码 文件源码 阅读 18 收藏 0 点赞 0 评论 0
def Transfer_Clicks(browser):
    try:
        browser.execute_script("window.scrollBy(0,document.body.scrollHeight)", "")
        # ???????Javascript??????????????
        # browser.execute_script("window.scrollBy(0,5)", "")
        # ????200?????????????
    #         ActionChains(browser).move_by_offset(0,-80).perform()
    # ??????80??????????
    #         ActionChains(browser).click().perform()
    # ??????
    #         ActionChains(browser).key_down(Keys.TAB).perform()
    # ??tab????
    #         ActionChains(browser).send_keys(Keys.ENTER).perform()
    # ????ENTER?
    except:
        pass
    return "Transfer successfully \n"
BrowserTest.py 文件源码 项目:devsecops-example-helloworld 作者: boozallen 项目源码 文件源码 阅读 21 收藏 0 点赞 0 评论 0
def tab(self, by, selector, message = None):
        self.log("Tab to next active element. WARNING: Does not work for Safari driver")
        element = self.driver.switch_to.active_element
        element.send_keys(Keys.TAB)
        # script = """
        #     var f = jQuery('#{0}'), e = f, 
        #         hasTag = function(e, tag) {{ return (e.prop("tagName") === tag); }},
        #         getAttr = function(e, attr) {{ return e.attr(attr); }},
        #         i = 0;
        #     while (e && (i < 1000)) {{
        #         e = e.next()
        #         if (
        #             (getAttr(e, 'tabindex') && (getAttr(e, 'tabindex') != -1)) || 
        #             (hasTag(e, 'a') && getAttr(e, 'h')) ||
        #             (hasTag(e, 'input') && (getAttr(e, 'type') !== 'hidden')) ||
        #             (hasTag(e, 'textarea'))
        #            )
        #         {{
        #             f.blur(); 
        #             e.focus();
        #             e = undefined;
        #         }}
        #         i = i + 1;
        #    }}
        #     """.format(selector)
        # self.log("About to execute '{0}'".format(script))
        # self.driver.execute_script(script)
        # self.log("Executed".format(script))
tools.py 文件源码 项目:reahl 作者: reahl 项目源码 文件源码 阅读 22 收藏 0 点赞 0 评论 0
def press_tab(self):
        """Simulates the user pressing the tab key on element that is currently focussed.

        .. versionchanged: 4.0
           Changed to operate on the currently focussed element.
        """
        el = self.web_driver.switch_to.active_element
        el.send_keys(Keys.TAB)
        # To ensure the element gets blur event which for some reason does not always happen when pressing TAB:
        self.web_driver.execute_script('if ( "undefined" !== typeof jQuery) {jQuery(arguments[0]).blur();};', el)
images.py 文件源码 项目:stepler 作者: Mirantis 项目源码 文件源码 阅读 23 收藏 0 点赞 0 评论 0
def switch_to_new_tab(self, check=True):
        """Step to switch to new tab."""
        main_page = self.app.page_images
        main_page.webdriver.find_element_by_tag_name('body').send_keys(
            Keys.CONTROL + Keys.TAB)
        page = main_page.webdriver.current_window_handle
        main_page.webdriver.switch_to_window(page)
SemiAuto-ICO.py 文件源码 项目:Python 作者: ANT-Pi 项目源码 文件源码 阅读 19 收藏 0 点赞 0 评论 0
def final_deals(last_page):
    """

    Finish the last step to ICO.
    1. Input the num which we want to invest to the ICO.
    2. Get the question that need we to solve.
    3. Handle the request and finish the ICO.

    :return:
    """

    new_mark_page = driver.window_handles
    driver.switch_to_window(new_mark_page[1])
    driver.get(last_page)
    time.sleep(0.5)
    driver.find_element_by_class_name("numeric decimal optional nprice-input form-control").clear()
    driver.find_element_by_class_name("numeric decimal optional nprice-input form-control").sendkey(input("Please input the num"
                                                                                                          "that you want to invest"
                                                                                                          "the ICO:"))
    time.sleep(0.5)
    driver.find_element_by_class_name("numeric decimal optional nprice-input form-control").send_keys(Keys.TAB)
    handle_question = driver.find_element_by_class_name("title math-title").text
    print(handle_question)
    answer = input("Please input the answer:")
    driver.find_element_by_class_name("form-control").clear()
    driver.find_element_by_class_name("form-control").send_keys(answer)
    time.sleep(0.5)
    driver.find_element_by_class_name("btn btn-theme submit-btn disabled").click()
    time.sleep(0.5)
WebRunner.py 文件源码 项目:PyWebRunner 作者: IntuitiveWebSolutions 项目源码 文件源码 阅读 24 收藏 0 点赞 0 评论 0
def set_value(self, selector, value, clear=True, blur=True, **kwargs):
        '''
        Sets value of an element by CSS selector.

        Parameters
        ----------
        selector: str
            A CSS selector to search for. This can be any valid CSS selector.

        value: str
            The value to set on the element matched by the selector.

        clear: bool
            Whether or not we should clear the element's value first.
            If false, value will be appended to the current value of the element.

        blur: bool
            Whether or not we should blur the element after setting the value.
            Defaults to True

        kwargs:
            passed on to wait_for_visible

        '''
        typing = kwargs.get('typing', False)
        typing_speed = kwargs.get('typing_speed', 3)
        typing_max_delay = kwargs.get('typing_max_delay', .33)
        self.wait_for_visible(selector, **kwargs)

        elem = kwargs.get('elem')
        if not elem:
            elem = self.get_element(selector)

        if elem.tag_name == 'select':
            self.set_select_by_value(elem, value)
        else:
            if clear:
                self.clear(selector)
            if typing:
                for k in value:
                    delay = random() / typing_speed
                    if delay > typing_max_delay:
                        delay = typing_max_delay
                    sleep(delay)
                    elem.send_keys(k)
            else:
                elem.send_keys(value)

            if self.driver == 'Gecko':
                # Thank you so much Mozilla. This is awesome to have to do.
                self.js("arguments[0].setAttribute('value', '" + value + "')", elem)

        if blur:
            elem.send_keys(Keys.TAB)
WebRunner.py 文件源码 项目:PyWebRunner 作者: IntuitiveWebSolutions 项目源码 文件源码 阅读 23 收藏 0 点赞 0 评论 0
def set_selectize(self, selector, value, text=None, clear=True, blur=False):
        '''
        Sets visible value of a selectize control based on the "selectized" element.

        Parameters
        ----------
        selector: str
            A CSS selector to search for. This can be any valid CSS selector.

        value: str
            The value of the option to select.
            (Stored Value)

        text: str
            The visible value that the user sees.
            (Visible value, if different than the stored value)

        clear: bool
            Whether or not we should clear the selectize value first.
            Defaults to True

        blur: bool
            Whether or not we should blur the element after setting the value.
            This corresponds to the 'selectOnTab' selecize setting.
            Defaults to False
        '''
        selectize_control = selector + ' + .selectize-control'
        selectize_input = selectize_control + ' input'

        # Make sure the selectize control is active so the input is visible
        self.click(selectize_control)

        input_element = self.get_element(selectize_input)

        if clear:
            input_element.send_keys(Keys.BACK_SPACE)

        input_element.send_keys(text or value)

        # Wait for options to be rendered
        self.wait_for_visible(selectize_control + ' .has-options')

        if blur:
            input_element.send_keys(Keys.TAB)
        else:
            # Click the option for the given value
            self.click(selectize_control + ' .option[data-value="{}"]'.format(value))
browser_mgmt.py 文件源码 项目:warriorframework 作者: warriorframework 项目源码 文件源码 阅读 23 收藏 0 点赞 0 评论 0
def switch_tab(self, browser_instance=None, tab_number=None, browser_type="firefox"):
        """Switching to different tabs in a browser with unique tab_number"""
        status = True
        if browser_instance is None:
            browser_instance = self.current_browser

        if tab_number is not None:
            try:
                tab_number = int(tab_number)
            except:
                print_error("{0} is not a valid tab number".format(tab_number))
                status = False
            else:
                if tab_number > len(browser_instance.window_handles) or tab_number < 1:
                    print_error("{0} is not a valid tab number".format(tab_number))
                    status = False
                else:
                    tab_number -= 1
                    current_tab = 0
                    current_window_handle = browser_instance.current_window_handle
                    for i in range(0, len(browser_instance.window_handles)):
                        if browser_instance.window_handles[i] == current_window_handle:
                            current_tab = i
                            break
                    if tab_number != current_tab:
                        if current_tab < tab_number:
                            times = tab_number - current_tab
                        else:
                            times = len(browser_instance.window_handles) - current_tab
                            times += tab_number
                        if browser_type == "firefox":
                            action_chains = ActionChains(browser_instance)
                            action_chains.key_down(Keys.ALT)
                            for i in range(0, times):
                                action_chains.send_keys('`')
                            action_chains.perform()
                        else:
                            element = browser_instance.find_element_by_tag_name('body')
                            for i in range(0, times):
                                element.send_keys(Keys.LEFT_CONTROL, Keys.TAB)
                        browser_instance.switch_to.window(browser_instance.window_handles[tab_number])
        else:
            current_tab = 0
            current_window_handle = browser_instance.current_window_handle
            for i in range(0, len(browser_instance.window_handles)):
                if browser_instance.window_handles[i] == current_window_handle:
                    current_tab = i
            tab_number = current_tab + 1
            if tab_number >= len(browser_instance.window_handles):
                tab_number = 0
            if browser_type == "firefox":
                browser_instance.find_element_by_tag_name('body').send_keys(Keys.LEFT_ALT, '`')
            else:
                browser_instance.find_element_by_tag_name('body').send_keys(Keys.LEFT_CONTROL, Keys.TAB)
            browser_instance.switch_to.window(browser_instance.window_handles[tab_number])

        return status
browser_mgmt.py 文件源码 项目:warriorframework 作者: warriorframework 项目源码 文件源码 阅读 25 收藏 0 点赞 0 评论 0
def close_tab(self, browser_instance=None, tab_number=None, browser_type="firefox"):
        """Closing tabs in a browser with unique tab_number"""
        if browser_instance is None:
            browser_instance = self.current_browser

        if len(browser_instance.window_handles) > 1:
            prior_current_tab = False
            current_window_handler = browser_instance.current_window_handle
            for i in range(0, len(browser_instance.window_handles)):
                if browser_instance.window_handles[i] == current_window_handler:
                    prior_current_tab = i

            status = True
            if tab_number is not None:
                status = self.switch_tab(browser_instance, tab_number, browser_type)
                if status:
                    tab_number = int(tab_number) - 1
                    browser_instance.find_element_by_tag_name('body').send_keys(Keys.LEFT_CONTROL, 'w')
                    sleep(2)
                    if tab_number == len(browser_instance.window_handles):
                        tab_number -= 1
                    browser_instance.switch_to.window(browser_instance.window_handles[tab_number])
                    if prior_current_tab == len(browser_instance.window_handles):
                        prior_current_tab -= 1

                    if prior_current_tab != tab_number:
                        if tab_number < prior_current_tab:
                            times = prior_current_tab - tab_number
                        else:
                            times = len(browser_instance.window_handles) - tab_number
                            times += prior_current_tab
                        if browser_type == "firefox":
                            action_chains = ActionChains(browser_instance)
                            action_chains.key_down(Keys.ALT)
                            for i in range(0, times):
                                action_chains.send_keys('`')
                            action_chains.perform()
                        else:
                            element = browser_instance.find_element_by_tag_name('body')
                            for i in range(0, times):
                                element.send_keys(Keys.LEFT_CONTROL, Keys.TAB)

                    browser_instance.switch_to.window(browser_instance.window_handles[prior_current_tab])
            else:
                if browser_type == "firefox":
                    print_info("The tab_number argument is None. Current window will be closed")
                else:
                    print_info("The tab_number argument is None. Current tab will be closed")
                browser_instance.find_element_by_tag_name('body').send_keys(Keys.LEFT_CONTROL, 'w')
                if prior_current_tab == len(browser_instance.window_handles):
                    prior_current_tab = 0
                browser_instance.switch_to.window(browser_instance.window_handles[prior_current_tab])
        else:
            status = self.close_browser(browser_instance)

        return status
shoebott.py 文件源码 项目:Adidas-Automated-checkout-bot 作者: tj203539 项目源码 文件源码 阅读 19 收藏 0 点赞 0 评论 0
def RunBot():
    '''opens web browser'''
    chromedriver = "/Users/Tj/Downloads/chromedriver"
    os.environ["webdriver.chrome.driver"] = chromedriver
    driver = webdriver.Chrome(chromedriver)
    driver.get(Shoe_url)
    add_to_cart = driver.find_element_by_name('add-to-cart-button')
    add_to_cart.click()
    time.sleep(5)
    checkout = driver.find_element_by_css_selector('.adi-gradient-blue')
    checkout.click()
    first_name_Elem = driver.find_element_by_id('dwfrm_delivery_singleshipping_shippingAddress_addressFields_firstName')
    first_name_Elem.send_keys(first_name)
    last_name_Elem = driver.find_element_by_id('dwfrm_delivery_singleshipping_shippingAddress_addressFields_lastName')
    last_name_Elem.send_keys(last_name)
    address_Elem = driver.find_element_by_id('dwfrm_delivery_singleshipping_shippingAddress_addressFields_address1')
    address_Elem.send_keys(street_address)
    city_Elem = driver.find_element_by_id('dwfrm_delivery_singleshipping_shippingAddress_addressFields_city')
    city_Elem.send_keys(city)
    zip_code_Elem = driver.find_element_by_id('dwfrm_delivery_singleshipping_shippingAddress_addressFields_zip')
    zip_code_Elem.send_keys(zip_code)
    phone_number_Elem = driver.find_element_by_id('dwfrm_delivery_singleshipping_shippingAddress_addressFields_phone')
    phone_number_Elem.send_keys(phone_number)
    email_Elem = driver.find_element_by_id('dwfrm_delivery_singleshipping_shippingAddress_email_emailAddress')
    email_Elem.send_keys(email)
    state_dropdown = driver.find_element_by_css_selector('.ffSelectButton')
    state_dropdown.click()
    state_dropdown.send_keys(Keys.DOWN * S)
    state_dropdown.send_keys(Keys.ENTER)
    pay = driver.find_element_by_css_selector("#dwfrm_delivery_savedelivery")
    pay.click()
    time.sleep(3)
    name_oncard_Elem = driver.find_element_by_id('dwfrm_payment_creditCard_owner')
    name_oncard_Elem.clear()
    name_oncard_Elem.send_keys(first_name + ' ' + last_name)
    card_number_Elem = driver.find_element_by_id('dwfrm_payment_creditCard_number')
    card_number_Elem.send_keys(card_number)
    security_code_Elem = driver.find_element_by_id('dwfrm_payment_creditCard_cvn')
    security_code_Elem.send_keys(security_code)
    actions = webdriver.ActionChains(driver)
    month_dropdown = driver.find_element_by_css_selector('.ffSelectButton')
    month_dropdown.click()
    month_dropdown.send_keys(Keys.DOWN * M)
    month_dropdown.send_keys(Keys.ENTER)
    year_select = driver.find_element_by_css_selector('.year')
    actions.move_to_element(year_select)
    actions.click()
    actions.send_keys(Keys.DOWN * Y)
    actions.send_keys(Keys.ENTER)
    actions.perform()
    security_code_Elem = driver.find_element_by_id('dwfrm_payment_creditCard_cvn')
    security_code_Elem.send_keys(security_code)
    security_code_Elem.send_keys(Keys.TAB * 5)
    time.sleep(3)
google.py 文件源码 项目:alan 作者: camtaylor 项目源码 文件源码 阅读 26 收藏 0 点赞 0 评论 0
def action(action_name):
  global page_location
  if action_name == "click":
    links = get_links()
    try:
      if len(links) > 0:
        for link in links:
          print link.text
      links[0].click()
    except:
      print ":speak:Can't open the link."

  elif action_name == "search":
    text = get_text("Ready")
    elem = browser.find_element_by_name('q')  # Find the search box
    elem.clear()
    elem.send_keys('{}'.format(text) + Keys.RETURN)

  elif action_name == "back":
    browser.execute_script("window.history.go(-1)")

  elif action_name == "top":
    browser.execute_script("window.scrollTo(0, document.body.scrollHeight);")

  elif action_name == "down":
    browser.execute_script("window.scrollBy(0, 400);")

  elif action_name == "new tab":
    browser.find_element_by_tag_name('body').send_keys(Keys.COMMAND + 't')
    browser.get("http://www.google.com")
    browser.switch_to_window(main_window)
  elif action_name == "close tab":
    browser.find_element_by_tag_name('body').send_keys(Keys.COMMAND + 'w')
    browser.switch_to_window(main_window)

  elif action_name == "switch":
    browser.find_element_by_tag_name('body').send_keys(Keys.CONTROL + Keys.SHIFT + Keys.TAB)
    browser.switch_to_window(main_window)

  elif action_name == "next":
    try:
      browser.find_element_by_link_text('Next').click()
    except:
      print ":speak:I couldn't find a next link."


问题


面经


文章

微信
公众号

扫码关注公众号