使用CSS选择器定位页面元素

css元素定位:通过元素的标签或者元素的id、class属性定位 大部分人在使用selenium定位元素时,用的是xpath元素定位方式,因为xpath元素定位方式基本能解决定位的需求。xpath元素定位方式更直观,更好理解一些。css元素定位方式往往被忽略掉了,其实css元素定位方式也有它的价值;相对于xpath元素定位方式来说, 阅读详情

  之前总结了使用ID,Name,Xpath等方式来定位页面元素,其实CSS选择器也是一个非常好用的定位元素的方法,甚至比Xpath强大。在自动化里我们用CSS选择器来定位页面元素一定要牢记一个准则:唯一定位,通常使用CSS选择器修改样式时会尽量多的选择元素,但是,在自动化里,必须要唯一定位到元素,否则自动化很可能因为找不到页面元素而失败。CSS选择器有很多,像标签选择器、类选择器、ID选择器、关系选择器、伪类选择器、分组选择器等等,但是只需要掌握常用的几种就可以满足定位元素的需求。

以下述HTML为例,总结下CSS选择器的用法:

<div id="menu" class="menu" title="menu">  
    <ul>  
        <li id="first" class="catagory book">  
            <a id="book"></a>  
        </li>  
        <li id="second" class="catagory food">  
            <a id="food"></a>  
        </li>  
        <li>  
            <a id="clothes"></a>  
        </li>  
        <li title="submenu">  
            <a id="furniture"></a>  
        </li>  
    </ul>  
    <a href="....">Welcome to Our Store</a>  
</div> 

1. 标签选择器

使用HTML标签来选择元素,例如: 

driver.findElement(By.cssSelector("li"));   //将选择所有li元素

driver.findElement(By.cssSelector("a")); //将选择所有a元素

2. 类选择器

使用类名来选择元素,使用方法:.class, 例如:

driver.findElement(By.cssSelector("div.menu")); //将选择class为menu的div元素driver.findElement(By.cssSelector(".catagory")); //将选择id为first的元素和id为second的元素,因为这两个元素的class里都含有catagory

3. ID选择器

使用ID来选择元素,使用方法:#id,例如:

driver.findElement(By.cssSelector("a#clothes")); //将选择id为clothes的a元素

也可以写成:

driver.findElement(By.cssSelector("#clothes")); //因为id是唯一的所以还是会选择id为clothes的a元素

3. 关系选择器

a.div,p 作用:选择所有div元素和p元素

b.div>p 作用:选择div的直接子元素中的所有p元素

c. div p   作用:选择div的后代元素中的所有p元素

4. 属性选择器

a. [title]   作用:选择所有具有title属性的元素

b. [title='menu']   作用:选择所有title属性值等于'menu'的元素

c. [title~='menu']   作用:选择所有title属性值包含menu的元素,注意:menu必须是一个word,

且有空格与其他单词分开

d. [title*='menu']   作用:选择所有title属性值包含menu的元素,注意:此时menu为substring,而不是word

e. [title|='menu']   作用:选择所有title属性值以menu开头或者等于menu的元素

f. [title^='menu']   作用:选择所有title属性值以menu开头的元素

g. [title$='menu']   作用:选择所有title属性值以menu结尾的元素

h. div[title='menu']   作用: 选择所有title属性值等于menu的div元素

4. 通用选择器

方法:*

例如: div ul *; //选择div ul 下的所有子元素,包括li和a元素

5. 伪类选择器

伪类选择器很多,只总结下用过的:nth-child(n)

例如:p:nth-child(2) 作用:选择作为第二孩子的p元素

CSS选择器定位页面元素 CSS选择器定位页面元素基本语法使用子字符串定位元素其他元素定位器1.运算符相关定位(元素E,F)2.更多灵活的选择器 与Xpath相比,CSS选择器具有很多的优势,CSS比Xpath更快,更简单。在IE中,Xpath的工作速度非常慢,而CSS的工作速度更快,因此在IE浏览器中我们大多选择使用CSS定位器定位元素,通过Xpath与CSS我们可以解决%99的页面元素定位问题 基本语法 一般语法:C... 阅读详情

相关推荐

Selenium WebDriver提供By.CSS_SELECTOR定位元素方法

`By.CSS_SELECTOR` 是 Selenium WebDriver 提供的一种定位元素的方法,它允许使用 CSS 选择器来定位页面上的元素。

book_dw5189的博客 7671

UI自动化测试 —— CSS元素定位实践!

自动化测试元素定位是指在自动化测试过程中,通过特定的方法或策略来准确识别和定位页面上的元素,以便对这些元素进行进一步的操作或断言。这些元素可以是文本框、按钮、链接、图片等HTML页面上的任何可见或不可见的组件。

2301_77709772的博客 744

python3自动化实践5之页面元素定位

css选择器定位页面元素(注意:css选择器定位元素的速度比xpath快)1.selenium通过css定位元素            选择器例子描述.class    .intro    选择class="intro"的所有元素#id    #firstname选择id="firstname"的所有元素**    选择所有元素element    p选择所有&lt;p&gt;元素element,...

lulin_0397的专栏 1216

【CSS】CSS定位元素

但这样有一个缺点,海报图对于一个网站上很重要的,应该用img标签实现。当一个定位元素的层级设置为负整数时,层级没有标准流的层级高。​ 元素按照标准流布局,所有元素的默认定位是static。方法1:利用background-position来进行。设置绝对定位元素的垂直水平居中。方法2:利用相对定位。

kakaai77的博客 2508

零基础玩转华为AP 4050DN-HD:FAT模式家庭无线网络配置实战

本文为零基础用户提供华为AP 4050DN-HD从FIT模式转换为FAT模式的完整实战教程。详细介绍了固件升级、模式转换以及配置家庭无线网络(包括路由、DHCP、Wi-Fi和NAT)的每一步操作,帮助用户将企业级瘦AP改造为高性能家庭胖AP,打造稳定可靠的家庭网络环境。

weixin_29196613的博客 630

从零构建AI辅助逆向分析环境:JADX-MCP与LLM的实战集成指南

本文详细介绍了如何从零构建AI辅助逆向分析环境,通过集成JADX-MCP与LLM技术,提升Android应用逆向工程效率。文章涵盖环境搭建、插件安装、MCP服务器配置及实战案例分析,帮助开发者快速掌握AI在代码理解、漏洞挖掘和自动化文档生成中的应用。

weixin_27875131的博客 839

Css选择器定位元素(超详细)

CSS选择器 是用来选择 HTML 元素的一种方式,它是 CSS 中非常重要的一部分。它使得我们可以基于元素的 id、class、类型、属性或其他特性来应用样式或用于爬虫定位。在自动化的上下文中,CSS选择器也可以用于定位和拟人操作。选择作为父元素的最后一个子元素。

liu__yyy的博客 4279

Conda环境创建报错?教你快速解决Solving environment: failed和ResolvePackageNotFound问题

本文深入解析Conda环境创建中常见的'Solving environment: failed'和'ResolvePackageNotFound'报错原因,并提供从基础到高级的系统化解决方案。涵盖渠道配置、版本通配、环境文件编辑等实用技巧,帮助开发者快速解决conda环境创建问题,提升工作效率。

weixin_28677451的博客 258

css样式元素的相对定位,绝对定位,固定定位等元素定位运用技巧详解

在CSS中关于定位的内容是:position:relative | absolute | static | fixed。static 没有特别的设定,遵循基本的定位规定,不能通过z-index进行层次分级。在文本流中,任何一个元素都被文本流所限制了自身的位置,但是通过CSS我们依然使得这些元素可以改变自己的位置,我们可以通过float来让元素浮动,我们也可以通过margin来让元素产生位置移动。

景天科技苑 4104

半导体制造中的通孔缺陷与冗余通孔技术解析

通孔(Via)是半导体制造中连接不同金属层的关键结构,其可靠性直接影响芯片良率。随着工艺节点演进至28nm及更先进制程,通孔缺陷导致的良率损失日益显著,主要表现为完全开路和高阻态两种失效模式。冗余通孔技术通过在关键位置增加备用连接,可有效提升芯片可靠性,其实现涉及物理冗余与电气冗余两种方案。该技术在7nm/5nm工艺中已证明可将通孔相关缺陷率降低10-100倍,但面临设计规则复杂性、规模处理效率和动态合规验证等工业化挑战。智能双切通孔插入流程通过动态DRC规则解析、奇偶层级并行处理和增量式验证等创新方法,显

weixin_35982453的博客 383

图像评价之计算PSNR、SSIM、MSE、LPIPS和NIQE评价指标

如果代码对你的研究有所帮助,请为该仓库点上小星星。

书山有路,学海无涯! 2646

如何使用 CSS 选择器定位页面元素

伪类用于选择特定状态的元素,如第一个子元素、最后一个子元素、第 n 个等。选择某元素内部的所有符合条件后代元素(不限于直接子元素)。选择父元素下的第 n 个子元素(n 从 1 开始)。选择紧接在另一元素后的元素(两者有相同父元素)。通过元素的属性及属性值定位,使用方括号。选择某元素后面所有符合条件的兄弟元素。选择所有指定 HTML 标签的元素。选择所有具有指定类名的元素,使用。选择具有指定 ID 的元素,使用。选择被选中的复选框或单选框。选择某元素的直接子元素。排除符合某选择器的元素。

m0_69861332的博客 837

【一看就会】Autoware.universe中静态绕障路线的生成逻辑

