web自动化测试python+selenium学习笔记

一. selenium自动化环境搭建

python 3.11版本+Chrome浏览器111 + selenium4.5 + 浏览器驱动

需要导入

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

二. driver的方法

(1)# 实例化浏览器
driver = webdriver.Chrome()
(2)# 打开网址
driver.get(‘https://www.baidu.com/’)#方法可以跳转到要访问的网页去
(3)元素定位,并输入文本
driver.find_element(By.ID, “kw”).send_keys(“易烊千玺”)
(4)元素定位,点击确定
driver.find_element(By.ID, “su”).click()
(5)获得页面的当前url地址,可用于判断当前页面
print(driver.current_url)
(6)可获得当前页面的标题,可用于判断当前页
print(driver.title)
(7)刷新页面
driver.refresh()
(8)可以返回上一个页面,即跳转回到百度首页了
driver.back()
(9)关闭页面
driver.quit()
(10)隐式等待(需要等待的秒数)
driver.implicitly_wait()
(11)滚动页面

driver.execute_script('window.scrollBy(0,1000)')
time.sleep(1)
#定义一个初始值
temp_height = 0
while True:
    # 循环将滚动条下拉
    driver.execute_script("window.scrollBy(0,1000)")
    # sleep一下让滚动条反应一下
    time.sleep(0.05)
    # 获取当前滚动条距离顶部的距离
    check_height = driver.execute_script(
        "return document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop;")
    # 如果两者相等说明到底了
    if check_height == temp_height:
        driver.refresh()
        # 在这里获取网页源代码
        html_data = driver.page_source
        time.sleep(1)
        # print(html_data)
        break
    temp_height = check_height
    print(check_height)

三.selenium常用定位方法

1. Xpath语法的相关知识

(1) .写法: //*/[@属性 = “属性值”]
//相对路径
任意元素
(2). 常用Xpath定位方法
文本定位
//a[text()="我的书架"]
id定位
//label[@id="btnSearch"]
属性定位
``//
[@placeholder=“密码”]```

2. CLASS_NAME定位

inputEle = driver.find_elements(By.CLASS_NAME, "el-input__inner")
login = inputEle[0].send_keys("18696546879")
password = inputEle[1].send_keys("123456")

3. ID定位

driver.find_element(By.ID, “su”).click()

4.NAME定位

driver.find_element(By.NAME, '退出').click()

5.CSS_SELECTOR定位(一般很少用)

四. 元素定位小技巧

1. 在浏览器上使用Xpath-helper插件

这个插件可以使用Xpath语法定位元素高亮显示,便于某个元素多的时候定位,能快速定位元素的下标

2. 打开F12,找到元素Elements,ctrl+f,会出现如下文本框,在此用Xpath语法定位元素的个数或元素是否唯一

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值