当前位置: 首页>>代码示例>>Python>>正文


Python ActionChains.drag_and_drop方法代码示例

本文整理汇总了Python中selenium.webdriver.common.action_chains.ActionChains.drag_and_drop方法的典型用法代码示例。如果您正苦于以下问题:Python ActionChains.drag_and_drop方法的具体用法?Python ActionChains.drag_and_drop怎么用?Python ActionChains.drag_and_drop使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在selenium.webdriver.common.action_chains.ActionChains的用法示例。


在下文中一共展示了ActionChains.drag_and_drop方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: _drag_page_el_2_thing

# 需要导入模块: from selenium.webdriver.common.action_chains import ActionChains [as 别名]
# 或者: from selenium.webdriver.common.action_chains.ActionChains import drag_and_drop [as 别名]
    def _drag_page_el_2_thing(step, element_name, pick, find_pattern):
        src = get_visible_page_element(element_name)
        target = _get_visible_element(finder_function, pick, find_pattern)

        action_chain = ActionChains(world.browser.driver)
        action_chain.drag_and_drop(src, target)
        action_chain.perform()
开发者ID:mroohian,项目名称:Leaf,代码行数:9,代码来源:mouse.py

示例2: _drag_page_el_2_page_el

# 需要导入模块: from selenium.webdriver.common.action_chains import ActionChains [as 别名]
# 或者: from selenium.webdriver.common.action_chains.ActionChains import drag_and_drop [as 别名]
    def _drag_page_el_2_page_el(step, elemant_name_src, element_name_target):
        src = get_visible_page_element(elemant_name_src)
        target = get_visible_page_element(element_name_target)

        action_chain = ActionChains(world.browser.driver)
        action_chain.drag_and_drop(src, target)
        action_chain.perform()
开发者ID:mroohian,项目名称:Leaf,代码行数:9,代码来源:mouse.py

示例3: add_multiple_textbox_question_to_survey

# 需要导入模块: from selenium.webdriver.common.action_chains import ActionChains [as 别名]
# 或者: from selenium.webdriver.common.action_chains.ActionChains import drag_and_drop [as 别名]
 def add_multiple_textbox_question_to_survey(self):
     self.find_element(self._multiple_textbox_question_locator).click()
     if self.is_multiple_textbox_question_add_displayed:
         actions = ActionChains(self.selenium)
         actions.click_and_hold(self.find_element(self._multiple_textbox_question_locator))
         actions.drag_and_drop(self.find_element(self._multiple_textbox_question_locator),self.find_element(self._question_area_locator))
         actions.perform()
开发者ID:ersuniljoshi,项目名称:surveyMonkeyPOC,代码行数:9,代码来源:createsurvey.py

示例4: add_single_textbox_question_to_survey

# 需要导入模块: from selenium.webdriver.common.action_chains import ActionChains [as 别名]
# 或者: from selenium.webdriver.common.action_chains.ActionChains import drag_and_drop [as 别名]
 def add_single_textbox_question_to_survey(self):
     #self.scroll_element_into_view(self._single_textbox_question_locator)
     self.find_element(self._single_textbox_question_locator).click()
     if self.is_single_textbox_question_add_displayed:
         actions = ActionChains(self.selenium)
         actions.click_and_hold(self.find_element(self._single_textbox_question_locator))
         actions.drag_and_drop(self.find_element(self._single_textbox_question_locator),self.find_element(self._question_area_locator))
         actions.perform()
开发者ID:ersuniljoshi,项目名称:surveyMonkeyPOC,代码行数:10,代码来源:createsurvey.py

示例5: drag_and_drop_to_object

# 需要导入模块: from selenium.webdriver.common.action_chains import ActionChains [as 别名]
# 或者: from selenium.webdriver.common.action_chains.ActionChains import drag_and_drop [as 别名]
 def drag_and_drop_to_object(self, locatorOfObjectToBeDragged, locatorOfDragDestinationObject):
     fromEl = self.driver.find_element(
         self.getBy(locatorOfObjectToBeDragged), self.getValue(locatorOfObjectToBeDragged)
     )
     toEl = self.driver.find_element(
         self.getBy(locatorOfDragDestinationObject), self.getValue(locatorOfDragDestinationObject)
     )
     actionChains = ActionChains(self.driver)
     actionChains.drag_and_drop(fromEl, toEl).perform()