在路径行为规划中,前期根据地图和起点终点,生成了一组连续可行的路径段序列(lanelets),然后后续路径行为规划,又会进行起始点,终止点,避障绕障路径的路径规划,并且会调用route_handler中的函数,进行中心线生成,最后生成路径,后续再给速度行为规划进行速度规划。在autoware.universe的规划中,是基于规则的规划,而其中的规则又是为了解决不同场景的。而这些场景,大部分是为了解决路上障碍物(静态、动态、行人、车辆等等)。

weixin_48386130的博客 321

selenium教程 —— css定位

css定位说明、selenium中的css定位,实际是通过css选择器来定位到具体元素,css选择器来自于css语法 css定位优点 语法简洁 对比其他定位方式,定位效率更快 对比其他定位方式,定位更稳定 ​

测试界的彭于晏的博客 813

prometheus普罗米修斯集监控外部k8s

prometheus普罗米修斯集监控外部k8s

你是我一生的追求 2247

英伟达 Jetson AGX Thor 官方入门教程(二)CUDA、Docker、JetPack 设置

本文详细介绍了NVIDIA Jetson AGX Thor开发套件的安装与配置流程。主要内容包括:1) BSP安装的三种方法(Jetson ISO、SDK Manager和Linux刷写脚本)及其适用场景;2) Docker环境的完整配置步骤及测试方法;3) CUDA工具包的两种安装方式(容器化和原生安装)及其性能对比;4) JetPack SDK的安装选项。文章提供了详细的命令行操作指南和故障排除建议,帮助开发者快速搭建AI开发环境,充分发挥Jetson平台的硬件性能优势。

机器人控制与仿真应用 1733

scrapy中的css选择器

scrapy 中的css使用方法: ①response.css('a')返回的是selector对象, ②response.css('a').extract()返回的是a标签对象 ③response.css('a::text').extract_first()返回的是第一个a标签中文本的值 ④response.css('a::attr(href)').ex...

2187

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

b前端——CSS常用选择器性盒子Web前端

b前端——CSS常用选择器性盒子Web前端性盒子Web前端性盒子Web前端性盒子Web前端。

qq_25592087的博客 382

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

在selenium中使用css选择器进行元素定位

1.大家在使用selenium元素定位的时候,通常更多使用的是XPATH,css定位方式用得比较少   但有时候css定位方式还是有一些优势的,   优势1:一般情况下定位速度要比XPATH快   优势2:语法要比XPATH更简洁下面简要介绍一下css元素选择器的语法常见语法*通用元素选择器,匹配任何元素E标签选择器,匹配所有使用E标签的元素.infoclass选择器,匹配所有class属性中包含...

yy19890521的博客 2532

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

实操代码带你理解CSS中的常用选择器(你值得掌握!)

在CSS中,我们要给一个元素定义样式,首先得把这个元素选出来,我在网上看了很多文章,再结合老师所讲的精华部分将平时比较常用的选择器整理出来分享给大家,哈哈哈一起学习一起进步! 目录通配符选择器ID选择器类选择器标签选择器后代选择器子代选择器组合选择器伪类选择器(重点) 通配符选择器 (*) 表示选择所有的元素。 *{ margin: 0; padding: 0; } /*设置所有的HTML标签的外边距和内边距为0*/ ID选择器 (#ID) 给元素添加一个id属性,在样式

宝藏女孩的成长日记 2734

selenium中使用css选择器进行元素定位

大家在使用selenium元素定位的时候,通常更多使用的是XPATH,css定位方式用得比较少 但有时候css定位方式还是有一些优势的, 优势1:一般情况下定位速度要比XPATH快 优势2:语法要比XPATH更简洁 下面简要介绍一下css元素选择器的语法 常见语法 * 通用元素选择器,匹配任何元素 E 标签选择器,匹配所有使用

mao1059568684的专栏 1405

css复杂选择器

1.父子选择器/派生选择器 不一定非要标签,用其他也能代替 &lt;div&gt; &lt;strong&gt; &lt;em&gt;123&lt;/em&gt; &lt;/strong&gt; &lt;/div&gt; &lt;em&gt;234&lt;/em&gt; div strong em { background-color

Mr.Sun 的博客 891

CSS 选择器

可以将CSS选择器分为五类:

m0_60508194的博客 1956

Selenium定位页面元素的方法

一、Selenium定位页面元素的方法 selenium提供如下强大的定位元素的方法。 * id=id * name=name * dom=javascriptExpression * xpath=xpathExpression * link=textPattern * css=cssSelectorSyntax 1、通过ID,name选择元素 : 如selenium.type("

雅月小筑 1万+
上一篇: 一些好用的查询页面元素的小工具
下一篇: Sikuli Slides简介及安装
鲨鲨脆
博客等级 码龄11年 2粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值