美文网首页
selenium07-css选择器初识

selenium07-css选择器初识

作者: 筱媛媛 | 来源:发表于2019-06-21 20:29 被阅读0次

css选择器是浏览器用来选择元素的,同样我们selenium也可以使用css选择器语法来选择 web 元素。 本篇主要就css选择器基本用法进行展开,包括根据tag/id/class以及组合方式选择元素和通过css后代选择器选择元素。希望感兴趣的小伙伴可以坚持看下去同时欢迎提出宝贵的意见让我们一起进步!

01:css概述

1)作用:装饰和美化页面元素,实现网页的排版布局,CSS为HTML标记语言提供了一种样式描述,定义了其中元素的显示方式。
2)优点:执行效率高
3)方式:元素内联、页面嵌入和外部引入

有如下的html片段:
<div id="food" style="margin-top:10px;color:red">
    <span class="vegetable good">黄瓜</span>
    <span class="meat">牛肉</span>
    <p class="vegetable">南瓜</p>
    <p class="vegetable">青菜</p>
</div>
<div id="food2" style="margin-top:10px">
    <span class="vegetable">萝卜</span>
    <span class="meat">鸡肉</span>
</div>
<select id="choose_car">
    <option value="volvo">沃尔沃</option>
    <option value="corolla">卡罗拉</option>
    <option value="fiat">红旗</option>
    <option value="audi">奥迪</option>
</select>
前置条件:
from selenium import webdriver
driver=webdriver.Chrome()
driver.implicitly_wait(5)
driver.get('file:///C:/Users/qin/Desktop/2.html')
02:根据tag名选择元素
(1)需求点:选择所有的p元素 
p=driver.find_elements_by_css_selector('p')
for one in p:
    print(one.text)
运行结果如下:
南瓜
青菜
03:根据id选择元素(#)

格式:driver.find_elements_by_css_selector('#food')

(1)需求点:选择ID为choose_car的所有元素 
food=driver.find_elements_by_css_selector('#choose_car')
for one in food:
    print(one.text)
运行结果如下:
    沃尔沃
    卡罗拉
    菲亚特
    奥迪
04:根据class选择元素(.)

格式:driver.find_elements_by_css_selector('.vegetable')

(1)需求点:选择class为vegetable所有元素
vegetable=driver.find_elements_by_css_selector('.vegetable')
for one in vegetable:
    print(one.text)
运行结果如下:
黄瓜
南瓜
青菜
萝卜

注意有的元素有两个class值:表示这个元素有两个class值, 而不是一个vegetable good整体的属性

cucumber=driver.find_element_by_css_selector('.good')#选择class为good的元素
cucumber=driver.find_element_by_css_selector('.vegetable')#选择class为vegetable的元素
print(cucumber.text)
运行结果如下:
黄瓜
05:根据组合选择元素(元素.属性)

vegetable=driver.find_elements_by_css_selector('p.vegetable')

(1)需求点:选择P元素的vegetable属性
vegetable=driver.find_elements_by_css_selector('p.vegetable')
for one in vegetable:
    print(one.text)
运行结果如下:
南瓜
青菜
06:css后代选择器
<div id="many">
        <p>小可爱会数数</p>
        <div>
            <p class="special" name="p1">one</p>
            <p>two</p>
            <p class="special">three</p>
        </div>
    </div>

①语法:<s1> <s2>

②解释:表示选择s1元素里面所有的s2元素, S2可以是S1的直接子节点,也可以不是。其中<s1> <s2>可以是我们前面学过的css 根据tag名、id 、class 描述的任何语法

③实例:many=driver.find_elements_by_css_selector('#many p')

④注意:后代选择器会选择元素内部所有子元素

(1)需求点:选择id=many的P元素
many=driver.find_elements_by_css_selector('#many p')
for one in many:
    print(one.text)
运行结果如下:
小可爱会数数
one
two
three
(2)需求点:选择id=many下P元素属性为special的元素
special=driver.find_elements_by_css_selector('#many p.special ')
for one in special:
    print(one.text)
运行结果如下:
one
three
07:根据css后代选择器组合选择元素
(3)需求点:选择id=many下的div中的p元素属性为special的元素
special=driver.find_element_by_css_selector('#many div p.special ')
print(special.text)
运行结果如下:
one

想要更好的掌握还需要多加练习,希望所有的人都能取得不一样的进步!Fighting

相关文章

  • selenium07-css选择器初识

    css选择器是浏览器用来选择元素的,同样我们selenium也可以使用css选择器语法来选择 web 元素。 本篇...

  • 08-jQuery

    一.初识jQuery 二.jQuery与原生DOM互转 三.基本选择器 四.层级选择器 五.伪类选择器 六.属性操...

  • python-爬虫

    初识爬虫 网页基础 BeautifuleSoup 解析数据 提取数据 Tag 对象 CSS选择器 爬虫进阶

  • JavaScript之jQuery

    九、jQuery 目录:初识jQuery及公式、jQuery选择器、jQuery事件、jQuery操作DOM元素 ...

  • jQuery(样式和DOM)

    初识jQuery jQuery选择器 jQuery的属性与样式 DOM DOM节点的复制与替换 jQuery遍历

  • 初识CSS—选择器

    1. class与id的使用场景 一个页面中可以有多个同样的class,可以用于不同标签但是样式相同的元素上。 一...

  • 初识css选择器

    class 和 id 的使用场景?class指定标签的类名, 把需要相同样式的元素归类于一个name下,需要此样式...

  • 初识CSS ①选择器

    1、标签选择器 标签选择器其实就是html代码中的标签。 选择器{ css样式代码; } 下图的css样式代码的作...

  • CSS初识—CSS选择器

    1.class 和 id 的使用场景? id:定位到页面上唯一的元素,页面上不能出现id相同的元素 class:定...

  • css3选择器总结

    选择器分基本选择器和拓展选择器 基本选择器:id选择器,类选择器,元素选择器,通用选择器 拓展选择器:群组选择器,...

网友评论

      本文标题:selenium07-css选择器初识

      本文链接:https://www.haomeiwen.com/subject/mdorfctx.html