开发者ID:caizhenxing,项目名称:Python-WebDriver-Backed-Selenium-RC,代码行数:11,代码来源:seleniumbacked.py

示例6: drag_source_to_target

# 需要导入模块: from selenium.webdriver.common.action_chains import ActionChains [as 别名]
# 或者: from selenium.webdriver.common.action_chains.ActionChains import drag_and_drop [as 别名]
 def drag_source_to_target(self, source, target):
     action = ActionChains(self.selenium)
     #action.drag_and_drop(source, target)
     custom_source = self.selenium.find_element(*self._loc_column_a)
     print(custom_source.get_attribute("draggable"))
     print(custom_source.get_attribute("id"))
     custom_target = self.selenium.find_element(*self._loc_column_b)
     print(custom_target.get_attribute("id"))
     action.drag_and_drop(custom_source,custom_target)
     action.perform()
开发者ID:the-ivan,项目名称:example-test-framework,代码行数:12,代码来源:drag_and_drop_page.py

示例7: _this_step

# 需要导入模块: from selenium.webdriver.common.action_chains import ActionChains [as 别名]
# 或者: from selenium.webdriver.common.action_chains.ActionChains import drag_and_drop [as 别名]
    def _this_step(step, handler_pick, drag_handler_pattern, target_pick,
                   drag_target_pattern):
        handler = _get_visible_element(finder_function_from, handler_pick,
                                       drag_handler_pattern)
        target = _get_visible_element(finder_function_to, target_pick,
                                      drag_target_pattern)

        action_chain = ActionChains(world.browser.driver)
        action_chain.drag_and_drop(handler, target)
        action_chain.perform()
开发者ID:afsoun1981,项目名称:salad,代码行数:12,代码来源:mouse.py

示例8: drag_and_drop

# 需要导入模块: from selenium.webdriver.common.action_chains import ActionChains [as 别名]
# 或者: from selenium.webdriver.common.action_chains.ActionChains import drag_and_drop [as 别名]
    def drag_and_drop(self, locator, target):
        """Drags element identified by ``locator`` into ``target`` element.

        The ``locator`` argument is the locator of the dragged element
        and the ``target`` is the locator of the target. See the
        `Locating elements` section for details about the locator syntax.

        Example:
        | `Drag And Drop` | css:div#element | css:div.target |
        """
        element = self.find_element(locator)
        target = self.find_element(target)
        action = ActionChains(self.driver)
        action.drag_and_drop(element, target).perform()
开发者ID:HelioGuilherme66,项目名称:robotframework-selenium2library,代码行数:16,代码来源:element.py

示例9: drag_and_drop

# 需要导入模块: from selenium.webdriver.common.action_chains import ActionChains [as 别名]
# 或者: from selenium.webdriver.common.action_chains.ActionChains import drag_and_drop [as 别名]
    def drag_and_drop(self, source, target):
        """Drags element identified with `source` which is a locator.

        Element can be moved on top of another element with `target`
        argument.

        `target` is a locator of the element where the dragged object is
        dropped.

        Examples:
        | Drag And Drop | elem1 | elem2 | # Move elem1 over elem2. |
        """
        src_elem = self.find_element(source)
        trg_elem = self.find_element(target)
        action = ActionChains(self.browser)
        action.drag_and_drop(src_elem, trg_elem).perform()
开发者ID:ponkar,项目名称:robotframework-selenium2library,代码行数:18,代码来源:element.py

示例10: drag_element

# 需要导入模块: from selenium.webdriver.common.action_chains import ActionChains [as 别名]
# 或者: from selenium.webdriver.common.action_chains.ActionChains import drag_and_drop [as 别名]
 def drag_element(self, from_element_selector, to_element_selector):
     chain = ActionChains(self.webdriver)
     chain.drag_and_drop(self._get_element(from_element_selector), self._get_element(to_element_selector))
     chain.perform()
开发者ID:knorrium,项目名称:pyccuracy,代码行数:6,代码来源:selenium_webdriver.py

示例11: WebDriverElement

