ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

111

2022-06-23 00:31:50  阅读:155  来源: 互联网

标签:定位 name text id link 111 find


元素定位

目标

1. 了解元素各种定位方法
2. 掌握id、name、class_name、tag_name、link_text、partial_link_text定位的使用

1. 为什么要学习元素定位方式?

1. 让程序操作指定元素,就必须先找到此元素;
2. 程序不像人类用眼睛直接定位到元素;
3. WebDriver提供了八种定位元素方式

2. WebDriver 元素定位方式

1. id
2. name
3. class_name
4. tag_name
5. link_text
6. partial_link_text

定位方式分类-汇总:

1). id、name、class_name:为元素属性定位
2). tag_name:为元素标签名称
3). link_text、partial_link_text:为超链接定位(a标签)
4). Xpath:为元素路径定位
5). Css:为CSS选择器定位

案例-1 注册页面

1. 为了更好的学习这八种方式和网络的关系,我们在案例-1注册页面上来练习自动化脚本设计,提高学习效率和
   脚本执行速率
2. 语言使用Python
3. 开发工具使用Pycharm
4. selenium使用2.48.0

2.1 id定位

实现案例-1需求:
    1). 打开注册A.html页面,使用id定位,自动填写(账号A:admin、密码A:123456)
    2). 填写完毕后,3秒钟关闭浏览器窗口

实现方法:

find_element_by_if()

实现

from selenium import webdriver
from time import sleep
driver=webdriver.Firefox()
url='E:\\测试\\课件\\Web自动化\\Web自动化课件\\02img\\注册A.html'
driver.get(url)
user=driver.find_element_by_id("userA")
user.send_keys("admin")
pwd=driver.find_element_by_id("passwordA")
pwd.send_keys("123456")
sleep(3)
driver.quit()

2.2 name属性定位

实现案例-1需求: 1). 打开注册A.html页面,使用id定位,自动填写(账号A:admin、密码A:123456) 2). 填写完毕后,3秒钟关闭浏览器窗口

实现方法

find_element_by_name

2.3 class_name 定位

实现案例-1需求:
    通过class_name定位电话号码A,并发送18611111111

实现方法

find_element_by_class_name()

2.4 tag_name 定位

实现案例-1需求:
    1). 打开注册A.html页面,使用tag_name定位,自动填写(账号A:admin)
    2). 填写完毕后,3秒钟关闭浏览器窗口

实现方法

find_element_by_tag_name() 返回:符合条件的第一个标签

2.5 link_text定位

说明: 专门定位超链接文本(标签), 全部匹配

实现案例-1需求:
    1). 打开注册A.html页面,使用link_text定位(访问 新浪 网站)超链接
    2). 3秒钟关闭浏览器窗口

实现方法

find_element_by_link_text()

2.6 partial_link_text

说明: partial_link_text定位是对link_text定位的补充,partial_like_text为模糊匹配;

实现案例-1需求:
    1). 打开注册A.html页面,使用partial_link_text定位(访问 新浪 网站)超链接
    2). 3秒钟关闭浏览器窗口

实现方法

find_element_by_partial_link_text()

3. 获取元素列表

获取元素列表

作用:
    1). 查找定位所有符合条件的元素
    2). 返回的定位元素格式为数组(列表)格式;
说明:
    1). 列表数据格式的读取需要指定下标(下标从0开始)

使用说明

和获取单个元素find_element_by_xxx 的使用方法一样. 例如:

说明:使用tag_name获取第二个元素(密码框)

代码:
    ...
    driver.find_elements_by_tag_name("input")[1].send_keys("123456")
    ...

思考?

1. 在实际项目中标签没有id、name、class属性改如何定位?
2. id、name、class属性值为动态获取,随着刷新或加载而变化,改如何定位

标签:定位,name,text,id,link,111,find
来源: https://www.cnblogs.com/kxtomato/p/16403745.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有