day33(12.14):简单元素定位和chaome定位辅助工具(下)

本文继续探讨网页元素定位技术,详细介绍了如何使用简单的CSS选择器进行元素定位,并重点解析了Chrome浏览器中的一些实用辅助工具,如开发者工具,它们在网页元素查找和调试中的重要作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

"""
======================
@Author:coco
@Time:2019/12/16
@File:元素定位.py
@software:PyCharm
======================
"""
from selenium import webdriver
import time

# 打开对应的浏览器,开启与浏览器之间的会话
# 非常干净的浏览器,没有任何的用户数据(书上有)
driver = webdriver.Chrome()  # 接口:newSession 封装了一系列对网页的操作指令

driver.get("http://www.baidu.com")

""""
元素在页面的3种状态:
1)存在:能够找到
2)可见:在浏览器呈现的页面当中,可以看到它的大小,有高和宽
3)可用:特别关注输入框和按钮。
"""

# 按照元素本身的特征来找
# 8个元素定位方式:1类:只根据元素的一个特征 2类:多种组合:xpath,css选择器
# id,name,className,tagName,link,partial_link
# 1.id:固定不变。动态变化的id
ele = driver.find_element_by_id("kw")  # 找元素。下一步动作:操作。对象:WebElement(属性+操作)
ele.send_keys("梧桐山")
"""
1)属性:
2)操作:查找子元素?基于当前元素的所有后代
基本操作:1)点击 click 2)输入 send_keys 3)获取属性 get_attribute  4)获取文本:.text
"""
# 2.tag_name 标签名称
ele = driver.find_element_by_tag_name("input")  # 一个WebElement对象.第一个
eles = driver.find_elements_by_tag_name("input")  # 列表。所有匹配的元素\

# 3.class_name class属性
driver.find_element_by_class_name("bdsug") # 一个类名
driver.find_elements_by_class_name("bdsug")

# 4.属性
driver.find_element_by_name("wd")
driver.find_elements_by_name("wd")

# 5.6 只针对a的元素
driver.find_element_by_link_text("更多产品")
driver.find_element_by_partial_link_text("产品")

# 7.xpath
"""
//*[@id="kw"]  
/html/body/div[1]/div[1]/div/div[1]/div/form/span[1]/input
绝对定位:以/开头 父/子 完整的路径、绝对的位置
相对定位:1)相对于谁?参照物 以//开头 确认:有还是没有匹配的元素?
            //标签名(一级筛选)
            //标签名[@属性名称=值] //*[@属性名称=值]  //*[@id="kw"]
            
            逻辑运算:and  or 标签名[@属性名称=值] and 标签名[@属性名称=值]
            
            文本定位://标签名[text()=文本值]  //div[@id="u1"]//a[text()="登录"](优先属性,再文本定位)
            包含定位://标签名[contains(@属性,值)] //标签名[contains(text(),值)]
            层级定位://div[@id="u1"]//a[@name="tj_login"]
"""


在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值