LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

如何在网页里找东西——网页爬虫/页面元素操作基础,selector选择器入门

admin
2025年4月23日 1:39 本文热度 88

目录

一、基础入门
    1、什么是HTML
    2、什么是CSS
    3、HTML+CSS
二、常见的CSS选择器
    1、标签选择器
    2、类选择器
    3、ID选择器
    4、属性选择器
    5、组合选择器
    6、伪类选择器
三、CSS选择器速查手册
四、实战操作
    1、查看HTML
    2、根据HTML编写selector
    3、验证selector
    4、玩一下
五、如果实在学不会



一、基础入门
1、什么是HTML
HTML就是网页的基础结构,简单理解,可以把它当作是一个房子。
HTML里有各种各种的元素,常见的有以下几种:
<p>表示段落(paragraph)
<img>表示图片(image)
<a>表示链接(anchor)
<div>表示板块(division)
<select>表示下拉选框
<input>表示输入框
这些玩意儿可以理解成房子里的房间或者家具。
2、什么是CSS
CSS是网页的样式,简单理解,可以把它当作房子的装修风格。
h2 {color:red} 标题文字颜色是红色
p {font-size16px} 段落的字体大小为16个像素
3、HTML+CSS
两个结合起来,就形成了网页基础。HTML用来定义网页里有哪些东西,CSS用来描述这些东西是什么样子的。
HTML就比如一个房子,是三室一厅的结构,其中客厅有沙发、卧室有床;CSS描述了,客厅的沙发是白色、卧室的床是2米宽。
/*** 一个叫house的房子,里面有三个房间div。* 这三个div房间的class类型都是box,背景色都是green。* 其中客厅里面有沙发,颜色color是白色,卧室的床宽度是15px*/<style>#house {height30pxwidth:100px}div .box {background-color:green}.couch {color:white; width:50px}.bed {width:15px}</style>
<div id="house">    <div  class="box">客厅        <p id="couch">沙发</p>    </div>  <div class="box">餐厅</div>  <div class="box">卧室    <p class="bed"></p>  </div></div>
PS:还有个东西叫js,javascript。js是在网页上用来执行的代码,控制网页上的内容如何变化。用房子的概念去理解,当你走进了厕所、站在马桶前,马桶盖自动打开,就是js来控制的。
HTML+CSS+JS,就是前端基础了。

二、常见的CSS选择器
怎么使用css定位元素?假设有这样一个“房子”,里面放了p、a、img这些“家具”,如何找到对应的元素呢?
1、标签选择器
这是最简单的选择器,直接观察html的标签即可作出选择,如
p 选择p标签
div p 选择div里面的p
2、类选择器
用来选择有相同类的元素,一般情况下,一个元素会有一个class,可以通过这个属性进行定位,它的关键符号是.号
.box 选择class中带有box的元素
3、ID选择器
跟类选择器相似,一个元素如果带有id,则可以用ID选择器定位,它的关键符号是#号,一个元素只有一个id
#main 选择ID是main的元素

4、属性选择器

一个html元素会带有很多属性,比如<input placeholder="请输入名称" class="input-name" target-id="nameId" title="名称">

里面的placeholder、class、target-id、title都是这个input的属性,它的关键符号是[ ]号

input[target-id="nameId"][title="名称"] 选择target-id="nameId"并且title="名称"的input

5、组合选择器
即把不同的选择方式组合起来使用,用于更加精准的定位,先看看以下代码
<div id="house">    <div class="box">客厅        <p class="furniture" id="couch">沙发</p>        <p class="furniture" id="chair">凳子</p>    </div>  <div class="box">餐厅</div>  <div class="box">卧室    <p id="bed">        <a class="furniture" id="pillow">枕头</a>    </p>  </div></div>
以下为选择器及相关解释说明
div.box #chair 
解释:选择div标签并带有box这种class的所有元素,并在其中查找id=chair的元素,即查找到<p id="chair">凳子</p>
注意空格的位置,空格表示向下查找,找下面的所有后代元素,如:
div#couch 
解释:查找id=couch的p元素,返回值是空,因为没有id=couch的div元素
div #bed 
解释:查找div元素下面的id=bed的元素,返回值是<p id="bed">床</p>
div .box 
解释:查找div元素下面的class=box的所有元素,返回值是“客厅”、“餐厅”、“卧室”这个三个元素
另外,还有一种情况也是经常遇到,就是>符号,也表示向下查找,不过查找的范围,仅查找当前节点下的子元素,不包括子元素的子元素。
如:
div.box > .furniture
解释:查找class=box的div元素下面的子元素里包含class=furniture的元素,返回值是“沙发”、“凳子”这两个元素
div.box  .furniture
解释:查找class=box的div元素下面的所有后代元素里包含class=furniture的元素,返回“沙发”、“凳子”、“枕头”这三个元素
6、伪类选择器
也可以理解成元素的状态选择器,关键符号是:号
a:hover 选取鼠标停留位置的a标签元素
div:nth-child(2)  在所有的div中取第二个

三、CSS选择器速查手册
最常用的,标注了绿色,学会这几个,后续组合起来也够用了:

四、实战操作
以百度首页为例。
1、查看HTML结构
在百度页面的输入框,右键,选择属性,会弹出html结构。

2、根据HTML结构编写selector
可以发现,这个输入框的html结构为
<input type="text" class="s_ipt" name="wd" id="kw" maxlength="100" autocomplete="off" placeholder="特朗普再次扬言要接管加沙">
所以,selector可以是:
input[type="text"][name="wd"].s_ipt

3、验证selector
在浏览器的Console标签页,输入document.querySelectorAll('input[type="text"][name="wd"].s_ipt')
查询到的元素列表,只有一个,说明使用这个方法确实能够找到这个唯一的元素。
当然,你也可以使用document.querySelector('input[type="text"][name="wd"].s_ipt')直接获取到这个元素。
同理获取“百度一下”的按钮的selector为
input[type="submit"][value="百度一下"].btn

4、玩一下
在Console标签页里,输入以下代码并回车,会自动跳转到搜索结果页面。
document.querySelector('input[type="text"][name="wd"].s_ipt').value="打工助手-数据录入辅助工具";

五、如果实在学不会
如果觉得上面的教程还是太复杂了,也有一种更简单的方法。
可以在浏览器的html元素上,直接右键,在弹出的选项中选择“copy->copy selector”,再粘贴到文本框,这样也能得到浏览器帮你计算出来的selector。
比如获取“5 苹果紧急从印度调飞机载iPhone回美”这个页面元素,通过简单法获取到的selector为:
#hotsearch-content-wrapper > li:nth-child(2) > a > span.title-content-title

使用document.querySelector('#hotsearch-content-wrapper > li:nth-child(2) > a > span.title-content-title'),同样可以验证获得的这个元素
不过,这种方法有局限性
1、这种方法适用于没有复杂动态效果的简单页面,因为组装出来的selector是相对于整个html绝对定位的路径。
2、对于现代常用vue、react或一些动态元素很多的页面,取到的selector不一定全部适用。因为这些网页的元素是动态生成的,有些元素可能在页面的第2个位置,点击某个按钮后,会变成第3个位置。



学完这个,接下来,就可以使用【打工助手-数据录入辅助工具】编写流程脚本了。可以参考以下文章:
【打工助手-数据录入辅助工具】使用手册


阅读原文:原文链接


该文章在 2025/4/23 10:40:42 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2025 ClickSun All Rights Reserved