您现在的位置是:首页 > 文章详情

UI自动化学习过程get的知识点

日期:2018-11-18点击:516

一、使用Xpath定位元素:

1、定位的元素是从1开始,而非0开始

例:定位群内成员第一行第一个元素


image2018-11-19%2010%3A32%3A53.png?versi

driver.find_element_by_xpath("//XCUIElementTypeTable/XCUIElementTypeCell[1]/XCUIElementTypeButton[1]")

2、滑动页面距离在x=0,y=185时,对已知元素进行点击不能成功跳转

例:进入到页面,先滑动页面再定位一个元素进行点击操作

image2018-11-19%2011%3A14%3A11.png?versi

代码:

使用swipe

driver.execute_script("mobile: swipe", {"direction": "up"})  // 大概是height=185px,

使用dragFromToForDuration

driver.execute_script("mobile:dragFromToForDuration",{"duration":0.5,"element":None,"fromX":0,"fromY":650,"toX":0,"toY":450})  // height = 200px

driver.find_element_by_xpath("//XCUIElementTypeTable/XCUIElementTypeCell[5]").click()  // 点击该元素后页面未跳转

3、页面上资源太大时,定位元素会失败()

待补充

二、关于WebDriverException错误

1、引入WebDriverException错误

from selenium.common.exceptions import WebDriverException

2、常见的错误:

NoSuchAttributeException   // 元素未找到

NoSuchElementException: Message: An element could not be located on the page using the given search parameters.

WebDriverException // 操作的元素,还未加载进来吧,例如,页面元素加载完,我操作非当前屏幕的元素

WebDriverException: Message: An unknown server-side error occurred while processing the command. Original error: Invalid parameter not satisfying: point.x != INFINITY && point.y != INFINITY

3、点击一个元素时(该元素被遮挡),命令会执行成功,页面无变化

例:在iPhone6sp上的微信-通讯录-第10条数据就是被遮挡的元素

driver.find_element_by_xpath("//XCUIElementTypeTable/XCUIElementTypeCell[10]").click()   // 执行不会报错

三、其他

1、除法中仅取整数部分,小数第一位大于0就向整数部分进1

使用函数:round()、str()、int()、split()

例子:int(str(round(x / y + 0.4)).split(".")[0])  // x和y中有一个是float类型 

原文链接:https://yq.aliyun.com/articles/670962
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章