selenium学习笔记(xpath和css定位)
简单的介绍下xpath和css的定位
理论知识就不罗列了
还是利用博客园的首页、直接附上代码:
这个是xpath
- #!/usr/bin/env python
- # -*- coding: utf_8 -*-
- from learn_webdriver import Webdriver
- from selenium import webdriver
- from selenium.webdriver.common.action_chains import ActionChains
- from time import sleep
- browser_chrome = webdriver.Chrome(Webdriver.chrome())
- browser_chrome.get("http://www.cnblogs.com/")
- sleep(2)
- ActionChains(browser_chrome).move_to_element(browser_chrome.find_element_by_xpath(".//li[@id='cate_item_2']")).perform()
- # 鼠标悬停在左侧“编程语言”导航栏上
- browser_chrome.find_element_by_xpath(".//a[@href='/cate/python/']").click()
- sleep(2)
- browser_chrome.quit()
XPath 是一门在 XML 文档中查找信息的语言
使用的是函数是 find_element_by_xpath
这里总结了xpath的表达式:
表达式 |
说明 |
案例 |
节点名称 |
选取节点下所有子节点 |
body body下所有子节点 |
/ |
从根节点选取 |
body/div body下所有div节点 |
// |
匹配选择节点 不考虑位置 |
//div 不考虑位置的div节点 |
. |
当前节点 |
|
.. |
当前节点的父节点 |
|
@ |
选取属性 |
.//li[@id='cate_item_2'] li节点 且属性id=cate_item_2 |
下面是css
- #!/usr/bin/env python
- # -*- coding: utf_8 -*-
- from learn_webdriver import Webdriver
- from selenium import webdriver
- from selenium.webdriver.common.action_chains import ActionChains
- from time import sleep
- browser_chrome = webdriver.Chrome(Webdriver.chrome())
- browser_chrome.get("http://www.cnblogs.com/")
- sleep(2)
- ActionChains(browser_chrome).move_to_element(browser_chrome.find_element_by_css_selector("li[id = 'cate_item_2']")).perform()
- # 鼠标悬停在左侧“编程语言”导航栏上
- browser_chrome.find_element_by_css_selector("a[href = '/cate/python/").click()
- sleep(2)
- browser_chrome.quit()
css更加灵活一些
css使用的函数是 find_element_by_css_selector
selenium学习笔记(xpath和css定位)的更多相关文章
- No.9 selenium学习之路之CSS定位
CSS定位方式: 元素中间加“.”表示是class 1.通过ID定位 driver.find_element_by_css_selector("#ID值") 2.通过class定位 ...
- Selenium自动化中DOM,XPATH,CSS定位Web页面对象的优劣性分析
加速IE浏览器自动化执行效率:Selenium自动化中DOM,XPATH,CSS定位Web页面对象的优劣性分析 1.技术背景 在Web应用中,用户通过键盘在输入框中输入值和鼠标点击按钮,链 ...
- 【selenium学习笔记一】python + selenium定位页面元素的办法。
1.什么是Selenium,为什么web测试,大家都用它? Selenium设计初衷就是为web项目的验收测试再开发.内核使用的是javaScript语言编写,几乎支持所以能运行javaScript的 ...
- python + selenium 学习笔记 -摘要
一.浏览器操作相关 from selenium import webdriver driver = webdriver.Chrome() driver.maximize_window() # 窗口最大 ...
- python 学习笔记十二 CSS基础(进阶篇)
1.CSS 简介 CSS 指层叠样式表 (Cascading Style Sheets) 样式定义如何显示 HTML 元素 样式通常存储在样式表中 把样式添加到 HTML 4.0 中,是为了解决内容与 ...
- Selenium 学习笔记(一)
selenium 学习整理 初学者,如果有不当得地方请指出,非常感谢. 准备事项: 1. Python 安装包 安装Python,并勾选添加环境变量. 安装完成后,打开dos窗口,输入python,看 ...
- CSS学习总结3:CSS定位
CSS 定位机制 CSS 有三种基本的定位机制:普通流.浮动和绝对定位. 一.普通流 除非专门指定,否则所有框都在普通流中定位.普通流中元素框的位置由元素在(X)HTML中的位置决定.块级元素从上到下 ...
- selenium自学笔记---下拉框定位元素select
下拉框1.先定位select 然后在定位option city = driver.find_element_by_id("selCities_0") city.find_eleme ...
- [Selenium With C#学习笔记] Lesson-02 Web元素定位
使用Selenium来做自动化测试,一般的流程是:查找定位元素--->操作元素--->断言,那么第一步我们需要能够完成查找并定位元素,Selenium目前提供了8种基本定位方法,可根据实际 ...
随机推荐
- 使用NSKeyedArichiver进行归档、NSKeyedUnarchiver进行解档
一.使用archiveRootObject进行简单的归档 使用NSKeyedArichiver进行归档.NSKeyedUnarchiver进行接档,这种方式会在写入.读出数据之前对数据进行序列化.反序 ...
- 翻页bug 在接口文档中应规范参数的取值区间
<?php$a=array("red","green","blue","yellow","brown&q ...
- Spring Data HelloWorld(三)
在 Spring Data 环境搭建(二) 的基础之上 我们改动 http://www.cnblogs.com/fzng/p/7253068.html 定义个一个接口 继承Repository类 ...
- 2015-03-12——简析DOM2级样式
CSSStyleSheet对象 表示某种类型的样式表CSSStyleRule对象 样式表中的每条规则 获得文档中的所有样式表document.styleSheets CSSStyleSheet对象 ...
- 【转】HTTP缓存机制
前言 Http 缓存机制作为 web 性能优化的重要手段,对于从事 Web 开发的同学们来说,应该是知识体系库中的一个基础环节,同时对于有志成为前端架构师的同学来说是必备的知识技能.但是对于很多前端同 ...
- 解锁Opera浏览器新姿势:【Surf The Internet In Right Ways】
下载Opera浏览器 官网下载:https://www.opera.com/zh-cn 更改PC系统区域 我的本子是win10,其他系统未测. 进入: 设置 → 区域和语言 将国家或地区设置为:中国台 ...
- Android---55---Web Service概述
Web Service 是什么? /*w3school*/ Web Services 是应用程序组件 Web Services 使用开放协议进行通信 Web Services 是独立的(self-co ...
- [动态规划]UVA10285 - Longest Run on a Snowboard
Problem C Longest Run on a Snowboard Input: standard input Output: standard output Time Limit: 5 sec ...
- HDU1506: Largest Rectangle in a Histogram(最大子矩阵,好题动态优化左右边界)
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1506 刚开始没考虑时间复杂度,直接敲了,直接tle了,之后没有思路,然后看题解,看见大神写的优化非常棒. ...
- Grunt JS构建环境搭建以及使用入门
Grunt JS构建环境搭建以及使用入门 1.应用场景 一种自动化任务处理工具,对于日常的需求(代码规则检查.代码合并)可以实现自动化执行,只需要保留package.json和Gruntfile.js ...