简单的介绍下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定位)的更多相关文章

  1. No.9 selenium学习之路之CSS定位

    CSS定位方式: 元素中间加“.”表示是class 1.通过ID定位 driver.find_element_by_css_selector("#ID值") 2.通过class定位 ...

  2. Selenium自动化中DOM,XPATH,CSS定位Web页面对象的优劣性分析

    加速IE浏览器自动化执行效率:Selenium自动化中DOM,XPATH,CSS定位Web页面对象的优劣性分析 1.技术背景       在Web应用中,用户通过键盘在输入框中输入值和鼠标点击按钮,链 ...

  3. 【selenium学习笔记一】python + selenium定位页面元素的办法。

    1.什么是Selenium,为什么web测试,大家都用它? Selenium设计初衷就是为web项目的验收测试再开发.内核使用的是javaScript语言编写,几乎支持所以能运行javaScript的 ...

  4. python + selenium 学习笔记 -摘要

    一.浏览器操作相关 from selenium import webdriver driver = webdriver.Chrome() driver.maximize_window() # 窗口最大 ...

  5. python 学习笔记十二 CSS基础(进阶篇)

    1.CSS 简介 CSS 指层叠样式表 (Cascading Style Sheets) 样式定义如何显示 HTML 元素 样式通常存储在样式表中 把样式添加到 HTML 4.0 中,是为了解决内容与 ...

  6. Selenium 学习笔记(一)

    selenium 学习整理 初学者,如果有不当得地方请指出,非常感谢. 准备事项: 1. Python 安装包 安装Python,并勾选添加环境变量. 安装完成后,打开dos窗口,输入python,看 ...

  7. CSS学习总结3:CSS定位

    CSS 定位机制 CSS 有三种基本的定位机制:普通流.浮动和绝对定位. 一.普通流 除非专门指定,否则所有框都在普通流中定位.普通流中元素框的位置由元素在(X)HTML中的位置决定.块级元素从上到下 ...

  8. selenium自学笔记---下拉框定位元素select

    下拉框1.先定位select 然后在定位option city = driver.find_element_by_id("selCities_0") city.find_eleme ...

  9. [Selenium With C#学习笔记] Lesson-02 Web元素定位

    使用Selenium来做自动化测试,一般的流程是:查找定位元素--->操作元素--->断言,那么第一步我们需要能够完成查找并定位元素,Selenium目前提供了8种基本定位方法,可根据实际 ...

随机推荐

  1. python list中append()与extend()用法

    列表是以类的形式实现的.“创建”列表实际上是将一个类实例化.因此,列表有多种方法可以操作. 1. 列表可包含任何数据类型的元素,单个列表中的元素无须全为同一类型. 2. append() 方法向列表的 ...

  2. django使用celery实现异步操作

    需求: django支持的http请求都是同步的,对于需要耗时较长的操作可能会导致阻塞.为此我们需要引入异步处理机制,即收到客户端请求后立即给予响应,具体任务交给另一个进程处理. 使用方法: 1. 安 ...

  3. NYOJ 119 士兵杀敌(三)(RMQ算法)

    採用的的是小牛的写法,蒟蒻第一次写.. RMQ (Range Minimum/Maximum Query)问题是指:对于长度为n的数列A,回答若干询问RMQ(A,i,j)(i,j<=n).返回数 ...

  4. exp导出一个表中符合查询条件的数据

    原文地址:exp导出一个表中符合查询条件的数据 作者:charsi 导出一个表中的部分数据,使用QUERY参数,如下导出select * from test where object_id>50 ...

  5. Kotlin 初级读本

    第一部分——快速上手第一章·启程 第二章·基本语法第三章·Kotlin 与 Java 混编 第二部分——开始学习 Kotlin第四章·Kotlin 的类特性(上)第四章·Kotlin 的类特性(下)第 ...

  6. android学习四---Activity和Intent

    1.android项目资源深入了解 在深入学习android之前,先好好玩玩手机上的应用,大部分程序都有一个图标,点开图标,程序启动,一定时间后,程序会跳转到第一个界面,比如手机QQ,点开图标,会跳出 ...

  7. Oracle Shared Pool 原理

    Oracle Shared Pool 原理 由于shared pool中最重要的是library cache,所以本文主要讲解Library cache的结构,library cache latch, ...

  8. DOM实例

    同一种功能两种方法: <script type='text/javascript'> <!-- var tag = document.creatElement("a&quo ...

  9. s5_day5作业

    # 1.写函数,用户传入修改的文件名,与要修改的内容,执行函数,完成批量修改操作 # def number_file(file,change_s,change): # import os # with ...

  10. [翻译]Feedback on the Go Challenge solutions

    第一次Go Challenge比赛,中国区只有3人参赛. 赛后收到邮件,是一个审阅者的反馈,“Feedback on the Go Challenge solutions”,摘录如下: 保持简单粗暴 ...