actionchains
ui自動化測試過程中,經常遇到那種,需要滑鼠懸浮後,要操作的才會元素出現的這種場景,那麼我們就要模擬滑鼠懸浮到某乙個位置,做一系列的連貫操作,selenium給我們提供了actionchains模組。
引入方式
fromselenium.webdriver.common.action_chains importactionchain
實際上actionchains這個模組的實現的核心思想就是,當你呼叫actionchains的方法時,不會立即執行,而是會將所有的操作按順序存放在乙個list裡,當你呼叫perform()方法時,佇列中的時間會依次執行。(注:推薦乙個尺子工具,measulerit)
drag_and_drop
# 將source元素拖放至target元素處,引數為兩個elementobj
actionchains(driver).drag_and_drop(source=source,target=target)
# 將乙個source元素 拖動到針對source坐上角坐在的x y處 可存在負寬度的情況和負高度的情況
actionchains(driver).drag_and_drop_by_offset(source,x,y)
# 這種也是拖拽的一種方式,都是以源元素的左上角為基準,移動座標
actionchains(driver).click_and_hold(dom).move_by_offset(169,188).release().perform()
move_to_element
# 滑鼠移動到某乙個元素上,結束elementobj
actionchains(driver).move_to_element(e)
# 滑鼠移動到制定的座標上,引數接受x,y
actionchains(driver).move_by_offset(e['x'],e['y'])
例:driver=webdriver.chrome()
driver.maximize_window()
driver.get('')
time.sleep(2)
driver.execute_script('document.body.scrolltop=0')
time.sleep(1)
a=driver.find_element_by_id('a').location
dis=driver.find_element_by_id('dis1')
actionchains(driver).move_by_offset(a['x'],a['y']).double_click(dis).perform()
click
# 單擊事件,可接受elementobj
actionchains(driver).click()
# 雙擊事件,可接受elementobj
actionchains(driver).double_click()
# 點選滑鼠右鍵
actionchains(driver).context_click()
# 點選某個元素不鬆開,接收elementobj
actionchains(driver).click_and_hold()
# # 某個元素上鬆開滑鼠左鍵,接收elementobj
actionchains(driver).release()
key_down與key_up
有時我們需要模擬鍵盤操作時,那麼就需要用到actionchains中的key操作了,提供了兩個方法,key_down與key_up,模擬按下鍵盤的某個鍵子,與鬆開某個鍵子,接收的引數是按鍵的keys與elementobj。可以與send_keys連用(例:全選、複製、剪下、貼上)
# key_down 模擬鍵盤摁下某個按鍵 key_up 鬆開某個按鍵,與sendkey連用完成一些操作,每次down必須up一次否則將出現異常
actionchains(driver).key_down(keys.control,dom).send_keys('a').send_keys('c').key_up(keys.control)
.key_down(keys.control,dom1).send_keys('v').key_up(keys.control).perform()
keys 實際是selenium提供的乙個鍵盤事件模組,在模擬鍵盤事件時需要匯入keys模組
fromselenium.webdriver.common.keys importkeys
css selector定位元素
selenium中經常要用css selector定位元素,雖說可以用firefox的firebug firepath直接copy元素的xpath路徑,但有時還是很必要用css selector來定位,也算技多不壓身吧 系統的學習一下,也當是臨陣磨槍。一共8種方式的選擇器。根據元素的標籤定位,如下 ...
CSS Selector定位元素
滴 今日打卡!博主之前寫過一篇關於xpath元素定位的部落格,裡面也有提到過xpath方法和css選擇器方法的比較 今天就補上css選擇器定位筆記。1.css選擇器定位元素 1 標籤選擇器 driver.find element by css selector li 選擇所有 li標籤元素 2 類選...
selenium xpath定位元素
xpath獲取 f12開啟瀏覽器除錯視窗,找到元素對應html 右鍵 copy copy xpath xpath 是xml的查詢語言,和sql的角色很類似。以下面xml為例,介紹xpath 的語法。empire burlesque bob dylan 10.90 hide your heart bo...