selenium学习----CSS selector
CSS Selector选择web页面的元素
CSS是用来对web页面进行渲染的,因此必然涉及到web页面上某一元素的选择,比如页面某些内容显示效果,可以讲 CSS Selector 语法 天生就是浏览器用来选择元素的,selenium自然就可以使用它用在自动化中,去选择要操作的元素了。
最简单的方法是在浏览器中按F12, 选择想选择的内容,右键复制CSS_SELECTOR
选择单个元素的方法:
find_element(By.CSS_SELECTOR, CSS Selector参数)
选择多个元素的方法:返回一个列表
find_elements(By.CSS_SELECTOR, CSS Selector参数)
选择方法和之前通过ID,CLASS_NAME,TAG_NAME 是一样的
CSS_SELECTOR方法选择class:在1处那加个‘.’
#CSS_SELECTOR 选择class属性:在前面加上一个‘.’
element = wd.find_element(By.CSS_SELECTOR, '.nav-search-input' ) #----1
element.send_keys('考研\n')elements = wd.find_elements(By.CSS_SELECTOR, '.channel-link')
for element in elements:print(element.get_attribute('href'))
wd.quit()
CSS_SELECTOR方法选择ID:在前面加个‘#’
from selenium import webdriver
from selenium.webdriver.common.by import By#创建一个webdriver对象
wd = webdriver.Chrome()
wd.implicitly_wait(10)wd.get('https://www.bing.com')#使用CSS_SELECTOR根据ID选择元素:在前面加个‘#’
element = wd.find_element(By.CSS_SELECTOR, '#sb_form_q')
element.send_keys('matepad11\n')
CSS_SELECTOR方法选择TAG名:直接在‘’中输入tag标签名字
elements = wd.find_elements(By.CSS_SELECTOR, 'div')
<a href="http://www.miitbeian.gov.cn">苏ICP备88885574号</a>
css 选择器支持通过任何属性来选择元素,语法是用一个方括号 []
。
比如要选择上面的a元素,就可以使用 [href="http://www.miitbeian.gov.cn"]
。
这个表达式的意思是,选择 属性href值为 http://www.miitbeian.gov.cn
的元素。
要选择a节点,里面的href属性包含了 miitbeian 字符串,就可以这样写
a[href*="miitbeian"]
要选择a节点,里面的href属性以 http 开头 ,就可以这样写
a[href^="http"]
要选择a节点,里面的href属性以 gov.cn 结尾 ,就可以这样写
a[href$="gov.cn"]
CSS 选择器 可以指定 选择的元素要 同时具有多个属性的限制,像这样
div[class=misc][ctype=gun]
CSS_SELECTOR可以使用次序筛选:父节点的第几个
span:nth-child(2) span元素并且是在父节点的第二个位置
p:nth-last-child(1) P元素并且是倒数第一个
里面可以是数字也可以是“odd”奇数;“even”偶数
***选择第一个span类型的元素: span:nth-of-type(1) span:nth-last-of-type(1)
#CSS_SELECTOR选择: nth-child(n) from selenium import webdriver
from selenium.webdriver.common.by import By#创建一个webdriver对象
wd = webdriver.Chrome()
wd.implicitly_wait(5)#访问网站
wd.get('https://cdn2.byhy.net/files/selenium/sample1b.html')spans = wd.find_elements(By.CSS_SELECTOR, 'span:nth-child(2)')
for span in spans:print(span.get_attribute('innerHTML'))
wd.quit()
selenium学习----CSS selector相关推荐
- 获取css selector,selenium的css selector元素获取方式
目标站存在验证码,验证码与用户名关联:登录密码存在加密,加密方式未知(相同用户密码反复测试加密结果不一样):无法使用burp+验证码识别爆破:只能使用selenuim+验证码识别处理: 测试中发现几个 ...
- selenium之CSS Selector定位
什么是CSS Selector? CSS (Cascading Style Sheets) 是一种用于渲染 HTML 或者 XML 文档的语言,CSS 利用其选择器可以将样式属性绑定到文档中的指定元素 ...
- jsoup获得css,Jsoup代码解读之五-实现一个CSS Selector
Jsoup代码解读之七-实现一个CSS Selector 当当当!终于来到了Jsoup的特色:CSS Selector部分.selector也是我写的爬虫框架webmagic开发的一个重点.附上一张s ...
- Python 中 xpath 语法 与 lxml 库解析 HTML/XML 和 CSS Selector
The lxml.etree Tutorial :https://lxml.de/tutorial.html python3 解析 xml:https://www.cnblogs.com/deadwo ...
- Selenium - CSS Selector
用CSS(即层叠样式表Cascading Stylesheet) Selector来定位(locate)页面上的元素(Elements).Selenium官网的Document里极力推荐使用CSS l ...
- selenium学习一
chrome版本和chromedriver的对应关系 chromedriver版本 支持的Chrome版本 v2.40 v66-68 v2.39 v66-68 v2.38 v65-67 v2.37 v ...
- selenium 学习、工作 记录,附常见异常和工具方法
selenium 学习.工作 记录,附常见异常和工具方法 基础配置 2020.03.31 开发者模式 设置有认证的http代理 让selenium接管人为打开的chrome 2020.07.23(79 ...
- Selenium使用CSS定位 总结
大部分人在使用selenium定位元素时,用的是xpath定位,css定位往往被忽略掉了,其实css定位也有它的价值,css定位更快,语法更简洁 css的定位方法和上一篇的xpath定位方法,两篇学习 ...
- uibot css selector定位,UiBot如何使用CSS Selector
UiBot默认的数据抓取可以抓取整个表格,但是有时候我们并不想抓取整个表格,比方说,我们想将下图所有的头像复制到Excel里: 这个时候我们无法使用数据抓取功能,因为我们并不是想抓取数据,而是要操作网 ...
最新文章
- C 上传文件到服务器(含接收端源码)
- opencv_contrib编译失败解决方法
- 【图像处理opencv】_图像边缘
- Scala 类和对象详解
- 210326阶段三人脸识别
- ADMM参考资料(part1)
- int指令01 - 零基础入门学习汇编语言64
- 一份详尽的利用 Kubeadm部署 Kubernetes 1.13.1 集群指北
- 浅说深度学习(1):核心概念
- SLAM GMapping(4)SLAM处理器
- 获取当前ip_write_ip_tcl命令你用过吗?
- python个人所得税怎么写_Python实现的个人所得税计算器示例
- win10搭建无盘服务器配置,关于今天搞定网吧无盘Win10x64一包多配置到底的详细讲解 By 原来我不帅...
- 选择第K大元素(快排、快选以及k-选取比较)
- 最全HTTP状态码汇总1XX——5XX
- 计算机专业对于未来的规划,对所学专业的认识及对未来的规划.doc
- python sklearn的训练集测试集根据标签的比例来切分数据集
- 【图解算法数据结构】(二)动态规划
- mysql 授权sql_mysql授权GRANT ALL PRIVILEGES
- 华为p20修改WIFI服务器地址,华为P20上网慢怎么办?一招教你开启WLAN+“隐藏”功能提速...
热门文章
- lambda stream流处理异常的方法/Either不终止stream流处理异常
- 遇到Ubuntu系统自动杀死运行的程序问题
- LTE-5G学习笔记23--5G及移动边缘计算(MEC)学习笔记
- vue更新数组时触发视图更新的方法
- 如何用美剧提高自己的英语水平
- 世上最详细的git原理解释
- git ssh 原理
- python中集合的元素可以是任意数据类型_详解Python集合数据类型
- Linux安装jdk导致linux命令失效(配置JDK环境)(踩坑日记)
- Why a JavaScript hater thinks everyone needs to learn JavaScript in the next year