Selenium元素定位

自动化测试的核心技术就是元素定位,我们要想对元素进行操作,必须要找到这个元素的所在位置,webdriver中有很多进行元素定位的方法:

1、xpath定位

xpath定位有很多种定位策略:

>使用元素的绝对路径

>使用元素的相对路径

>使用元素属性定位

>使用层级和属性结合定位(使用上级属性定位)

>使用层级和属性结合定位(使用逻辑运算符定位)

方法:find_element_by_xpath() 

Discuz论坛登录业务:

from time import sleep  # 导入时间模块
from selenium import webdriver  # 从selenium模块中导入webdriver子模块

url = "http://192.168.152.128/upload/forum.php"  # 定义url地址
driver = webdriver.Chrome()  # 定义一个对象
driver.get(url=url)  # 访问url
sleep(6)  # 思考时间6s

# 根据相对路径定位用户名输入框
driver.find_element_by_xpath('//*[@id="ls_username"]').send_keys('admin')
sleep(6)
# 根据绝对路径定位密码输入框
driver.find_element_by_xpath('/html/body/div[5]/div/div[1]/form/div/div/table/tbody/tr[2]/td[2]/input').send_keys(
    '123456')
# 根据相对路径定位登录按钮
driver.find_element_by_xpath('//*[@id="lsform"]/div/div/table/tbody/tr[2]/td[3]/button/em').click()

sleep(6)
driver.quit()

操作步骤:

①打开Discuz论坛首页,点击右键/检查,或者点击F12,进入调试界面

 ②点击元素检查按钮,然后点击网站中用户名输入框,查看元素源代码

 ③点击调试界面的源代码,右键/复制/复制Xpath(相对路径)或者复制完整Xpath(绝对路径)

 ④将复制的Xpath放到 driver.find_element_by_xpath()中

 ⑤ 依次点击密码输入框、登录按钮,然后将路径全部复制到 driver.find_element_by_xpath()中

2、id定位

HTML文档中的id是唯一的,id定位是查找元素的最佳方法,方法是:

driver.find_element_by_id()和driver.find_elements_by_id

Discuz论坛登录业务:

from time import sleep  # 导入时间模块
from selenium import webdriver  # 从selenium模块中导入webdriver子模块

url = "http://192.168.152.128/upload/for
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

three996

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值