selenium python bindings 元素定位
1. 辅助 Firepath
Firefox是所有做前端的必不可少的浏览器因为firebug的页面元素显示很清晰。用selenium 去定位元素的时候Firefox还有一个非常友好的工具就是firepath。下载firepath,点击页面元素选择firepath选项,就会给出一种找到元素的路径。
可以选择的方式有xPath、sizzleJS、css三种方法。
a.sizzle没有用过,由于过于麻烦还refactor过一个job改掉sizzle的定位方式。
b.xPath肯定会找到这个元素且没有遇到重复的现象,但是这个路径可能会过长。
c.css则会因前端页面的写法不同而不一定能找到对应的。
所以这是个参考的方式,如果无明确的id或者class可以先用firepath 的xPath定位下然后化繁为简比较不容易出错。
定位的方式和写法很多,不一一都再举例子,参考下selenium python bindings的网站,然后找几个例子逆向推出如果能搞清楚对应的页面结构就完事儿了~给些示例供以后参考
2. xPath
textArea_script = driver.find_element_by_xpath("//div[@class='CodeMirror']/div/textarea")
textArea_script = driver.find_element_by_xpath("//*[@class='CodeMirror']/div/textarea")
textArea_script = driver.find_element_by_xpath("//textarea[contains(text(), 'text')]")
textArea_script = driver.find_element_by_xpath("//*[contains(text(), 'text')]")
这四种其实都能找到同一个元素
next = x("//input[@value = '下一步']")
edit_next = x("//input[@name = 'detail_subject_submit']")
3. class&id
最简单的定位方法,只需要知道class用. id用#的区别就可以了(依赖自己写的方法)~平常还是用find_element_by_class/id 就可以
login_form = driver.find_element_by_id('loginForm')
content = driver.find_element_by_class('content')
4. 其他
还有很多关于Link text或者tag等等的定位方法,使用频度较低,必须使用的时候再找官网例子即可~
selenium python bindings 元素定位的更多相关文章
- selenium+python自动化元素定位
最近学习自动化测试,终于初步学习完成,需要进行博客日志总结,加深巩固自己的知识. 元素的八种定位方式 1.id 以百度为例子 我们在python输入的元素定位语法:bs.find_element_by ...
- selenium+python自动化-元素定位
自动化只要掌握四步操作:获取元素,操作元素,获取返回结果,断言(返回结果与期望结果是否一致),最后自动出测试报告. 本篇主要讲几种基本的元素定位方法元素定位在这四个环节中是至关重要的,如果说按学习精力 ...
- selenium + python之元素定位
selenium对web各元素的操作首先就要先定位元素,定位元素的方法主要有以下几种:通过id定位元素:find_element_by_id("id_vaule")通过name定位 ...
- UI自动化(selenium+python)之元素定位的三种等待方式
前言 在UI自动化过程中,常遇到元素未找到,代码报错的情况.这种情况下,需要用等待wait. 在selenium中可以用到三种等待方式即sleep,implicitly_wait,WebDriverW ...
- Python Appium 元素定位方法简单介绍
Python Appium 元素定位 常用的八种定位方法(与selenium通用) # id定位 driver.find_element_by_id() # name定位 driver.find_ ...
- Python3-Selenium自动化测试框架(二)之selenium使用和元素定位
Selenium自动化测试框架(二)之selenium使用和元素定位 (一)selenium的简单使用 1.导包 from selenium import webdriver 2.初始化浏览器 # 驱 ...
- <译>Selenium Python Bindings 1 - Installation
Installation Introduction Selenium Python bindings 提供了一个简单的API来使用Selenium WebDriver编写使用功能/验收测试.通过Sel ...
- selenium+java二元素定位
页面元素定位是自动化中最重要的事情, selenium Webdriver 提供了很多种元素定位的方法. 测试人员应该熟练掌握各种定位方法. 使用最简单,最稳定的定位方法. 自动化测试步骤 定位元素 ...
- selenium自动化之元素定位方法
在使用selenium webdriver进行元素定位时,有8种基本元素定位方法(注意:并非只有8种,总共来说,有16种). 分别介绍如下: 1.name定位 (注意:必须确保name属性值在当前ht ...
随机推荐
- dell服务器 bios界面
正好遇上dell服务器,需要安装操作系统,也因此就简单记录一下遇到的一些小常识. 首先要进入dell服务器的服务器系统操作界面,一般在开机会有提示,时间足够反应,我遇到的是需要按 F9 进入操作界面, ...
- swiper缩略图active切换失灵的解决思路
报错信息:Cannot read property ‘indexOf’ of undefined swiper. 来源是swiper.min.js,首先检查自己写的js配置是否有误,没有就调试插件源代 ...
- C/C++ 无法解析的外部符号解决方案
{ //0 类的成员函数没有实现就调用 //1 调用没有编译生成cpp 的函数 //2 没有加载lib //3 最重要的就是有声明无实现 }
- Go 转义字符
Go 转义字符 package main import "fmt" func main() { fmt.Printf("Hello\tWorld!") } 本文 ...
- NOIp2018集训test-9-7(pm) (联考一day1)
又被辉神吊打了.今天不仅被辉神李巨吊打,还给基本上给全班垫底了. 看到T3就知道是十进制快速幂,全机房考试的当时应该就我会,结果我tm没找到递推. Orz lyc BM直接水过,Orz wys六个fo ...
- EnhanceFunc__增强函数集
想将经常用到的功能函数写在一起,花时间精心维护,然后以后就用起来就舒服很多了 目前就写了进程调试权限,远程线程注入,远程线程释放这三个函数.还有很多功能,以后慢慢加 // last code by g ...
- SPSS如何调用已建立的数据文件
SPSS如何调用已建立的数据文件 调用已建立的数据文件 SPSS可以调用SPSS(*.sav),Excel(*.xls),dBASE(*.dbf),ASCII(*.dat,*.txt)等数据文件. 2 ...
- Perl 数组应用详解(push, pop, shift, unshift)
Perl的数组操作有四大常用函数: push:从数组的末尾加入元素.pop :从数组的末尾取出元素 shift: 从数组的开头取出元素unshift:从数组的开头加入元素 1.push #!/usr/ ...
- Spark 调优之ShuffleManager、Shuffle
Shuffle 概述 影响Spark性能的大BOSS就是shuffle,因为该环节包含了大量的磁盘IO.序列化.网络数据传输等操作. 因此,如果要让作业的性能更上一层楼,就有必要对 shuffle 过 ...
- jquery操作html元素之(删除元素)
删除元素/内容 如需删除元素和内容,一般可使用以下两个 jQuery 方法: remove() - 删除被选元素(及其子元素) empty() - 从被选元素中删除子元素 jQuery remove( ...