Selenium(7):元素定位_css_selecto定位

Css_selector是什么

  CSS是一个被用来描述如何在屏幕等处渲染HTML和XML文档的语言。CSS使用选择器来为文档中的元素绑定样式属性。

  选择器(selector)是用来在树中匹配元素的模式,选择器对HTML和XML进行了优化,被设计用来在注重性能的代码中执行。Selenium官网的Document里极力推荐使用Css_selector,而不是XPath来定位元素。

Css_selector常用如下6种定位元素的方法(不支持文本定位)

 1、通过绝对路径定位

  绝对路径是从网页的根节点html开始,逐层去查找需要定位的元素。

  此方法缺点显而易见,当页面元素位置发生改变时,都需要修改,因此,并不推荐使用。

代码如下:

以百度首页搜索框为例

import os
from selenium import webdriver
from selenium.webdriver.common.by import By

current_path = os.path.dirname(os.path.abspath(__file__))  # 当前路径
driver_path = os.path.join(current_path,'../webdriver/chromedriver.exe')  # driver路径
driver = webdriver.Chrome(executable_path=driver_path)  # Firefox,Ie等

driver.get('https://www.baidu.com/')  # 打开网站
# 绝对路径定位
# 以html body为开头,使用空格分开层次结构 遇到id使用# 遇到class使用.
driver.find_element(By.CSS_SELECTOR,'html body div#wrapper.wrapper_new div#head div#head_wrapper.head_wrapper.s-isindex-wrap.nologin div.s_form.s_form_nologin div.s_form_wrapper.soutu-env-nomac.soutu-env-index form#form.fm span.bg.s_ipt_wr.new-pmd.quickdelete-wrap input#kw.s_ipt').send_keys('python')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值