selenium基础实战之定位网页元素技巧

selenium定位网页元素

find_element_by_id,find_element_by_name,find_element_by_class_name

1)、开启浏览器

browser = webdriver.Firefox();

2)、打开网页

browser.get("http://baidu.com")

使用python判断是否正确

browser.title 或者 browser.current_url

3)、定位元素的8种方法,(!!!!一定要唯一)

id: find_element_by_id() 采用id属性进行定位

name: find_element_by_name() 定位方式和id定位相似,id、name和class一般在网页都至少会有其中的一种

class name: find_element_by_class_name() 定位方式和id定位相似,id、name和class一般在网页都至少会有其中的一种

4)、定位到元素后的方法

clear() //清空

send_keys() // 输入

back()  //后退页面

maximize_window() // 最大化窗口

click()   //点击事件,点击按钮,超链接

submit() //提交表单

5)、定位到元素后的属性

tag_name  //标签名

text  //文本内容

selenium基础实战之定位网页元素技巧下集,

1)、tag name:find_element_by_tag_name() 通过标签名去定位,用的少,如find_element_by_tag_name("div")

2)、link text: find_element_by_link_text() 超链接内容定位,元素内容

如  <a href="#">xxx </a>,则find_element_by_link_text("xxx")

from time import sleep

sleep(5)

3)、partial link text:find_element_by_partial_link_text() 超链接内容定位,模糊匹配,和上面类似

selenium网页元素之CSS定位

使用css定位网页元素

1)、css selector:find_element_by_css_selector()

根据CSS属性定位,一般class是用.标记,id是用#标记,定位方式也会比xpath快

如 find_element_by_css_selector('input[id=\'search\']')   // 规则:  元素[属性=值]

技巧:通过firebug的拷贝css路径

路径:审查元素-》右键-》复制-》css选择器

selenium网页元素之xpath定位

使用xpath定位网页元素

1)、xpath语法:http://www.w3school.com.cn/xpath/xpath_syntax.asp

注意 :  ”//“ 是全部的意思,即全文扫描,  ”/“ 的相邻的意思, *是所有元素, ”..“是元素的父节点, "."是当前节点

2)、xpath :find_element_by_xpath()xpath是XML路径语言,通过元素的路径来完成对元素的查找,HTML就是XML的一种实现方式,在FriePath插件里copy对应的xpath地址

绝对路径定位:从<html>标签开始依次往下进行查找

相对路径:利用元素属性来进行xpath定位

技巧:通过firebug的拷贝css路径

8种选择器注意问题:如果定位元素报错,原因如下

1)、根据定位取不到

2)、多个元素根据下标超出范围,没有0,从1开始

解决办法:换其他方式定位元素

selenium3+python3自动化测试学习之网页元素定位的更多相关文章

  1. Selenium3 + Python3自动化测试系列二——selenium元素定位

    一.selenium元素定位 Selenium对网页的控制是基于各种前端元素的,在使用过程中,对于元素的定位是基础,只有准去抓取到对应元素 才能进行后续的自动化控制,我在这里将对selenium8种元 ...

  2. selenium3+python3自动化测试学习之模拟事件处理

    自动化测试实战之ActionChains模拟用户行为 需要模拟鼠标操作才能进行的情况,比如单击.双击.点击鼠标右键.拖拽 解决:selenium提供了一个类来处理这类事件 selenium.webdr ...

  3. 网页元素定位Position

     第九章: 网页元素定位Position position属性 static:默认值,没有定位 relative:相对定位 absolute:绝对定位 fixed:固定定位  (一般不用) stati ...

  4. Selenium3自动化测试【14】元素定位之ID

    元素定位 Selenium需要告知其如何去定位元素,来模拟用户动作.例如要操作Bing搜索页. 首先要找到搜索框与搜索按钮: 通过键盘输入检索的关键字: 用鼠标单击搜索按钮: 提交搜索请求. Sele ...

  5. 自动化测试基础篇--Selenium元素定位

    摘自https://www.cnblogs.com/sanzangTst/p/7457111.html 一.Selenium元素定位的重要性: Web自动化测试的操作:获取UI页面的元素,对元素进行操 ...

  6. 软件WEB自动化测试工具之智能元素定位

    江湖一直有着这么一句名言“天下武功,唯快不破".那么在软件测试领域,自然而然我们会想到软件自动化测试.软件自动化测试的实现自然离不开软件自动化测试工具.软件自动化测试工具是软件自动化的载体, ...

  7. python学习之——selenium元素定位

    web自动化测试按步骤拆分,可以分为四步操作:定位元素,操作元素,获取返回结果,断言(返回结果与期望结果是否一致),最后自动出测试报告. 其中定位元素尤为关键,此篇是使用webdriver通过页面各个 ...

  8. Appium学习笔记4_元素定位方法

    Appium之元素定位,如果对Android上如何使用工具获取页面元素有问题的,请转战到这:http://www.cnblogs.com/taoSir/p/4816382.html. 下面主要是针对自 ...

  9. Selenium3 + Python3自动化测试系列六——等待方式

    等待 一.等待是什么,为什么要等待 在做自动化测试,设计测试用例的时候,有时下一步的操作会依赖上一步的结果或者内容,上一步操作成功之后才能进行下一步操作等, 这时候,我们就需要使用等待,来判断上一步操 ...

