专栏首页python 自动化测试Selenium-02-常用元素定位

Selenium-02-常用元素定位

常用8种的元素定位

  • id ---->find_element_by_id()
  • class name ---->find_element_by_name()
  • class ---->find_element_by_class_name()
  • tag---->find_element_by_tag_name()
  • link ---->find_element_by_link_text()
  • partial link ---->find_element_by_partial_link_text()
  • xpath---->find_element_by_xpath
  • css ---->find_element_by_css_selector()

测试实例

这里以Chrome浏览器百度为例:

1.根据id ---->find_element_by_id()定位

  1. 这里id对应的元素为kw,send_keys为键盘输入'Cypress端到端'。
  2. find_element_by_id('kw')
  3. find_element_by_id('su')

2.根据class name ---->find_element_by_name()

  1. 这里name对应的元素为wd
  2. find_element_by_name('wd')

3.根据class ---->find_element_by_class_name()

  1. 这里class 对应的为's_ipt'
  2. find_element_by_class_name('s_ipt')

4.根据tag---->find_element_by_tag_name()

  1. 这里tag对应的标签为input
  2. find_element_by_tag_name('input')

5.根据link ---->find_element_by_link_text()

  1. 这里link对应的标签为如下图
  2. find_element_by_link_text('新闻')

6.根据partial link ---->find_element_by_partial_link_text()

  1. 这里partial link对应的标签为如下图
  2. find_element_by_partial_link_text('新')

7.根据xpath---->find_element_by_xpath()

  1. 这里xpath对应
  2. find_element_by_xpath('//*[@id="kw"]')

8.根据css ---->find_element_by_css_selector()

  1. 这里css对应#kw
  2. find_element_by_css_selector('#kw')
"""
 * Create by dell on 2020/9/23
 * Author :wencheng
 * 微信公众 :自动化测试 To share

"""
from selenium import webdriver


class run_case(object):
    def __init__(self):
        self.C_driver = webdriver.Chrome()

    def run_baidu(self):
        self.C_driver.get("http://www.baidu.com")
        # 常用定位方式
        self.C_driver.find_element_by_id('kd').send_keys("Cypress端到端")
        self.C_driver.find_element_by_name('wd').send_keys("Cypress端到端")
        self.C_driver.find_element_by_class_name('s_ipt').send_keys("Cypress端到端")
        self.C_driver.find_element_by_tag_name('input').send_keys("Cypress端到端")
        self.C_driver.find_element_by_xpath('//*[@id="kw"]').send_keys("Cypress端到端")
        self.C_driver.find_element_by_css_selector('#kw').send_keys("Cypress端到端")
        self.C_driver.find_element_by_id('su').click()

        self.C_driver.find_element_by_link_text('新闻').click()
        self.C_driver.find_element_by_partial_link_text('新').click()



if __name__ == '__main__':
    run_case().run_baidu()

总结:selenium的webdriver提供了八种基本的元素定位方法,前面六种是通过元素的属性来直接定位的,后面的xpath和css定位更加灵活。以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家的支持。更多文章关注小编公众号:自动化测试 To share

本文分享自微信公众号 - 自动化测试 To share(gh_92d7607a3e04),作者:wencheng

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-09-23

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • python的安装

    因为 Python 是跨平台的,它可以运行在 Windows、Mac 和各种 Linux/Unix 系统上。目前,Python 有两个版本,一个是 2.x 版,...

    wencheng
  • Python Faker随机生成测试数据(干货)

    Faker是一个Python软件包,可为您生成伪造数据。无论您是需要引导数据库,创建美观的XML文档,填充持久性以进行压力测试还是匿名化来自生产服务的数据,Fa...

    wencheng
  • Cypress 可操作事件

    针对<input>类型的输入框(radio button) 或者复选框(check box)Cypree提供了check和uncheck方法直接操作。语法如下:

    wencheng
  • python selenium2 常用方法

    完整路径 C:\Python27\Lib\site-packages\selenium\webdriver\remote\webdrive...

    苦叶子
  • Selenium Webdriver 3.X源码分析之定位方式和键盘定义

    > Selenium Webdriver 3.X源码分析系列第8篇,该系列原则上会将整个源码分享一遍

    苦叶子
  • 使用selenium自动化操作浏览器

    selenium是一个浏览器自动测试工具,通过驱动程序来自动化操作对应的浏览器,包括了打开浏览器窗口,定位元素,点击按钮,上传文件等操作,支持以下多款主流浏览器

    生信修炼手册
  • selenium初探selenium初探

    selenium初探 selenium简介与安装 简介 selenium是一个网站的自动化测试库,但由于其具有大量的自动化库而且可以调用浏览器,常常被用于爬虫技...

    月见樽
  • 手把手教你用Selenium爬取拉勾网数据!

    大家好,在之前我们讲解过很多基于requests+bs4的爬虫,现在换个口味,本文将基于Selenium讲解如何爬取并使用openpyxl存储拉勾网招聘数据。

    刘早起
  • Python爬虫 selenium自动化 利用搜狗搜索爬取微信公众号文章信息

    下面以在搜狗里搜索 网易云热评墙 为例,爬取得到的全部文章信息(包括标题、日期、链接),并保存到Excel,使用Selenium来实现。

    叶庭云
  • python爬虫 senlenium爬取拉勾网招聘数据

    用selenium爬虫实现,输入任意关键字,比如 python 数据分析,点击搜索,得到的有关岗位信息,爬取下来保存到Excel。

    叶庭云

扫码关注云+社区

领取腾讯云代金券