您的位置:軟件測試 > 開源軟件測試 > 開源功能測試工具 > Selenium
輕松自動化---selenium-webdriver(python) (十五)
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時間:[ 2013/9/16 10:22:36 ] 推薦標(biāo)簽:

  本節(jié)重點:

  ActionChains 類

     context_click()  右擊

     double_click()   雙擊

     drag_and_drop()  拖動

  測試的產(chǎn)品中有一個操作是右鍵點擊文件列表會彈出一個快捷菜單,可以方便的選擇快捷菜單中的選擇對文件進(jìn)行操作(刪除、移動、重命名),之前學(xué)習(xí)元素的點擊非常簡單:

  driver.find_element_by_id(“xxx”).click()

  那么鼠標(biāo)的雙擊、右擊、拖動等是否也是這樣的寫法呢?例如右擊:

  driver.find_element_by_id(“xxx”).context_click()

  經(jīng)過運(yùn)行腳本得到了下面的錯誤提示:

  AttributeError: 'WebElement' object has no attribute 'context_click'

  提示右點方法不屬于webelement 對象,通過查找文檔,發(fā)現(xiàn)屬于ActionChains 類,但文檔中沒有具體寫法。這里要感謝 北京-QC-rabbit 的指點,其實整個python+selenium 學(xué)習(xí)過程都要感謝 北京-QC-rabbit 的指點。

  下面介紹鼠標(biāo)右鍵的用法,以快播私有云為例:

#coding=utf-8

from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
import time

driver = webdriver.Firefox()
driver.get(http://passport.kuaibo.com/login/?referrer=http%3A%2F%2Fwebcloud.kuaibo.com%2F)

#登陸快播私有云
driver.find_element_by_id("user_name").send_keys("username")
driver.find_element_by_id("user_pwd").send_keys("123456")
driver.find_element_by_id("dl_an_submit").click()
time.sleep(3)

#定位到要右擊的元素
qqq =driver.find_element_by_xpath("/html/body/div/div[2]/div[2]/div/div[3]/table/tbody/tr/td[2]")
#對定位到的元素執(zhí)行鼠標(biāo)右鍵操作
ActionChains(driver).context_click(qqq).perform()


'''
#你也可以使用三行的寫法,但我覺得上面兩行寫法更容易理解
chain = ActionChains(driver)
implement = driver.find_element_by_xpath("/html/body/div/div[2]/div[2]/div/div[3]/table/tbody/tr/td[2]")
chain.context_click(implement).perform()
'''

time.sleep(3) #休眠3秒
driver.close()

上一頁123下一頁
軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd