• Selenium WebDriver-通过ActionChains实现页面元素拖拽


    #encoding=utf-8
    import unittest
    import time
    import chardet
    from selenium import webdriver
     
    class VisitSogouByIE(unittest.TestCase):
    
        def setUp(self):
            #启动IE浏览器
            #self.driver = webdriver.Firefox(executable_path = "e:\geckodriver")
            self.driver = webdriver.Ie(executable_path = "e:\IEDriverServer")
            
        def test_dragPageElement(self):
            url = "http://jqueryui.com/resources/demos/draggable/scroll.html"
            # 访问被测试网页
            self.driver.get(url)
            # 获取页面上第一个能拖拽的页面元素
            initialPosition = self.driver.find_element_by_id("draggable")
            # 获取页面上第二个能拖拽的页面元素
            targetPosition = self.driver.find_element_by_id("draggable2")
            # 获取页面上第三个能拖拽的页面元素
            dragElement = self.driver.find_element_by_id("draggable3")
            # 导入提供拖拽元素方法的模块ActionChains
            from selenium.webdriver import ActionChains
            import time
            '''
            创建一个新的ActionChains,将webdriver实例对象driver作为参数值传入
            然后通过WebDriver实例执行用户动作。
            '''
            action_chains = ActionChains(self.driver)
            # 将页面上第一个能被拖拽的元素拖拽到第二个元素位置
            action_chains.drag_and_drop(initialPosition, targetPosition).perform()
            # 将页面上第三个能拖拽的元素,向右下拖动10个像素,共拖动5次
            for i in xrange(5):
                action_chains.drag_and_drop_by_offset(dragElement, 10, 10).perform()
                time.sleep(2)
    
    
    
        def tearDown(self):
            # 退出IE浏览器
            self.driver.quit()
    
    if __name__ == '__main__':
        unittest.main()
  • 相关阅读:
    对于软件工程这门课程的一些心得
    第一次冲刺(10)
    第一次冲刺(7~9)
    第一次冲刺(6)
    第一次冲刺(5)
    第一次冲刺(4)
    第一次冲刺(3)
    第一次冲刺(2)
    Arrays.asList 为什么不能 add 或者 remove 而 ArrayList 可以
    Javascript保证精度的小数乘法
  • 原文地址:https://www.cnblogs.com/qingqing-919/p/8709380.html
Copyright © 2020-2023  润新知