selenium元素定位Xpath,css

本文详细介绍了使用Selenium进行网页元素定位的方法,包括XPath的绝对和相对路径、属性定位以及与逻辑和层级的结合,同时探讨了CSS定位中的id、class、元素选择器和属性选择器等策略,展示了各种定位方式的实践代码示例。
摘要由CSDN通过智能技术生成

1 xpath元素定位
1.1 什么是xpath
总结:xpath是用来在xml文件中进行元素定位的标记语言,html
是一种特殊的xml,所以xpath也可以用在html中

1.2 Xpath定位策略
路径定位
属性定位
属性与逻辑结合
属性与层级结合
定位方法: find_element_by_xpath(xpath) # xpath表达式
按Ctrl+F 可以在搜索框对xpath和css表达式进行校验
1.2.1 路径定位
绝对路径 表达式是以 /html开头,元素的层级之间是以 / 分 隔
相同层级的元素可以使用下标,下标是从1开始.需要列出元素所经过的所有层级元素 , 工作当中, 一般不使用绝对路径
例:/html/body/div/fieldset/form/p[1]/input
相对路径 匹配任意层级的元素, 是以 //tag_name或者**//*** 开 头
也可以使用下标,下标是从1开始。
例子://p[5]/button

导包

import time
from selenium import webdriver

创建浏览器驱动对象

driver = webdriver.Chrome()

打开测试网站

driver.get(“文件路径”)

通过xpath的绝对路径定位用户名输入框并输入admin

driver.find_element_by_xpath("/html/body/div/fieldset/form/p/input").send_keys(“admin”)

等待3S

time.sleep(3)

通过xapth的相对路径定位密码输入框并输入123

driver.find_element_by_xpath("//form/p[2]/input").send_keys(“123”)

等待3S

time.sleep(3)

退出

1.2.2 元素属性定位
//或者//tag_name //[@attribute=‘value’] # attribute表示的是元素的属性名,value表示的是元素对应属性值
如果使用class的属性进行元素定位,需要用到class里面所有的值
1.2.3 属性与逻辑结合定位
//* 或者//tag_name 开头 //*[@attribute1=‘value1’ and@attribute2=‘value2’]
driver.quit()

导包

import time
from selenium import webdriver

创建浏览器驱动对象

driver = webdriver.Chrome()

打开测试网站

driver.get(“文件路径”)

利用元素的属性信息精确定位用户名输入框,并输入:admin

driver.find_element_by_xpath("//*[@placeholder=‘请输入用户名’]").send_keys(“ad

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值