• 1.通过类class获取

比如如下代码

  1.     <h1 class="important">
  2.     This heading is very important.
  3.     </h1>
  4.     <p class="important">
  5.     This paragraph is very important.
  6.     </p>
  7.     <p class="important warning">
  8.     This paragraph is a very important warning.
  9.     </p>

在上面的代码中,两个元素的 class 都指定为 important:第一个标题( h1 元素),第二个段落(p 元素)
1> 获取class值为important的h1标签

find_element_by_css_selector(h1.importane)
2>获取所有class值为important的标签

find_element_by_css_selector(*.importane)或者find_element_by_css_selector(.importane)
3>获取class值为important warning的标签

find_element_by_css_selector(.importane.warning)

  • 2.通过id获取:

  1. 首先,ID 选择器前面有一个 # 号 - 也称为棋盘号或井号
  1. <p id="intro">This is a paragraph of introduction.</p>

find_element_by_css_selector(#"intro")

  • 3.属性选择器:

1>.

  1. <a title="W3School Home" href="http://w3school.com.cn">W3School</a>

属性中包含了title和href,

find_element_by_css_selector('a[title][href]')

2>

  1. <a href="http://www.w3school.com.cn/about_us.asp">About W3School</a>

定位属性中href="http://www.w3school.com.cn/about_us.asp"的元素,

find_element_by_css_selector('a[href="http://www.w3school.com.cn/about_us.asp"]')

3>

  1. <a href="http://www.w3school.com.cn/" title="W3School">W3School</a>

通过href和title来定位

find_element_by_css_selector("a[href='http://www.w3school.com.cn/about_us.asp'][title='W3School']")

  1. 4>部分属性定位
  1. <h1>可以应用样式:</h1>
  2. <img title="Figure 1" src="/i/figure-1.gif" />
  3. <img title="Figure 2" src="/i/figure-2.gif" />
  4.  
  5. <hr />
  6.  
  7. <h1>无法应用样式:</h1>
  8. <img src="/i/figure-1.gif" />
  9. <img src="/i/figure-2.gif" />

定位title中包含有figure的元素:

find_element_by_css_selector("image[title~='figure']")

  1. 5>其他
    [abc^="def"] 选择 abc 属性值以 "def" 开头的所有元素
    [abc$="def"] 选择 abc 属性值以 "def" 结尾的所有元素
    [abc*="def"] 选择 abc 属性值中包含子串 "def" 的所有元素
  • 4.后代选择器

  1. <h1>This is a <em>important</em> heading</h1>
  2. <p>This is a <em>important</em> paragraph.</p>

find_element_by_css_selector("h1 em")

selenium+python find_element_by_css_selector方法使用的更多相关文章

  1. Selenium+Python常见定位方法

    参见官网:http://selenium-python.readthedocs.io/locating-elements.html 有多种策略来定位页面中的元素.你可以使用最适合你的情况.Seleni ...

  2. selenium+python自动化测试

    F12: 右键   选择复制  path 在selenium+python自动化测试(一)–环境搭建中,运行了一个测试脚本,脚本内容如下: from selenium import webdriver ...

  3. selenium + python自动化测试unittest框架学习(五)webdriver的二次封装

    因为webdriver的api方法很长,再加上大多数的定位方式是以xpath方式定位,更加让代码看起来超级长,为了使整体的代码看起来整洁,对webdriver进行封装,学习资料来源于虫师的<se ...

  4. selenium+python+unittest实现自动化测试(入门篇)

    本文主要讲解关于selenium自动化测试框架的入门知识点,教大家如何搭建selenium自动化测试环境,如何用selenium+python+unittest实现web页面的自动化测试,先来看看se ...

  5. selenium + python 自动化测试环境搭建

    selenium + python 自动化测试 —— 环境搭建 关于 selenium Selenium 是一个用于Web应用程序测试的工具.Selenium测试直接运行在浏览器中,就像真正的用户在操 ...

  6. <译>Selenium Python Bindings 5 - Waits

    如今,大多数的Web应用程序使用AJAX技术.当页面加载到浏览器,页面中的元素也许在不同的时间间隔内加载.这使得元素很难定位,如果在DOM中的元素没有呈现,它将抛出ElementNotVisibleE ...

  7. <译>Selenium Python Bindings 2 - Getting Started

    Simple Usage如果你已经安装了Selenium Python,你可以通过Python这样使用: #coding=gbk ''' Created on 2014年5月6日 @author: u ...

  8. <译>Selenium Python Bindings 1 - Installation

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

  9. selenium python 第一个脚本

    为什么选择python?我的回答很简单,简单易学,功能强大! 下面看看python和selenium 2的结合是什么样子吧 一.第一个selenium python脚本: #coding = utf- ...

随机推荐

  1. 安卓弹出对话框——Alertdialog

    在Android开发当中,在界面上弹出一个Dialog对话框使我们经常需要做的,本篇随笔将详细的讲解Dialog对话框这个概念,包括定义不同样式的对话框. 一.Dialog 我们首先来看看androi ...

  2. (转)MySql开启远程连接权限

    命令行登陆: mysql -u root -p 不行的话可以从MySql.exe进入,找到Mysql根目录中路径类似:"MySQL\bin\mysql.exe",这样: D:\We ...

  3. Java为什么只能单继承?

    就是因为C++里多重继承功能强大但是容易出错,Java才给取消掉了.如果,A和B都继承于C,再写个D继承A和B.那么C里面有个方法,A和B继承过去后都进行了覆盖,那么D到底是该继承A里面的版本呢还是B ...

  4. QTREE3 spoj 2798. Query on a tree again! 树链剖分+线段树

    Query on a tree again! 给出一棵树,树节点的颜色初始时为白色,有两种操作: 0.把节点x的颜色置反(黑变白,白变黑). 1.询问节点1到节点x的路径上第一个黑色节点的编号. 分析 ...

  5. 转:视频压缩的基本概念(x264解压包)

    第1页:前言——视频压缩无处不在H.264 或者说 MPEG-4 AVC 是目前使用最广泛的高清视频编码标准,和上一代 MPEG-2.h.263/MPEG-4 Part4 相比,它的压缩率大为提高,例 ...

  6. oc中的分类/协议/属性

    1.分类:当我们想给某个类加一些方法时,如果不想通过继承这个类来实现,可以通过分类给这个类加一些行为,这个过程与继承相比更加轻量化. @interface NSString (SubClass) -( ...

  7. P1707 刷题比赛

    P1707 刷题比赛 10通过 38提交 题目提供者nodgd 标签倍增递推矩阵洛谷原创 难度提高+/省选- 提交该题 讨论 题解 记录 最新讨论 不科学 题目背景 nodgd是一个喜欢写程序的同学, ...

  8. 【PHP基础】常用mySQL语句以及WampServer2.2设置数据库默认编码

    一.WampServer2.2设置数据库默认编码(此部分转自http://www.cnsecer.com/5984.html) wamp下MySQL的默认编码是Latin1,不支持中文,要支持中文的话 ...

  9. 浅谈.NET Micro Framework性能优化 转自 软件中国

    .NET Micro Framework的可剪裁性,高定执行,和天生对硬件高集成度都让它的前途一片光明.当然,它现在还很年轻,就发布的SDK v3.0来看,它还有很长的路要走. 废话不说,就这几个月我 ...

  10. JAVA环境变量JAVA_HOME、CLASSPATH、PATH设置详解

    Windows下JAVA用到的环境变量主要有3个,JAVA_HOME.CLASSPATH.PATH.下面逐个分析. JAVA_HOME 指向的是JDK的安装路径,如C:\jdk1.5.0_06,在这路 ...