# 需要导入模块: from selenium.webdriver.common.action_chains import ActionChains [as 别名]
# 或者: from selenium.webdriver.common.action_chains.ActionChains import drag_and_drop [as 别名]

#.........这里部分代码省略.........
    @property
    def visible(self):
        return self._element.is_displayed()

    @property
    def html(self):
        return self['innerHTML']

    @property
    def outer_html(self):
        return self['outerHTML']

    def find_by_css(self, selector, original_find=None, original_query=None):
        find_by = original_find or 'css'
        query = original_query or selector

        elements = self._element.find_elements_by_css_selector(selector)
        return ElementList(
            [self.__class__(element, self.parent) for element in elements], find_by=find_by, query=query)

    def find_by_xpath(self, selector, original_find=None, original_query=None):
        elements = ElementList(self._element.find_elements_by_xpath(selector))
        return ElementList(
            [self.__class__(element, self.parent) for element in elements], find_by='xpath', query=selector)

    def find_by_name(self, name):
        elements = ElementList(self._element.find_elements_by_name(name))
        return ElementList(
            [self.__class__(element, self.parent) for element in elements], find_by='name', query=name)

    def find_by_tag(self, tag):
        elements = ElementList(self._element.find_elements_by_tag_name(tag))
        return ElementList(
            [self.__class__(element, self.parent) for element in elements], find_by='tag', query=tag)

    def find_by_value(self, value):
        selector = '[value="%s"]' % value
        return self.find_by_css(selector, original_find='value', original_query=value)

    def find_by_text(self, text):
        selector = '//*[text()="%s"]' % text
        return self.find_by_xpath(selector, original_find='text', original_query=text)

    def find_by_id(self, id):
        elements = ElementList(self._element.find_elements_by_id(id))
        return ElementList(
            [self.__class__(element, self.parent) for element in elements], find_by='id', query=id)

    def has_class(self, class_name):
        return bool(re.search(r'(?:^|\s)' + re.escape(class_name) + r'(?:$|\s)', self['class']))

    def mouse_over(self):
        """
        Performs a mouse over the element.

        Currently works only on Chrome driver.
        """
        self.action_chains.move_to_element(self._element)
        self.action_chains.perform()

    def mouse_out(self):
        """
        Performs a mouse out the element.

        Currently works only on Chrome driver.
        """
        self.action_chains.move_by_offset(5000, 5000)
        self.action_chains.perform()

    mouseover = warn_deprecated(mouse_over, 'mouseover')

    def double_click(self):
        """
        Performs a double click in the element.

        Currently works only on Chrome driver.
        """
        self.action_chains.double_click(self._element)
        self.action_chains.perform()

    def right_click(self):
        """
        Performs a right click in the element.

        Currently works only on Chrome driver.
        """
        self.action_chains.context_click(self._element)
        self.action_chains.perform()

    def drag_and_drop(self, droppable):
        """
        Performs drag a element to another elmenet.

        Currently works only on Chrome driver.
        """
        self.action_chains.drag_and_drop(self._element, droppable._element)
        self.action_chains.perform()

    def __getitem__(self, attr):
        return self._element.get_attribute(attr)
开发者ID:55500081,项目名称:splinter,代码行数:104,代码来源:__init__.py

示例12: ActionChains

# 需要导入模块: from selenium.webdriver.common.action_chains import ActionChains [as 别名]
# 或者: from selenium.webdriver.common.action_chains.ActionChains import drag_and_drop [as 别名]
__author__ = 'Donald'

from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait  # available since 2.4.0
from selenium.webdriver.common.action_chains import ActionChains
import time

driver = webdriver.Firefox()
driver.get("http://www.w3schools.com/html/html5_draganddrop.asp")


element = driver.find_element_by_id("drag1")
target = driver.find_element_by_id("div2")

action_chains = ActionChains(driver)
time.sleep(15)
action_chains.drag_and_drop(element, target).perform()
time.sleep(15)
driver.close()
开发者ID:FlawlessFalcon,项目名称:Pythonista,代码行数:21,代码来源:dragAndDrop.py

示例13: assign_role_by_drag

