clickElementByXpath方法
def clickElementByXpath(self, xpath, visibleItemXpath=None, byUiAutomator=False):
"""
默认滑动点为屏幕的中心,且边距为整个屏幕。当有container时,传入container中任意一个当前可见item的xpath,之后会将目标滑到该可见item的位置
:param xpath: 要滑动到屏幕中控件的xpath
:param visibleItemXpath: container中当前可见的一个xpath
:return:
"""
self.logger.info('xpath ---> ' + xpath)
if self.isElementExist(xpath):
# self.scrollToElementByXpath(xpath, visibleItemXpath) #zx08443 目前不需要,暂时关闭这个功能
sendStr = self._pageOperator.getElementRect(xpath)
self._networkHandler.send(sendStr)
x = self._getRelativeDirectionValue('x')
y = self._getRelativeDirectionValue('y')
self.logger.debug('clickElementByXpath x:' + str(x) + ' y:' + str(y))
if not byUiAutomator:
clickCommand = self._pageOperator.clickElementByXpath(x, y)
return self._networkHandler.send(clickCommand)
else:
xPx, yPx = self.changeDp2Px(x, y)
self.d.click(xPx, yPx)
# 加了else语句,如果元素不存在,则直接抛异常,不继续执行用例。
else:
self.WebSocketConnectionClosedException("对不起,该元素未抓取到,请您查看当前页面元素位置是否有变动!")
有疑问的加V:zx1187463903
异常的处理。
或者直接在用例里面这样判断,如果该元素存在,则继续执行,否则抛出异常,用例执行结束。
if self.wxDriver.isElementExist('XXXXXX'):
pass
else:
self.wxDriver.WebSocketConnectionClosedException("对不起,当前元素不存在!")
如果这篇博客对你有帮助,欢迎扫描下方二维码,添加关注,获得更多精彩内容。