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()

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM