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