# 需要导入模块: from selenium.webdriver.common.action_chains import ActionChains [as 别名]
# 或者: from selenium.webdriver.common.action_chains.ActionChains import drag_and_drop [as 别名]
 def assign_role_by_drag(self, role):
     role_box_source = self.get_role_box(role)
     assign_role_target = self.assign_role_draggable_target
     actions = ActionChains(self.selenium)
     actions.drag_and_drop(role_box_source, assign_role_target).perform()
开发者ID:LandoCalrizzian,项目名称:fusor-qe,代码行数:7,代码来源:assign_nodes.py

示例14: WebDriverElement

# 需要导入模块: from selenium.webdriver.common.action_chains import ActionChains [as 别名]
# 或者: from selenium.webdriver.common.action_chains.ActionChains import drag_and_drop [as 别名]

#.........这里部分代码省略.........
    def click(self):
        self._element.click()

    def check(self):
        if not self.checked:
            self._element.click()

    def uncheck(self):
        if self.checked:
            self._element.click()

    @property
    def checked(self):
        return self._element.is_selected()

    selected = checked

    @property
    def visible(self):
        return self._element.is_displayed()

    def find_by_css(self, selector, original_find=None, original_query=None):
        find_by = original_find or "css"
        query = original_query or selector

        elements = self._element.find_elements_by_css_selector(selector)
        return ElementList([self.__class__(element, self.parent) for element in elements], find_by=find_by, query=query)

    def find_by_xpath(self, selector):
        elements = ElementList(self._element.find_elements_by_xpath(selector))
        return ElementList(
            [self.__class__(element, self.parent) for element in elements], find_by="xpath", query=selector
        )

    def find_by_name(self, name):
        elements = ElementList(self._element.find_elements_by_name(name))
        return ElementList([self.__class__(element, self.parent) for element in elements], find_by="name", query=name)

    def find_by_tag(self, tag):
        elements = ElementList(self._element.find_elements_by_tag_name(tag))
        return ElementList([self.__class__(element, self.parent) for element in elements], find_by="tag", query=tag)

    def find_by_value(self, value):
        selector = '[value="%s"]' % value
        return self.find_by_css(selector, original_find="value", original_query=value)

    def find_by_id(self, id):
        elements = ElementList(self._element.find_elements_by_id(id))
        return ElementList([self.__class__(element, self.parent) for element in elements], find_by="id", query=id)

    def mouse_over(self):
        """
        Performs a mouse over the element.

        Currently works only on Chrome driver.
        """
        self.action_chains.move_to_element(self._element)
        self.action_chains.perform()

    def mouse_out(self):
        """
        Performs a mouse out the element.

        Currently works only on Chrome driver.
        """
        self.action_chains.move_by_offset(5000, 5000)
        self.action_chains.perform()

    mouseover = warn_deprecated(mouse_over, "mouseover")
    mouseout = warn_deprecated(mouse_out, "mouseout")

    def double_click(self):
        """
        Performs a double click in the element.

        Currently works only on Chrome driver.
        """
        self.action_chains.double_click(self._element)
        self.action_chains.perform()

    def right_click(self):
        """
        Performs a right click in the element.

        Currently works only on Chrome driver.
        """
        self.action_chains.context_click(self._element)
        self.action_chains.perform()

    def drag_and_drop(self, droppable):
        """
        Performs drag a element to another elmenet.

        Currently works only on Chrome driver.
        """
        self.action_chains.drag_and_drop(self._element, droppable._element)
        self.action_chains.perform()

    def __getitem__(self, attr):
        return self._element.get_attribute(attr)
开发者ID:sporteasy,项目名称:splinter,代码行数:104,代码来源:__init__.py

示例15: test_create_and_delete_quiz

# 需要导入模块: from selenium.webdriver.common.action_chains import ActionChains [as 别名]
# 或者: from selenium.webdriver.common.action_chains.ActionChains import drag_and_drop [as 别名]
    def test_create_and_delete_quiz(self):
        """
        tests the create quiz functionality
        :return:
        """

        """
        Part 1.
        Create Quiz
        """
        User.objects.create_user(username='[email protected]', email='[email protected]', password='password')
        mock_user_model.save()

        self.driver.get('{0}{1}'.format(self.live_server_url, '/'))
        self.driver.find_element_by_name("username").send_keys('[email protected]')
        self.driver.find_element_by_name("password").send_keys('password')
        self.driver.find_element_by_id('login_form').submit()

        self.driver.find_element_by_id("sidebar_parent_quiz").click()
        # Wait for drop down to populate
        WebDriverWait(driver=self.driver, timeout=5).until(
            expected_conditions.visibility_of_element_located((By.ID, "sidebar_quiz_init"))
        )

        self.driver.find_element_by_id("sidebar_quiz_init").click()
        self.driver.find_element_by_name("quiz_name").send_keys("mock_quiz")
        self.driver.find_element_by_name("quiz_description").send_keys("mock_description")
        self.driver.find_element_by_id("quiz_init_form").submit()

        # Drag and Drop
        action = ActionChains(self.driver)
        draggable_radio_group = self.driver.find_element_by_class_name("icon-radio-group")
        dragging_destination_box = self.driver.find_element_by_class_name("ui-sortable")
        action.drag_and_drop(draggable_radio_group, dragging_destination_box)
        action.move_to_element(self.driver.find_element_by_id("frmb-0-stage-wrap"))
        action.perform()

        # Edit properties of the element
        # Wait for javascript to animate movement of box
        WebDriverWait(driver=self.driver, timeout=10).until(
            expected_conditions.visibility_of_element_located((By.ID, "frmb-0-fld-1-edit"))
        )
        self.driver.find_element_by_id("frmb-0-fld-1-edit").click()
        # Wait for edit button to open dropdown
        time.sleep(0.2)
        WebDriverWait(driver=self.driver, timeout=10).until(
            expected_conditions.visibility_of_element_located((By.CLASS_NAME, "close-field"))
        )
        self.driver.find_element_by_class_name("close-field").click()
        # Submit quiz
        self.driver.find_element_by_id("frmb-0-submit").click()

        # Mark answer for answer key
        self.driver.find_elements_by_css_selector("input[type=radio][value=option-1]")[0].click()
        self.driver.find_element_by_css_selector("button[type=submit]").click()
        # BUG FIX. Did not wait after submission for page to load. So adding this explicit wait.
        while self.driver.current_url is '{0}{1}'.format(self.live_server_url, '/home/'):
            time.sleep(0.1)

        """
        Part 2.
        Check created quiz
        """
        # The quiz has been created.
        # Check if it exists in database
        user = UserAdapter.exists('[email protected]')
        self.assertIsNotNone(user)
        quiz_model = QuizAdapter.get_quiz_for_owner(quiz_name="mock_quiz", user=user).all()[0]
        quiz_id = quiz_model.quiz_id
        self.assertIsNotNone(quiz_model)
        # Also check if it is there in the storage.
        quiz_storage_handler = QuizStorageHandler()
        self.assertIsNotNone(quiz_storage_handler.download_quiz_content(quiz_model=quiz_model))

        """
        Part 3.
        Delete created quiz
        """
        # Check myquiz
        self.driver.find_element_by_id("sidebar_parent_quiz").click()
        self.driver.find_element_by_id("sidebar_myquiz").click()

        # The href with the uuid takes time to load so deleting with data-toggle=modal.
        delete_buttons = self.driver.find_elements_by_css_selector("button[data-toggle=modal]")
        self.assertEqual(len(delete_buttons), 1)
        self.driver.find_element_by_css_selector("button[data-toggle=modal]").click()

        # Dismiss deletion
        # Wait for javascript to animate modal
        WebDriverWait(driver=self.driver, timeout=10).until(
            expected_conditions.visibility_of_element_located(
                (By.CSS_SELECTOR, "button[type=button][data-dismiss=modal]")
            )
        )
        self.driver.find_element_by_css_selector("button[type=button][data-dismiss=modal]").click()

        time.sleep(0.3)  # Wait for modal to fade away.
        # Delete quiz
        self.driver.find_element_by_css_selector("button[data-toggle=modal]").click()
        # Wait for javascript to animate modal
#.........这里部分代码省略.........
开发者ID:zalokhan,项目名称:BookTurks,代码行数:103,代码来源:test_quiz_create_and_delete.py


注:本文中的selenium.webdriver.common.action_chains.ActionChains.drag_and_drop方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。