Web自动化定位方法以及常用便捷操作
很遗憾现在才开始给大家逐步分享自动化教程,原本计划着将现有的接口以及app、pc网页端进行自动化处理后再逐步给大家好好分享一下,由于当前实在没必要自动化操作了,所以临时用脑海中的知识再为大家继续更一篇吧,这个章节主要介绍web自动化的一些最基本的东西吧,那就是定位方法
1、所需工具:python + selenium
selenium库大家应该会比较熟悉的,因为现在网上有很多介绍,有专门学习过爬虫的朋友当然更比较熟悉,python前面有教大家如何安装的以及如何导入selenium库以及后面导入别的库都有介绍的,不太清楚的可以去前面查找一下
2、使用python打开浏览器操作(遇到报错前面章节有介绍如何给浏览器装插件)
from selenium import webdriver
from time import sleep
driver= webdriver.Chrome() #实例化谷歌浏览器,即打开浏览器
driver.get("https://www.baidu.com/") #使用百度浏览器打开网页
3、定位方式方法的介绍
#(1)可以通过元素 id 进行定位
# driver.find_element_by_id('wd').send_keys('爱学习') #方法一—定位百度——元素id来定位页面的输入框并输入爱学习
# driver.find_element_by_id('su').click() #点击百度一下
#(2)通过文本信息
# driver.find_element_by_link_text('贴吧').click() #方法二——点击百度页面上的贴吧
#(3)通过部分文本信息
# driver.find_element_by_partial_link_text('贴').click() #方法三——通过部分文本信息定位页面的相关信息——并点击
#(4)通过标签信息定位
#driver.find_element_by_class_name('贴吧').click() #方法四——通过标签信息定位页面的相关信息——并点击
#(5)通过name定位
# driver.find_element_by_name('wd').send_keys('爱学习') #方法五—定位百度——元素id来定位页面的输入框并输入爱学习
#(6)通过class定位
# driver.find_element_by_class_name('s_ipt').send_keys('爱学习') #方法六—定位百度——元素id来定位页面的输入框并输入爱学习
# driver.find_element_by_class_name('s_btn').click() #点击百度一下,注意class名属性不能有空格
#(7)通过xpath定位
# driver.find_element_by_xpath('//input[@name="wd"]').send_keys('爱学习') #通过相对路径查找元素位置
# driver.find_element_by_xpath('//*[@id="wd"]').send_keys('爱学习')
# driver.find_element_by_xpath(‘/html/body/div[1]/div[2]/div[5]/div/div/form/span[1]/input’).send_keys('爱学习') #通过绝对路径查找元素位置
#(8)通过css定位
#模糊查询;以什么开头
# driver.find_element_by_css_selector("input[name^='w']").send_keys('爱学习')
# driver.find_element_by_css_selector("input#su").click() #input标签中id属性以s开头的
#模糊查询;以什么结尾
# driver.find_element_by_css_selector("input[name$='q']").send_keys('爱学习') #input标签中name属性
# driver.find_element_by_css_selector("input#su").click() #input标签中id属性以s开头的
重点来喽,那么多定位方式在我们实际运用过程当中,运用xpath是非常多的,为了防止后期优化变化较大,我们往往运用的也就是通过相对路径(属性值)的方式去进行定位
Web自动化定位方法以及常用便捷操作的更多相关文章
- Selenium Web元素定位方法
Selenium是用于Web应用测试的自动化测试框架,可以实现跨浏览器和跨平台的Web自动化测试.Selenium通过使用WebDriver API来控制web浏览器,每个浏览器都都有一个特定的Web ...
- 【python+selenium的web自动化】- 元素的常用操作详解(一)
如果想从头学起selenium,可以去看看这个系列的文章哦! https://www.cnblogs.com/miki-peng/category/1942527.html 本篇主要内容:1.元素 ...
- android和IOS自动化定位方法
元素定位 方法:id定位,name定位(text定位),class_name定位, accessibility_id定位,xpath定位等 (目前1.5版本的已经不支持name定位了),所以APP的定 ...
- selenium自动化定位方法
用selenium操作浏览器进行自动化操作其实就是通过元素属性执行相关操作.所以,我们要知道怎样去查找元素,定位元素. 常见的定位属性有: #查找元素的id find_elements_by_id(i ...
- 【python+selenium的web自动化】- 元素的常用操作详解(二)
如果想从头学起selenium,可以去看看这个系列的文章哦! https://www.cnblogs.com/miki-peng/category/1942527.html 本篇主要内容:1.鼠标 ...
- 【WEB自动化】【第一节】【Xpath和CSS元素定位】
目前自动化测试开始投入WEB测试,使用RF及其selenium库,模拟对WEB页面进行操作,此过程中首先面对的问题就是对WEB页面元素的定位,几乎所有的关键字都需要传入特定的WEB页面元素,因此掌握常 ...
- webdriver对象定位方法
webdriver提供了一系列的对象定位方法,常用的有以下几种 · id · name · class name · link text · partial link text · tag name ...
- Python3 Selenium自动化web测试 ==> 第二节 页面元素的定位方法 <上>
前置步骤: 上一篇的Python单元测试框架unittest,我认为相当于功能测试测试用例设计中的用例模板,在自动化用例的设计过程中,可以封装一个模板,在新建用例的时候,把需要测试的步骤添加上去即可: ...
- Selenium3+python自动化007-Selenium常用定位方法
自动化测试只要掌握四步操作:获取元素,操作元素,获取返回结果,断言(返回结果与期望结果是否一致),最后自动出测试报告.元素定位在这四个环节中是至关重要的,如果说按学习精力分配的话,元素定位占70%:操 ...
随机推荐
- 爬虫---scrapy分布式和增量式
分布式 概念: 需要搭建一个分布式的机群, 然后在每一台电脑中执行同一组程序, 让其对某一网站的数据进行联合分布爬取. 原生的scrapy框架不能实现分布式的原因 调度器不能被共享, 管道也不能被共享 ...
- C++---继承和派生
继承和派生 在C++中, 代码重用是通过继承机制来实现的 继承, 就是在一个已经存在的类的基础上, 再建议一个新类 从已经有的类派生出新的类, 派生类就继承了基类的特征, 包括成员和方法 继承可以完成 ...
- 【二进制枚举】【CF Div2 C】
2022.3.4 https://codeforces.com/contest/1646/problem/C 题意: 给一个数, 问可以最少有几个以下的数构成: 1.x! 2.2^x(x在每次都是任 ...
- 安全开发运维必备,如何进行Nginx代理Web服务器性能优化与安全加固配置,看这篇指南就够了
本章目录 1.引言 1.1 目的 1.2 目标范围 1.3 读者对象 2.参考说明 2.1 帮助参考 2.2 参数说明 3.3 模块说明 3.服务优化 3.1 系统内核 3.2 编译优化 3.3 性能 ...
- 『现学现忘』Git基础 — 14、Git基础操作的总结与补充
目录 1.Git本地版本库结构 2.Git常用操作方法 3.补充:添加多个文件到暂存区 4.补充:提交操作未写备注 5.补充:从工作区直接提交到版本库 1.Git本地版本库结构 如下图所示: 工作区( ...
- ps、top命令查找不到进程的解决方案
netstat -anpt发现一个奇怪的连接,但是ps和top命令确查不到此进程,这很可能是因为因为ps和top命令被替换了导致这些进程被过滤掉了.因此我这里有个脚本专门查找出来隐藏的进程 #!/us ...
- XCTF练习题---WEB---xff_referer
XCTF练习题---WEB---xff_referer flag:cyberpeace{9626408a4b37eab65854d8ccd22f671c} 解题步骤: 1.观察题目,打开场景 2.注意 ...
- jQuery与JavaScript与Ajax三者的区别与联系
简单总结: 1.JS是一门 前端语言. 2.Ajax是一门 技术,它提供了异步更新的机制,使用客户端与服务器间交换数据而非整个页面文档,实现页面的局部更新. 3.jQuery是一个 框架,它对JS进行 ...
- [AcWing 778] 字符串最大跨距
点击查看代码 #include<iostream> using namespace std; string s, s1, s2; int main() { char c; while (c ...
- iptables系列教程(二)| iptables语法规则
一个执着于技术的公众号 iptables 命令基本语法 " iptables [-t table] command [链名] [条件匹配] [-j 目标动作] 以下是对 iptables 命 ...