前些日子寫一個滑動手機頁面的小腳本,看到大家給的內容都是swipe方法,這里對swipe方法做一個小介紹:
Swipe(int start x,int start y,int end x,int y,duration)
解釋:int start x-開始滑動的x坐標,
int start y -開始滑動的y坐標。
int end x -結束點x坐標,
int end y -結束點y坐標。
duration 滑動時間(默認5毫秒);
由於swipe方法需要制定的是坐標,但是由於每個手機的分辨率不同,如果我們指定了一個固定的坐標,在其他手機上也不一定能適用,所以最好的辦法就是通過獲取手機屏幕的坐標來滑動,
這樣可以增加代碼的復用性。
以下是我的python代碼:
dr=webdriver.Remote("http://localhost:4725/wd/hub",desired_cups)
1 #獲得機器屏幕大小x,y 2 def getSize(): 3 x = dr.get_window_size()['width'] 4 y = dr.get_window_size()['height'] 5 return (x, y) 6 7 #屏幕向上滑動 8 def swipeUp(t): 9 l = getSize() 10 x1 = int(l[0] * 0.5) #x坐標 11 y1 = int(l[1] * 0.75) #起始y坐標 12 y2 = int(l[1] * 0.25) #終點y坐標 13 dr.swipe(x1, y1, x1, y2,t)
簡單解釋一下:
下圖是屏幕的坐標圖,向上滑動屏幕就是x軸不變,y軸由大到小的變化過程
以下我將向上滑動、向下滑動、向左滑動和向右滑動整理了一下,並且實現他們的調用:
1 #獲得機器屏幕大小x,y 2 def getSize(): 3 x = dr.get_window_size()['width'] 4 y = dr.get_window_size()['height'] 5 return (x, y) 6 7 #屏幕向上滑動 8 def swipeUp(t): 9 l = getSize() 10 x1 = int(l[0] * 0.5) #x坐標 11 y1 = int(l[1] * 0.75) #起始y坐標 12 y2 = int(l[1] * 0.25) #終點y坐標 13 dr.swipe(x1, y1, x1, y2,t) 14 #屏幕向下滑動 15 def swipeDown(t): 16 l = getSize() 17 x1 = int(l[0] * 0.5) #x坐標 18 y1 = int(l[1] * 0.25) #起始y坐標 19 y2 = int(l[1] * 0.75) #終點y坐標 20 dr.swipe(x1, y1, x1, y2,t) 21 #屏幕向左滑動 22 def swipLeft(t): 23 l=getSize() 24 x1=int(l[0]*0.75) 25 y1=int(l[1]*0.5) 26 x2=int(l[0]*0.05) 27 dr.swipe(x1,y1,x2,y1,t) 28 #屏幕向右滑動 29 def swipRight(t): 30 l=getSize() 31 x1=int(l[0]*0.05) 32 y1=int(l[1]*0.5) 33 x2=int(l[0]*0.75) 34 dr.swipe(x1,y1,x2,y1,t) 35 #調用向左滑動 36 swipLeft(1000) 37 sleep(3) 38 #調用向右滑動 39 swipRight(1000) 40 調用向上滑動 41 swipeUp(1000) 42 調用向下滑動 43 swipeDown(1000)
原文地址:http://www.cnblogs.com/testhub/p/5949668.html