随机推荐

  1. WPF 3D动态加载模型文件

    原文:WPF 3D动态加载模型文件 这篇文章需要读者对WPF 3D有一个基本了解,至少看过官方的MSDN例子. 一般来说关于WPF使用3D的例子,都是下面的流程: 1.美工用3DMAX做好模型,生成一 ...

  2. Android Training - 使用IntentService运行任务(Lesson 1 - 创建IntentService)

    写在http://hukai.me/blog/android-training-18-running-background-service-lesson-1/ 版权声明:本文博客原创文章,博客,未经同 ...

  3. Centos下一个server安装的版本号mysql

    首先这里说的是这里的路径.以及语句都是在网上看了非常多错误后自己实践后改动过来的,希望对大家实用. 这里在安装的时候要按着我的这个顺序.否则可能会由于路径错误而找不到对应的指令. 一.安装cmake ...

  4. 关于C#你应该知道的2000件事

    原文 关于C#你应该知道的2000件事 下面列出了迄今为止你应该了解的关于C#博客的2000件事的所有帖子. 帖子总数= 1,219 大会 #11 -检查IL使用程序Ildasm.exe d #179 ...

  5. Qt SQLite 批量插入优化(SQLite默认将每条语句看成单独的事务)good

    使用SQLite存储数据时发现插入速度太慢,程序跑了将近五分钟才插入了不到三千条.上网查资料才发现,SQLite这种文件数据库与MySql机制不一样,每条事务都有打开和关闭文件的步骤,SQLite默认 ...

  6. Spring Boot 专题

    Spring is a very popular Java-based framework for building web and enterprise applications. Unlike m ...

  7. 调用API函数减少c#内存占用(20+m减至1m以下)

    原文:调用API函数减少c#内存占用(20+m减至1m以下) c#虽然内置垃圾回收机制,但是并不能解决程序占用内存庞大的问题,如果我们仔细观察任务管理器,我们会发现一个程序如果最小化的时候,它所占用的 ...

  8. 图像滤镜艺术---(Lightleaks Filter)漏光滤镜

    原文:图像滤镜艺术---(Lightleaks Filter)漏光滤镜 (Lightleaks Filter)漏光滤镜 漏光拍摄其实就是一种摄影手法,最初是因为强烈光照导致相片交卷的过分曝光,最终在成 ...

  9. Win8 Metro(C#)数字图像处理--2.66FloodFill算法

    原文:Win8 Metro(C#)数字图像处理--2.66FloodFill算法  [函数名称]   洪水填充算法函数 WriteableBitmap FloodfillProcess(Write ...

  10. Win8 Metro(C#)数字图像处理--2.56简单统计法图像二值化

    原文:Win8 Metro(C#)数字图像处理--2.56简单统计法图像二值化  [函数名称] 简单统计法图像二值化 WriteableBitmap StatisticalThSegment(Wr ...