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 元素定位的更多相关文章

  1. selenium+python自动化元素定位

    最近学习自动化测试,终于初步学习完成,需要进行博客日志总结,加深巩固自己的知识. 元素的八种定位方式 1.id 以百度为例子 我们在python输入的元素定位语法:bs.find_element_by ...

  2. selenium+python自动化-元素定位

    自动化只要掌握四步操作:获取元素,操作元素,获取返回结果,断言(返回结果与期望结果是否一致),最后自动出测试报告. 本篇主要讲几种基本的元素定位方法元素定位在这四个环节中是至关重要的,如果说按学习精力 ...

  3. selenium + python之元素定位

    selenium对web各元素的操作首先就要先定位元素,定位元素的方法主要有以下几种:通过id定位元素:find_element_by_id("id_vaule")通过name定位 ...

  4. UI自动化(selenium+python)之元素定位的三种等待方式

    前言 在UI自动化过程中,常遇到元素未找到,代码报错的情况.这种情况下,需要用等待wait. 在selenium中可以用到三种等待方式即sleep,implicitly_wait,WebDriverW ...

  5. Python Appium 元素定位方法简单介绍

    Python  Appium  元素定位 常用的八种定位方法(与selenium通用) # id定位 driver.find_element_by_id() # name定位 driver.find_ ...

  6. Python3-Selenium自动化测试框架(二)之selenium使用和元素定位

    Selenium自动化测试框架(二)之selenium使用和元素定位 (一)selenium的简单使用 1.导包 from selenium import webdriver 2.初始化浏览器 # 驱 ...

  7. <译>Selenium Python Bindings 1 - Installation

    Installation Introduction Selenium Python bindings 提供了一个简单的API来使用Selenium WebDriver编写使用功能/验收测试.通过Sel ...

  8. selenium+java二元素定位

    页面元素定位是自动化中最重要的事情, selenium Webdriver 提供了很多种元素定位的方法.  测试人员应该熟练掌握各种定位方法. 使用最简单,最稳定的定位方法. 自动化测试步骤 定位元素 ...

  9. selenium自动化之元素定位方法

    在使用selenium webdriver进行元素定位时,有8种基本元素定位方法(注意:并非只有8种,总共来说,有16种). 分别介绍如下: 1.name定位 (注意:必须确保name属性值在当前ht ...

随机推荐

  1. Ubuntu Server 19配置静态IP

    这个/etc/netplan下默认有个文件50-cloud-init.yaml,直接修改它就行了 sudo vim /etc/netplan/50-cloud-init.yaml 网口名字ens33可 ...

  2. Redis缓存数据库简单介绍

    \ 1.什么是redis redis是一种基于内存的高性能键值型数据库(key-value),属于NoSQL,和 Memcached 类似: 从内存读取速度为110000次/s,写入内存速度为8100 ...

  3. DELPHI读取网页源文件和获取字符串

    说到网页采集,通常大家以为到网上偷数据,然后把到收集到的数据挂到自己网上去.其实也可以将采集到的数据做为公司的参考,或把收集的数据跟自己公司的业务做对比等.目前网页采集多为3P代码为多(3P即ASP. ...

  4. Cstring转char、string、int等数据类型的方法(转载)

    Cstring转char.string.int等数据类型的方法 (-- ::) 转载 标签: 杂谈 分类: VC CString 转char * CString cstr; char *p = (LP ...

  5. (转)poi操作Excel, 各种具体操作和解释

    原文地址http://hi.baidu.com/j_changhong/item/981fa58d05fa755926ebd96b注原文是3.6 此文是3.9 java读取excel文件的顺序是: E ...

  6. Async_Study

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  7. IntelliJ IDEA 创建的文件自动生成 Author 注释 签名

    IntelliJ IDEA 创建的文件自动生成 Author 注释 签名1.打开 File --> Setting2.找到 Editor --> File and Code Templat ...

  8. 夏令营501-511NOIP训练18——高二学堂

    传送门:QAQQAQ 题意:给你一个数$n$,把它拆分成至多$k$个正整数,使得这些数的和等于$n$且每一个正整数的个数不能超过$4$ 拆分的顺序是无序的,但取出每一个数方案是不同的(例如我要拆$1$ ...

  9. AtCoder ABC 127F Absolute Minima

    题目链接:https://atcoder.jp/contests/abc127/tasks/abc127_f 题目大意 初始状态下$f(x) = 0$,现在有 2 种模式的询问,第一种以“1 a b” ...

  10. sklearn中回归器性能评估方法

    explained_variance_score() mean_absolute_error() mean_squared_error() r2_score() 以上四个函数的相同点: 这些函数都有一 ...