Python+Selenium+Unittest 之selenium7--元素定位6-CSS定位1(定位所有、定位class、定位id、tag定位)

目录

一、CSS简介

二、 定位方式

三、实践操作

1、*(定位所有元素)

 2、. (定位class属性)

 3、#(定位id属性)

4、tag定位


一、CSS简介

        CSS属于是一种计算机语言,主要是用来为结构化文档的外观来进行修饰的,比如说文档的颜色、字体之类的,一般情况下CSS的定位速度要快于XPath的。

二、 定位方式

        CSS和XPath的定位方式类似,可以通过CSS的一些语法,去匹配class、id等元素进行定位。

表达式含义

*

定位所有元素
.定位class属性
#定位id属性
tag_name定位tag_name
A元素>B元素定位绝对路径(相当于xpath的/)
A元素 B元素(中间用空格隔开)定位相对路径(相当于XPath的//)
tag:nth-child(n)定位第n个标签,且第n个标签必须为tag

tag:first-child

定位第1个标签,且第1个标签必须为tag
tag:last-child定位最后1个标签,且最后1个标签必须为tag

三、实践操作

1、*(定位所有元素)

  使用"*"号可以定位到页面的所有元素。

CSS中"*"的具体语法:

find_element_by_css_selector("*")

from selenium import webdriver #导入selenium模块的webdriver
driver = webdriver.Chrome()     #webdriver.Chrome()是启动谷歌浏览器然后定义成变量driver
driver.get("https://www.baidu.com")   #打开百度浏览器
test = driver.find_element_by_css_selector("*")    #定位页面的所有元素
print(test.text)     #输出定位到的所有text内容

 打印结果为:

新闻hao123地图贴吧视频图片网盘更多
设置登录
高考上百度,智能报志愿换一换
禁绝毒品 常抓不懈
3“千万工程”一张蓝图绘到底
1胡锡进自称正式进入中国股市
热
4被家长持长杆追打 男孩从5楼跳下
2男孩估分700结果真考700分
热
5经纪人回应张雪峰被强制送医
热

 2、. (定位class属性)

        在css定位中,如果要匹配class的属性,就需要在class属性前加上"."去进行定位。

CSS中"."的具体语法:

find_element_by_css_selector(".class")

from selenium import webdriver #导入selenium模块的webdriver
driver = webdriver.Chrome()     #webdriver.Chrome()是启动谷歌浏览器然后定义成变量driver
driver.get("https://www.baidu.com")   #打开百度浏览器
driver.find_element_by_css_selector('.s_ipt').send_keys('放假安排')   #定位到输入框,然后输入框输入 放假安排

 3、#(定位id属性)

         和使用class定位方式一样,只不过就是把"."+class换成了"#"+id。

CSS中"#"的具体语法:

find_element_by_css_selector("#id")

from selenium import webdriver #导入selenium模块的webdriver
driver = webdriver.Chrome()     #webdriver.Chrome()是启动谷歌浏览器然后定义成变量driver
driver.get("https://www.baidu.com")   #打开百度浏览器
driver.find_element_by_css_selector('#kw').send_keys('放假安排')   #定位到输入框,然后输入框输入 放假安排

4、tag定位

        tag定位的方法是直接在()里输入要定位的tag标签即可,因为页面没有唯一的tag元素,所以这里就简单举个例子,可能运行不成功。

 CSS中tag定位的具体语法:

find_element_by_css_selector("tag标签")

from selenium import webdriver #导入selenium模块的webdriver
driver = webdriver.Chrome()     #webdriver.Chrome()是启动谷歌浏览器然后定义成变量driver
driver.get("https://www.baidu.com")   #打开百度浏览器
driver.find_element_by_css_selector('input').send_keys('放假安排')   #定位到输入框,然后输入框输入 放假安排

    这篇先说CSS的这四种定位方式,下一篇说剩下的几种定位方式。


 下图为公众号二维码,内容会同步发出,大家可以关注一起学习!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/46760.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

河西学院计算机爱好者协会,计算机爱好者协会举行换届大会

原标题:计算机爱好者协会举行换届大会 Computer Enthusiast Association 计算机爱好者协会举行换届大会 ♡ ♡ ♡ 2021年6月18日晚上19:30,计算机爱好者协会全体会议暨换届大会,在第三教学楼303教室举行,计算机爱好者协…

Python生成观后感,小学生的作业有救了?

同一个中国,同一个网课。 3月9日,全国大学生共同上了一堂疫情防控思政大课,这可能是中国参与人数最多的一次网课了。 据统计,参加此次网课的学生数量高达4000万,大量的涌入一度让直播平台陷入瘫痪。 看完网课之后&…

罗振宇讲的非常好

本来想写篇别的,关于逻辑的文章,啰啰嗦嗦发现内容太长,一时半会写不完,耽误接广告了咋办。干脆写一篇吐槽文得了,吐槽文访问量又高,转发又多,增粉又多,还省时间。 前两天朋友圈和微博…

[转载] 胡锡进:5000亿买一包爆米花 我不想让我的国家这样

转载来源: https://zj.zjol.com.cn/news.html?id1117150 2019-01-13 13:17 | 环球时报微信公号 这是我听过最动情的演讲。 从不参加任何综艺的《环球时报》总编辑胡锡进,为《最强辩手》节目贡献出了他自己的综艺“处女秀”。 在满是争论的网络江湖里&#xff0c…

搜狐号第三届创作者大会落幕:胡锡进管清友谭飞雷建平论道

来源:搜狐号 4月13日,「用心叙述生活」搜狐号第三届创作者大会成功在京举办。大会邀请了胡锡进、谭飞、管清友、雷建平、吕白等多位优质内容创作者。嘉宾们以个人演讲、圆桌论坛等多种方式在大会上分享他们对行业及创作的理解和看法。 大会伊始&#xff…

贪心---抽卡游戏

微众某道笔试题。。贪心算法。排个序就行 public class Main{public static void main(String[] args){Scanner sc new Scanner(System.in);while(sc.hasNext()){int cards sc.nextInt(); //卡片总数ArrayList<Entry> list new ArrayList<>();for(i…

概率性抽卡模拟器v2.0(GUI实现)

图好玩也是为了检测自己最近所学内容,将以前的程序进行GUI实现 概率模拟部分 package XIangmu;import java.util.Random;public class He_Xin {public static String Gai_lv(){Random r new Random();int x r.nextInt(1000);if(x<12){return "SSR";}else if(x…

如何构建卡牌游戏

本文节选翻译自Nicholas Kinstler的文章《Building a Home: How to Construct a Card Game》如何构建卡牌游戏每个游戏都应该有扎实的文档和生产计划所支撑&#xff0c;纸牌游戏(Card Game)也不例外。下面将介绍创建或扩展纸牌游戏的基本开发过程。并解释纸牌游戏的文件与填写方…

H - 卡牌游戏(简单期望)

Description 小贝喜欢玩卡牌游戏。某个游戏体系中共有N种卡牌&#xff0c;其中M种是稀有的。小贝每次和电脑对决获胜之后都会有一个抽卡机会&#xff0c;这时系统会随机从N种卡中选择一张给小贝。普通卡可能多次出现&#xff0c;而稀有卡牌不会被重复抽到。小贝希望收集到K种稀…

Oracle中表被锁住及解锁方法

在新项目中&#xff0c;有个新同事写的service&#xff0c;其中要对数据库进行update或者insert的操作时&#xff0c;他并 没有对该方法添加Transactional(readOnly false),此时插入数据保存的时候&#xff0c;就会出现表被锁住&#xff0c;因此需要解锁&#xff0c;其中还需要…

Oracle 用户或表被锁原因

Oracle 用户或表被锁原因 首先你要知道任何DML语句都会对表加锁。 你要先查一下是那个会话那个sql锁住了表&#xff0c;有可能这是正常业务需求&#xff0c;不建议随便KILL session&#xff0c;如果这个锁表是正常业务你把session kill掉了会影响业务的。锁表原因可能是修改了…

巴比特 | 元宇宙每日必读:万字长文梳理世界主要国家AI大模型发展现状,中美日韩等国各自的进展如何?有着怎样的发展特点?...

摘要&#xff1a;据「自象限」报道&#xff0c;在ChatGPT掀起的AI大模型浪潮中&#xff0c; 大家主要关注的还是中美两国的进展。在此之外&#xff0c;世界其他国家和地区如何看待AI大模型&#xff0c;在发展大模型上又进展如何&#xff0c;不同国家和地区的AI大模型发展呈现出…

周鸿祎表示千亿级大模型是成本浪费;张勇首谈专职阿里云;腾讯云首次完整披露自研星脉高性能计算网络丨每日大事件...

‍ ‍数据智能产业创新服务媒体 ——聚焦数智 改变商业 企业动态 润和软件&#xff1a;计划将于近期发布AI中枢平台公测版本 6月26日&#xff0c;润和软件在互动平台表示&#xff0c;公司在AI中枢平台及相关内测产品的相关工作正常有序推进中&#xff0c;计划将于近期发布AI中…

LLaMA2可商用|GPT-4变笨|【2023-0723】【第七期】

一、大咖观点&#xff1a; 傅盛&#xff1a;ChatGPT时代如何创业 - BOTAI - 博客园Google 已经被OpenAI 超越了吗&#xff1f;| AlphaGo 之父深度访谈《人民日报》&#xff1a;大模型的竞争&#xff0c;是国家科技战略的竞争WAIC 2023 | 张俊林&#xff1a;大语言模型带来的交…

ChatGLM2-6B 初体验

昨天介绍了中国自己的开源大模型 ChatGLM2-6B 推出升级的二代版本后&#xff0c;见&#xff1a;性能提升571%&#xff0c;32K超长上下文&#xff0c;推理速度提升42%&#xff0c;允许商用&#xff0c;国产开源大模型推出了二代 ChatGLM2-6B&#xff0c;就申请了体验账号&#x…

用AI写出的高考作文!

今天是6月7日&#xff0c;又到了每一年高考的日子。小灰自己参加高考是在2004年&#xff0c;距离现在已经将近20年&#xff0c;现在回想起来&#xff0c;真的是恍如隔世。 今天高考语文的作文题是什么呢&#xff1f; 全国甲卷的题目是&#xff1a;人技术时间 人们因技术发展得以…

Matplotlib可视化预测双色球

步骤 1.获得数据 2.清洗保存数据 3.读取数据并可视化 4.得出结论 首先&#xff0c;简单说下国民彩票双色球的规则&#xff1a;选6位数字作为红球和1位数字作为篮球组成一注彩票&#xff0c;红球的区间是1~33&#xff0c;蓝球的区间是1 ~ 16。篮球红球与开奖号码相同的个数决定…

简单的双色球预测

背景&#xff1a;双色球是中国福利彩票的一种玩法&#xff08;注意不是体彩哦&#xff0c;哈哈&#xff09;。由中国福利彩票管理中心统一组织发行。双色球的中奖规则是红色球33选六&#xff0c;蓝色球16选一&#xff08;奖金具体有多少钱就不多述了&#xff09;。 1、分析这个…

双色球彩票预测可视化(python)

前言 嗯&#xff0c;先说说这个项目我用到的框架吧。。。 首先用到了自动化爬虫框架selenium,用来爬取数据&#xff0c;网址   由于主要想看看每期开奖号码&#xff0c;所以可视化就简单一点matplotlib折线图就可以了。   好的一切准备就绪&#xff0c;开搞。 源代码如下&…

双色球机器人博客博客,双色球预测程序算法

如何利用人工智能AI计算彩票&#xff1f;人工智能真的可以计算彩票吗&#xff1f; 如何利用人工智能AI计算彩票&#xff1f;人工智能真的可以计算彩票吗&#xff1f; 实际这个问题没有想像中的那么复杂&#xff0c;把问题梳理一下就明白了&#xff0c;实际别管什么人工智能&a…