selenium自动化测试一一实现自动登陆音乐


提示:以下是本篇文章正文内容,下面案例可供参考

简介

本章说的是运用selenium自动测试,Selenium是一个自动web测试模块!可以通过调用浏览器来进行自动化测试!用于Web应用程序测试的工具,Selenium测试直接运行在浏览器中,模拟用户操作。
在这里插入图片描述



准备

selenium进行自动化需要安装好插件!因为selenium是通过调用浏览器来进行web测试的!要配置好selenium的运行环境安装selenium模块!(可在博客中查找)



测试

成功使用selenium模块打开一个浏览器!
这里以Chrome为例。(配置完成)
使用selenium模块下的webdriver模块!来打开指定浏览器!

from selenium import webdriver
import time

# 初始化浏览器
browser = webdriver.Chrome()
try:
    browser.get('https://baidu.com')
    time.sleep(5)
finally:
    browser.close()

操作selenium打开指定浏览器及说明配置正常。
在这里插入图片描述

了解元素定位

利用元素定位可以找到加载页面中的任何对象,类似于我们查看加载的页面,并找到我们的目标信息,以便执行下一步的操作。

在这里插入图片描述

进行页面分析

首先就是打开页面看一下网页结构,好方便要知道进行哪些操作,在页面按鼠标右键检查或按F12查看Elements网页源码,上下滑动观察能知道页面的信息在子页面中,我们要想用selenium对页面进行操作就得切换回子页面中才能进行对网页的操作。

在这里插入图片描述
既然已经知道要操作子页面了,接下来我们就是按点击用户登录那里,点击勾上同意条款,点击手机号登录,再点击密码登录就能显示到下图这个页面。
在这里插入图片描述
最后就是输入自己的用户信息就可以完成登录。





主要思路

selenium实现打开浏览器,
利用元素定位的方法切换到ifarem子页面,然后再找到相对应的元素定位操作浏览器完成点击事件
(点击用户登录,点击勾上同意条款,点击手机号登录,再点击密码登录)
最后定位到账号密码输入框执行输入的操作点击登录就完成登录了。
在这里插入图片描述




演示

导入相对于的库

from selenium.webdriver.common.by import By
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.wait import WebDriverWait
import time

对网页发起请求Selenium测试直接运行在浏览器中,模拟用户操作。
在这里插入图片描述

点击用户登录要切换回父frame才能进行之下操作。send—key输入自己的信息就可以了
在这里插入图片描述

实现

在这里插入图片描述

运行结果
在这里插入图片描述

以下是全部代码

from selenium.webdriver.common.by import By
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.wait import WebDriverWait
import time

# 浏览器对象
driver = webdriver.Chrome()
# 等待
wait = WebDriverWait(driver,10)

try:
    url = 'https://music.163.com/#'

    wait = WebDriverWait(driver,10)
    driver.get(url=url)
    print('==========================开始访问===============================')
    driver.set_window_size(1300,1300)    # 设置窗口大小
    time.sleep(1)
    # 切换子页面frame 找到用户点击
    driver.switch_to.frame(driver.find_element(By.ID,'g_iframe'))
    time.sleep(1)
    mood = driver.find_element(By.XPATH,'//*[@id="index-enter-default"]')   # 用户点击
    mood.click()
    # 从子frame切换回父frame
    driver.switch_to.default_content()
    time.sleep(1)
    # 选择其他登录模式
    cat = driver.find_element(By.XPATH,'//*[@id="otherbtn"]/a')
    cat.click()
    # 同意条款
    driver.find_element(By.XPATH,'//*[@id="j-official-terms"]').click()
    time.sleep(1)
    # 手机号登录
    driver.find_element(By.LINK_TEXT,'手机号登录').click()
    time.sleep(1)
    # 用密码登录
    driver.find_element(By.LINK_TEXT,'密码登录').click()
    time.sleep(1)

    # 找到账号密码
    name = driver.find_element(By.XPATH,'//*[@id="p"]')   # 输入账号
    passwd = driver.find_element(By.XPATH,'//*[@id="pw"]')     # 输入密码
    name.send_keys('自己信息')
    passwd.send_keys('自己信息')
    # 登录
    driver.find_element(By.LINK_TEXT,'登 录').send_keys(Keys.ENTER)
    print('=========================登陆成功============================')
    time.sleep(5)
finally:
    pass

在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

王同学在这

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

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

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

打赏作者

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

抵扣说明:

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

余额充值