• Python Selenium 八大元素定位方法(上)


    今天我们来学习UI自动化中,最基本的八大元素定位方法。

    在面试过程中,针对UI自动化的部分,八大元素定位是避免不了的,所以很多同学在学习时,都是以八大元素定位作为入门导向。

    八大元素包括:

    • id
    • name
    • class_name
    • tag name
    • link text
    • partial link text
    • xpath
    • css selector

    首先以最简单的id元素定位为例,我们还是拿百度来举个栗子。

    练习一 八大元素定位

    以id元素定位为例

    在了解id之前,要学会查看前端源码,很简单,按F12就可以实现。

    在这里插入图片描述

    注意

    在使用selenium定位前,要下载对应浏览器的浏览器driver版本。

    下载地址:http://chromedriver.storage.googleapis.com/index.html

    若下载不正确,会由于电脑的Chrome浏览器的版本和chromedirver驱动的版本不一致而无法启动driver。

    1、首先导入webdriver驱动

    from selenium import webdriver
    
    • 1

    2、找到上述百度输入框的id属性后,开始写代码

    driver.find_element_by_id('kw').send_keys('python')
    
    • 1

    3、完整代码如下所示(有需要的可以保存)

    from selenium import webdriver
    import time
    
    # 打开chrome浏览器
    driver = webdriver.Chrome()
    # 打开百度搜索页面
    driver.get('https://www.baidu.com')
    # 通过id定位
    driver.find_element_by_id('kw').send_keys('python')
    # 强制等待2秒查看效果
    time.sleep(2)
    # 关闭浏览器
    driver.quit()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    练习二 八大元素定位

    以name元素定位为例

    1、使用F12,定位到name属性

    在这里插入图片描述
    2、找到上述百度输入框的name属性后,开始写代码

    driver.find_element_by_name('wd').send_keys('python')
    
    • 1

    3、完整代码如下所示(有需要的可以保存)

    from selenium import webdriver
    import time
    
    # 打开chrome浏览器
    driver = webdriver.Chrome()
    # 打开百度搜索页面
    driver.get('https://www.baidu.com')
    # 通过name定位
    driver.find_element_by_name('wd').send_keys('python')
    # 强制等待2秒查看效果
    time.sleep(2)
    # 关闭浏览器
    driver.quit()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    练习三 八大元素定位

    以class_name元素定位为例

    1、使用F12,定位到class_name属性
    在这里插入图片描述
    2、找到上述百度输入框的class_name属性后,开始写代码

    driver.find_element_by_class_name('s_ipt').send_keys('python')
    
    • 1

    3、完整代码如下所示(有需要的可以保存)

    from selenium import webdriverimport time# 打开chrome浏览器driver = webdriver.Chrome()# 打开百度搜索页面driver.get('https://www.baidu.com')# 通过class_name定位driver.find_element_by_class_name('s_ipt').send_keys('python')# 强制等待2秒查看效果time.sleep(2)# 关闭浏览器driver.quit()
    
    • 1

    注意

    id、name、class_name任意一个属性均可定位到元素,不需要重复写。

    喜欢软件测试的小伙伴们,如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一 键三连哦!
    在这里插入图片描述

  • 相关阅读:
    Electron 学习
    C++构造函数中不能使用多态
    php对字符串中的特殊符号进行过滤的方法
    云原生K8S------Yaml文件详解
    JAVA基础(四十九)——自定义泛型
    电脑硬件销售的设计与实现
    6.DesignForPlacement\PlaceHighlightedSymbols
    在基于ABP框架的前端项目Vue&Element项目中采用电子签名的处理
    【Shell脚本入门】
    基于android的 rk3399 同时支持多个USB摄像头
  • 原文地址:https://blog.csdn.net/wx17343624830/article/details/126851193