selenium+python自动化-元素定位】的更多相关文章

最近学习自动化测试,终于初步学习完成,需要进行博客日志总结,加深巩固自己的知识. 元素的八种定位方式 1.id 以百度为例子 我们在python输入的元素定位语法:bs.find_element_by_id('kw').send_keys('selenium  (必须包含id属性) 2.name 以百度为例 元素定位语法:(必须包含name属性的) 3.class_name 百度为例 元素定位语法:(必须包含class属性) 4.tag_name 元素定位语法:(必须是具有唯一标签才能定位) 5…
自动化只要掌握四步操作:获取元素,操作元素,获取返回结果,断言(返回结果与期望结果是否一致),最后自动出测试报告. 本篇主要讲几种基本的元素定位方法元素定位在这四个环节中是至关重要的,如果说按学习精力分配的话,元素定位占70%:操作元素10%,获取返回结果10%:断言10% 本人最常用的三个 通过id定位元素:find_element_by_id() 通过元素name值定位元素:find_element_by_name() 通过超链接定位元素:find_element_by_link_text(…
1. 辅助 Firepath Firefox是所有做前端的必不可少的浏览器因为firebug的页面元素显示很清晰.用selenium 去定位元素的时候Firefox还有一个非常友好的工具就是firepath.下载firepath,点击页面元素选择firepath选项,就会给出一种找到元素的路径. 可以选择的方式有xPath.sizzleJS.css三种方法. a.sizzle没有用过,由于过于麻烦还refactor过一个job改掉sizzle的定位方式. b.xPath肯定会找到这个元素且没有遇…
元素定位主要介绍如何使用uiautiomatorviewer,通过定位到页面上的元素,然后进行相应的点击等操作.uiautiomatorviewer是android-sdk自带的一个元素定位工具,非常简单好用,使用uiautomatorviewer,你可以检查一个应用的UI来查看应用的布局和组件以及相关的属性. 一.启动uiautomatorviewer.bat 1.打开目录D:\androidsdk\android-sdk-windows\tools 2.双击启动,启动之后出现如下界面: 3.…
前言 环境搭建好了,下一步元素定位,元素定位本篇主要介绍如何使用uiautomatorviewer,通过定位到页面上的元素,然后进行相应的点击等操作. uiautomatorviewer是android-sdk自带的一个元素定位工具,非常简单好用,使用uiautomatorviewer,你可以检查一个应用的UI来查看应用的布局和组件以及相关的属性. 一.启动uiautomatorviewer.bat 1.打开目录D:\androidsdk\android-sdk-windows\tools 14…
1.class属性有空格  (已验证) 当classname 中存在空格的时候,直接使用find_element_by_class_name时,会显示定位失败,此时,需要将classname中的空格替换成英文的点“.”,如下图: 此时如果使用 find_element_by_class_name("link detail"),则提示无法定位该元素 如果使用英文点替换,则可以正常定位 find_element_by_class_name("link.detail")…
前言 在UI自动化过程中,常遇到元素未找到,代码报错的情况.这种情况下,需要用等待wait. 在selenium中可以用到三种等待方式即sleep,implicitly_wait,WebDriverWait 一.固定等待(sleep) 导入time模块,设定固定的等待时间 缺点:在网络状态良好,元素可以加载出来的情况下,依然需要等待,会导致脚本允许时间延长.        二.隐式等待(implicitly_wait)        隐式等待是指页面元素在设定时间内全部加载完成,才能执行下一步.…
selenium对web各元素的操作首先就要先定位元素,定位元素的方法主要有以下几种:通过id定位元素:find_element_by_id("id_vaule")通过name定位元素:find_element_by_name("name_vaule")通过tag_name定位元素:find_element_by_tag_name("tag_name_vaule")通过class_name定位元素:find_element_by_class_na…
前言 在web页面中经常会遇到table表格,特别是后台操作页面比较常见.本篇详细讲解table表格如何定位. 一.认识table 1.首先看下table长什么样,如下图,这种网状表格的都是table 2.源码如下:(用txt文本保存,后缀改成html) <!DOCTYPE html><meta charset="UTF-8"> <!-- for HTML5 --><meta http-equiv="Content-Type"…
前言 文件下载时候会弹出一个下载选项框,这个弹框是定位不到的,有些元素注定定位不到也没关系,就当没有鼠标,我们可以通过键盘的快捷键完成操作. SendKeys库是专业的处理键盘事件的,所以这里需要用SendKeys解决 只支持python2环境 python3 的用 PyUserInput 看这篇 selenium+python自动化85-python3.6上SendKeys报错用PyUserInput取代 一.下载场景 1.当点到下载按钮时候,会弹出如下页面 2.如果想点“保存文件”按钮,解决…
前言 在web页面中经常会遇到table表格,特别是后台操作页面比较常见.本篇详细讲解table表格如何定位. 一.认识table 1.首先看下table长什么样,如下图,这种网状表格的都是table 2.源码如下:(用txt文本保存,后缀改成html) <!DOCTYPE html><meta charset="UTF-8"> <!-- for HTML5 --><meta http-equiv="Content-Type"…
Selenium2+python自动化65-js定位几种方法总结   前言 本篇总结了几种js常用的定位元素方法,并用js点击按钮,对input输入框输入文本 一.以下总结了5种js定位的方法 除了id是定位到的是单个element元素对象,其它的都是elements返回的是list对象 1.通过id获取 document.getElementById("id") 2.通过name获取 document.getElementsByName("Name") 返回的是l…
页面元素定位是自动化中最重要的事情, selenium Webdriver 提供了很多种元素定位的方法.  测试人员应该熟练掌握各种定位方法. 使用最简单,最稳定的定位方法. 自动化测试步骤 定位元素>操作元素>验证操作结果>记录测试结果 在自动化测试过程中, 测试程序通常的操作页面元素步骤 1. 找到Web的页面元素,并赋予到一个存储对象中 (WebElement) 2. 对存储页面元素的对象进行操作, 例如:点击链接,在输入框中输入字符等 3. 验证页面上的元素是否符合预期 定位方法…
Python  Appium  元素定位 常用的八种定位方法(与selenium通用) # id定位 driver.find_element_by_id() # name定位 driver.find_element_by_name() # xpath定位 driver.find_element_by_xpath() # class_name定位 driver.find_element_by_class_name() # css 定位 driver.find_element_by_css_sele…
前言 在web自动化下载操作时,有时候会弹出下载框,这种下载框不属于web的页面,是没办法去定位的(有些同学一说到点击,脑袋里面就是定位!定位!定位!) 有时候我们并不是非要去定位到这个按钮再去点击,学会使用键盘的快捷键操作,也能达到一样的效果. 之前讲过一篇Selenium2+python自动化75-非input文件上传(SendKeys)这个当时是基于python2写的. 最近很多小伙伴开始用python3了,这个SendKeys在python3上没法用,python3需要用PyUserIn…
Selenium自动化测试框架(二)之selenium使用和元素定位 (一)selenium的简单使用 1.导包 from selenium import webdriver 2.初始化浏览器 # 驱动在python环境中 browser = webdriver.Chrome() # 驱动不放在python环境中,添加executable_path关键字 browser = webdriver.Chrome(executable_path=r"D:\chromedriver.exe")…
自动化按步骤拆分的话,可以分为四步操作:定位元素,操作元素,获取返回结果,断言(返回结果与期望结果是否一致),最后自动出测试报告.本篇接下来讲基本的八种元素定位方法.说的通俗一点,就是教大家找对象. 万物皆对象,所谓的对象,就是你喜欢的那个女神,她就是你的对象.既然是对象,她就有属性,比如眼睛大,头发长,皮肤白,颜值高.这些都是她的属性,每个属性又有对应的属性值,如眼睛="大",头发="长",颜值="高",对应的=后面就是它的属性的值. 同样的道…
前言 首先 selenium 是可以定位到隐藏元素的,但是 selenium 不能跟隐藏元素交互,也就是隐藏元素element不能使用element.click()方法. 隐藏元素element.text 虽然不会报错,但获取到的文本是空值 隐藏元素定位 登录之后,获取个人中心的账号内容,在页面上没显示,f12能看到,很明显这是个隐藏元素style="display: none;" from selenium import webdriver import time # 作者-上海悠悠…
遇到了元素定位问题和定位到后无法执行点击操作等,闲话少说,直奔主题: 1.元素定位不到一般有如下3种情况,大家如果遇到了可以对号入座哈 a.查找的元素不在当前窗口中 解决方法:使用driver.switch_to.window()进行窗口的切换,一般在多个窗口时,使用切换到最后一个窗口就可以了 首先获取到当前所有的窗口 all_win = driver.window_handles 然后切换到最后一个窗口即可 driver.switch_to.window(all_win[-1]) 或 driv…
前言 在上一篇简单的介绍了用工具查看目标元素的xpath地址,工具查看比较死板,不够灵活,有时候直接复制粘贴会定位不到.这个时候就需要自己手动的去写xpath了,这一篇详细讲解xpath的一些语法. 什么是xpath呢? 官方介绍:XPath即为XML路径语言,它是一种用来确定XML1(标准通用标记语言3的子集)文档中某部分位置的语言.反正小编看这个介绍是云里雾里的,通俗一点讲就是通过元素的路径来查找到这个元素的,相当于通过定位一个对象的坐标,来找到这个对象. 一.xpath:属性定位 xpta…
网页自动化最基本的要求就是要定位到各个元素,然后才能对该元素进行各种操作(输入,点击,清除,提交等),所以笔者今天来总结下Selenuim+Python最基本的几种定位方式及实例说明,希望能帮助到大家. 另外:学习元素定位方法前,建议先前往http://www.w3school.com.cn/html/index.asp  学习html前端基础知识,这个更加有利于定位. 目录 1.通过id定位元素2.通过class_name定位元素3.通过tag_name定位元素4.通过name定位元素5.通过…
以下文章来自于  上海-悠悠的博客 <Selenium2+python自动化13-多窗口.句柄(handle)> 有些页面的链接打开后,会重新打开一个窗口,对于这种情况,想在新页面上操作,就得先切换窗口了.获取窗口的唯一标识用句柄表示,所以只需要切换句柄,我们就能在多个页面上灵活自如的操作了. 一.认识多窗口 1.打开赶集网:http://bj.ganji.com/,点击招聘求职按钮会发现右边多了一个窗口标签 2.我们用代码去执行点击的时候,发现界面上出现两个窗口,如下图这种情况就是多窗口了.…
关于昨天的文章 今天有朋友反馈,代码运行的时候,selenium提示警告 DeprecationWarning: use options instead of chrome_options driver = webdriver.Chrome(chrome_options=options) 本来以为是我的selenium版本太低了,可以上官网看到3.141.0是最新版本啊,最后把python从3.6.8升级到3.7.3才复现了此问题.虽然这个告警不影响使用,但既然官方提示了修改就看看呗,其实很简单…
Selenium WebDriver 只是 Python 的一个第三方框架, 和 Djangoweb 开发框架属于一个性质. webdriver 提供了八种元素定位方法,python语言中也有对应的方法, 序号 webdriver元素定位方法 python中对应方法 1 id find_element_by_id() 2 name find_element_by_name() 3 class name find_element_by_class_name() 4 tag name find_el…
上两篇的博文中介绍了python selenium的环境搭建和编写的第一个自动化测试脚本,从第二篇的例子中看出来再做UI级别的自动化测试的时候,有一个至关重要的因素,那就是元素的定位,只有从页面上找到这个元素,我们从能对这个元素进行操作,那么我们下来看看如何来定位元素. selenium 提供了8中元素定位的方法(大家要学习元素的定位,首先可以学习下前端的基础知识,这样有利于我们学习自动化测试,大家可以看一下:http://www.runoob.com/) find_element_by_id…
UI自动化工具千变万化.架构千变万化,但都逃离不开的关键一步就是元素定位.下面以Selenium为例介绍常见的几个元素定位方法 ID -元素id属性 WebElement El = driver.findElement(by.id(“id”)) name-元素name属性 WebElement El=driver.findElement(by.name(“name”)) className-元素class属性 WebElement El = driver.findElement(by.class…
前言 关于非input文件上传,点上传按钮后,这个弹出的windows的控件了,已经跳出三界之外了,不属于selenium的管辖范围(selenium不是万能的,只能操作web上元素).autoit工具处理windows的控件窗口是专业的,所以这个需借助AutoIt来解决了. 一.环境准备 1.可以autoit官网上下载,安装 http://www.autoitscript.com/site/ 2.下载到本地后傻瓜式安装,安装完之后在应用程序找到这个Autoit v3 3.AutoIt里面几个菜…
转至博客:上海-悠悠 前言 元素定位可以说是学自动化的小伙伴遇到的一道门槛,学会了定位也就打通了任督二脉,前面分享过selenium的18般武艺,再加上五种js的定位大法. 这些还不够的话,今天再分享一个定位神器jquery,简直逆天了! 一.jquery搜索元素 1.按F12进控制台 2.点全部按钮 3.右侧如果没出现输入框,就点下小箭头按钮 4.输入框输入jquery定位语法,如:$("#input1") 5.点运行按钮 6.左边会出现定位到的元素,如果有多个会以list列表的形式…
前言 关于非input文件上传,点上传按钮后,这个弹出的windows的控件了,已经跳出三界之外了,不属于selenium的管辖范围(selenium不是万能的,只能操作web上元素).autoit工具处理windows的控件窗口是专业的,所以这个需借助AutoIt来解决了. 一.环境准备 1.可以autoit官网上下载,安装 http://www.autoitscript.com/site/ 2.下载到本地后傻瓜式安装,安装完之后在应用程序找到这个Autoit v3 3.AutoIt里面几个菜…
前言 在上一篇简单的介绍了用工具查看目标元素的xpath地址,工具查看比较死板,不够灵活,有时候直接复制粘贴会定位不到.这个时候就需要自己手动的去写xpath了,这一篇详细讲解xpath的一些语法. 什么是xpath呢? 官方介绍:XPath即为XML路径语言,它是一种用来确定XML1(标准通用标记语言3的子集)文档中某部分位置的语言.反正小编看这个介绍是云里雾里的,通俗一点讲就是通过元素的路径来查找到这个元素的,相当于通过定位一个对象的坐标,来找到这个对象. 一.xpath:属性定位 xpta…