selenium触摸操作

通过scroll_from_element、flick_element 方法来实现下拉操作,如果模拟的是移动端的H5自动化测试,首先需要我们将浏览器设置成为手机浏览器;

1.以元素为起点以一定速度向下滑动,实现下拉操作

flick_element(on_element, xoffset, yoffset, speed);

on_element            #操作元素定位

xoffset               #x轴偏移量

yoffset                    #y轴偏移量

speed                     #速度

注意:向上滑动为负数,向下滑动为正数

import time from selenium import webdriver

from selenium.webdriver.common.touch_actionsimport TouchActions

"""设置手机的大小"""

mobileEmulation = {'deviceName':'Apple iPhone 5'}

options = webdriver.ChromeOptions()

options.add_experimental_option('mobileEmulation', mobileEmulation)

driver = webdriver.Chrome(chrome_options=options)

driver.get('http://m.test.90dichan.com')

driver.maximize_window()

"""定位操作元素"""

button = driver.find_element_by_xpath('//*[@id="pullrefresh"]/div[2]/ul/li[2]/a/div[2]/span')

time.sleep(3)

Action = TouchActions(driver)

"""从button元素像下滑动200元素,以50的速度向下滑动"""

Action.flick_element(button, 0, 200, 50).perform()

time.sleep(3)

driver.close()

2.以元素为起点向下滑动,实现下拉操作

scroll_from_element(on_element xoffset yoffset)

on_element:开始元素滚动。

xoffset:X偏移量。

yoffset:Y偏移量。

注意:向下滑动为负数,向上滑动为正数

import time

from selenium import webdriver

from selenium.webdriver.common.touch_actionsimport TouchActions

"""设置手机的大小"""

mobileEmulation = {'deviceName':'Apple iPhone 5'}

options = webdriver.ChromeOptions()

options.add_experimental_option('mobileEmulation', mobileEmulation)

driver = webdriver.Chrome(chrome_options=options)

driver.get('http://m.test.90dichan.com')

driver.maximize_window()

"""定位操作元素"""

button = driver.find_element_by_xpath('//*[@id="pullrefresh"]/div[2]/ul/li[2]/a/div[2]/span')

time.sleep(3)

Action = TouchActions(driver)

"""从button元素像下滑动200元素"""

Action.scroll_from_element(button, 0, -200).perform()

time.sleep(3)

driver.close()

TouchAction提供的其他那些方法:

double_tap(on_element)                                                #双击   

flick_element(on_element, xoffset, yoffset, speed)         #从元素开始以指定的速度移动

long_press(on_element)                                            #长按不释放

move(xcoord, ycoord)                                                #移动到指定的位置

perform()                                                                    #执行链中的所有动作

release(xcoord, ycoord)                                             #在某个位置松开操作

scroll(xoffset, yoffset)                                                      #滚动到某个位置

scroll_from_element(on_element, xoffset, yoffset)         #从某元素开始滚动到某个位置

tap(on_element)                                                             #单击

tap_and_hold(xcoord, ycoord)                                        #某点按住

其实上述的部分方法与ActionChains 中的鼠标操作很相似,由于与鼠标操作的书写方法一致的。

你可能感兴趣的:(selenium触摸操作)