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

在这里插入图片描述

  • 4
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
### 回答1: 好的,以下是一个简单的示例代码: ```python from selenium import webdriver from selenium.webdriver.common.keys import Keys import time # 设置浏览器驱动路径 driver_path = "chromedriver.exe" # 创建 Chrome 浏览器对象 driver = webdriver.Chrome(driver_path) # 打开网页 url = "https://www.example.com/login" driver.get(url) # 找到用户名和密码输入框,并输入信息 username = driver.find_element_by_id("username") password = driver.find_element_by_id("password") username.send_keys("your_username") password.send_keys("your_password") # 模拟点击登录按钮 login_button = driver.find_element_by_id("login_button") login_button.click() # 等待 5 秒钟,等待页面加载完成 time.sleep(5) # 打开用户列表页面 user_list_url = "https://www.example.com/userlist" driver.get(user_list_url) # 获取所有用户信息 user_list = driver.find_elements_by_xpath("//div[@class='user-info']") # 输出用户信息 for user in user_list: print(user.text) # 关闭浏览器 driver.quit() ``` 请注意,这只是一个示例代码,实际应用中可能需要根据具体情况进行修改。同时,为了保护网站和用户隐私,建议在实际使用中遵守网站的规定,并确保自己的行为合法合规。 ### 回答2: PythonSelenium自动化测试代码可以实现模拟登录并爬取用户列表信息。首先,我们需要安装Selenium库,并确保浏览器驱动已安装并配置好。 首先,创建一个Python脚本,导入必要的库和模块。 ``` from selenium import webdriver from selenium.webdriver.common.keys import Keys from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC ``` 接下来,设置浏览器驱动路径并实例化webdriver对象。 ``` driver_path = "/path/to/chromedriver" # 根据实际驱动路径进行更改 driver = webdriver.Chrome(driver_path) ``` 通过webdriver对象可以进行各种页面操作,例如打开登录页面。 ``` driver.get("https://example.com/login") # 替换为实际的登录页面链接 ``` 输入用户名和密码,并点击登录按钮。 ``` username_input = driver.find_element_by_name("username") # 替换为实际的用户名输入框元素 password_input = driver.find_element_by_name("password") # 替换为实际的密码输入框元素 login_button = driver.find_element_by_id("login-button") # 替换为实际的登录按钮元素 # 输入用户名和密码 username_input.send_keys("your_username") # 替换为实际的用户名 password_input.send_keys("your_password") # 替换为实际的密码 # 点击登录按钮 login_button.click() ``` 接下来,等待页面加载完毕,并找到用户列表所在的元素。 ``` # 等待页面加载完毕 wait = WebDriverWait(driver, 10) user_list = wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, "ul.user-list"))) # 替换为实际的用户列表元素选择器 ``` 最后,通过用户列表元素获取所有用户信息。 ``` users = user_list.find_elements(By.CSS_SELECTOR, "li.user") # 替换为实际的用户元素选择器 # 遍历用户列表并打印用户信息 for user in users: username = user.find_element(By.CSS_SELECTOR, "span.username").text # 替换为实际的用户名元素选择器 email = user.find_element(By.CSS_SELECTOR, "span.email").text # 替换为实际的邮箱元素选择器 print(f"Username: {username}, Email: {email}") ``` 这样,就完成了使用PythonSelenium自动化测试代码实现模拟登录并爬取用户列表信息的过程。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

王同学在这

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

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

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

打赏作者

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

抵扣说明:

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

余额充值