Appium ‘WebDriver‘ object has no attribute ‘find_element_by_***‘解决

1、缘起

学习Appium时,调用一个方法时报错,找了很多帖子都是下面这个写法。
写法如下
driver.find_element_by_text('这个')

继续往下看,如果不是可以关闭帖子了。

2、原因

网上的帖子调用的Appium库版本是Version 2.0之前的。
我新装的库用的是Version 2.0。这个版本已经改了调用写法

3、纠正

#  通过ID调用按钮点击
driver.find_element(by=By.ID, value='heartbeat:id/picture_iv').click()
# 通过class调用按钮点击。[0]是index的值。使用下标调用,element必须后面加s。
driver.find_elements(by=By.CLASS_NAME, value='android.widget.ImageView')[0].click()

4、缘落

调用函数,给的提示如下:
在这里插入图片描述

参数:by, value
进入库中查看,其给的用法如下
 """
        Find elements given a AppiumBy strategy and locator
        Args:  # 参数
            by: The strategy
            value: The locator
        Usage:  # 用法
            driver.find_elements(by=AppiumBy.ACCESSIBILITY_ID, value='accessibility_id')
        Returns:  # 返回值
            :obj:`list` of :obj:`appium.webdriver.webelement.WebElement`: The found elements
        """

看到这,我们直接在程序中按示例方法写

driver.find_elements(by=By.)
写到这里,提示给了下面几个参数
	""" 
    Set of supported locator strategies.
    ID = "id"
    XPATH = "xpath"
    LINK_TEXT = "link text"
    PARTIAL_LINK_TEXT = "partial link text"
    NAME = "name"
    TAG_NAME = "tag name"
    CLASS_NAME = "class name"
    CSS_SELECTOR = "css selector
    """

在这里插入图片描述
到Appium中找这几个参数(不同APP元素属性不同,这里举例)。
在这里插入图片描述

#  通过ID调用按钮点击
driver.find_element(by=By.ID, value='heartbeat:id/picture_iv').click()
# 通过class调用按钮点击。[0]是index的值。使用下标调用,element必须后面加s。
driver.find_elements(by=By.CLASS_NAME, value='android.widget.ImageView')[0].click()
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值