简单的介绍下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. spring 攻略

    1.5 指定Bean引用 为了Bean之间相互访问,在Bean配置文件中通过<ref>元素为Bean属性或构造程序参数指定Bean引用. <property name="p ...

  2. 超过两行显示省略号 -webkit-line-clamp、-webkit-box-orient vue打包后不起作用

    为了实现两行显示缩略显示,但是本地是可以显示,打包后不起作用 word-break: break-all; text-overflow: ellipsis; display: -webkit-box; ...

  3. vue-router路由器的使用

    一. vue-router路由 1.简介 1.为什么要用vue-router 使用Vue.js开发SPA(Single Page Application)单页面应用 2.什么是单页面应用 根据不同ur ...

  4. Codeforces Round #305 (Div. 2)

    C. Mike and Frog 题意:有一只青蛙和一朵花,分别高度为h1.h2,每浇一次水,h1=(x1*h1+y1)mod m,h2=(x2*h2+y2)mod m.求最少浇多少次后h1=a1,h ...

  5. Matplot相关(一)

    ——————————缩写定义—————————— import matplotlib.pyplot as plt import matplotlib as mpl ——————————函数解析———— ...

  6. xpath中遇到[<Element a at 0x39a9a80>](转)

    Element是什么 回归正题,大家晕头转脑的看完繁杂的语法之后,已经迫不及待写点什么东西了,然后部分同学可能遇到了这个 <Element a at 0x39a9a80>或者类似 Elem ...

  7. JavaScript:确认对话框

    <script type="text/javascript"> function Check() { if (window.confirm('您是否参与抽奖?')) { ...

  8. LightOJ - 1370 Bi-shoe and Phi-shoe (欧拉函数打表)

    题意:给N个数,求对每个数ai都满足最小的phi[x]>=ai的x之和. 分析:先预处理出每个数的欧拉函数值phi[x].对于每个数ai对应的最小x值,既可以二分逼近求出,也可以预处理打表求. ...

  9. python网络编程——IO多路复用之select

    1 IO多路复用的概念 原生socket客户端在与服务端建立连接时,即服务端调用accept方法时是阻塞的,同时服务端和客户端在收发数据(调用recv.send.sendall)时也是阻塞的.原生so ...

  10. Hbase1.2.4概述

    安装Hbase的时候,需要注意版本与Hadoop的版本兼容,具体查看:https://hbase.apache.org/book.html#basic.prerequisites 如下图: 我的Had ...