Selenium 测试框架批量注册

wuchangjian2021-12-07 18:06:53编程学习

Selenium 测试框架

先打开cmd下载Selenium :

pip install -i https://pypi.douban.com/simple selenium

如果是用cmd 下载的:pip show selenium使用该命令是否下载成功

或者直接在pycham IDE

在项目头上引入这个架包:from selenium import webdriver

安装浏览器驱动:

我这里用的是谷歌浏览器:

就下载谷歌的驱动,要注意看自己浏览器的版本号来下载相对应的驱动

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-M3eZqIOD-1638871384371)(C:%5CUsers%5CAdministrator%5CAppData%5CRoaming%5CTypora%5Ctypora-user-images%5C1638781897156.png)]

下载完之后需要将该整个路径加入系统变量PATH中:

系统属性>环境变量>PATH>双击进去>把自己的路径加上去

我又遇到了好几次坑 :

这里我给填一下

创建一个文件然后:

driver = webdriver.Chrome()

点击运行看浏览器能不能启动起来

如果想打开百度就:

driver = webdriver.Chrome()
#打开百度
driver.get("http://baidu.com")
#关闭浏览器
driver.close()

但有时候可能刚开始会报错:找不到浏览器的驱动

解决方案:

直接在Chrome中添加该驱动路径,格式如下简单粗暴

driver = webdriver.Chrome('你下载路径')

处理完上面的这些我们就可以简单的写一下这个例子了

批量注册:

网站地址:http://tpshop-test.itheima.net

需求思路:

  • 直接打开该网站的注册页面
  • 填写手机号、验证码、密码点击注册
  • 然后加一个循环实现批量注册

打开网站的注册页面的实现:

使用http://tpshop-test.itheima.net/Home/user/reg.html可以直接打开注册界面

# 打开浏览器
driver = webdriver.Chrome()
url='http://tpshop-test.itheima.net/Home/user/reg.html'
# 打开该网站
driver.get(url)

运行到这一步点击运行就打开了该网站

然后填写信息:可以查看一下 find_element 这个方法

#通过ID标签查找定位
ID = "id"

#通过xpath标签查找定位
XPATH = "xpath"

#通过LINK_TEXT标签查找定位
LINK_TEXT = "link text"

#通过PARTIAL_LINK_TEXT标签查找定位
PARTIAL_LINK_TEXT = "partial link text"

#通过NAME标签查找定位
NAME = "name"

#通过TAG_NAME标签查找定位
TAG_NAME = "tag name"

#通过CLASS标签查找定位
CLASS_NAME = "class name"

#通过CSS_SELECTOR标签查找定位
CSS_SELECTOR = "css selector"

我们用的是定位各个元素来实现点击和输入的这里用的是name和id两个元素

# 通过id 定位搜索框的位置输入 用户名
driver.find_element(By.ID, 'username').send_keys("13456789000")
# 通过 name 定位搜索框的位置输入
driver.find_element(By.NAME, 'verify_code').send_keys("8888")
# 通过id 定位搜索框的位置输入 密码
driver.find_element(By.ID, 'password').send_keys("123456")
# 通过id 定位搜索框的位置输入 密码
driver.find_element(By.ID, 'password2').send_keys("123456")
# 通过class 定位搜索按钮的位置
driver.find_element(By.CLASS_NAME, 'J_btn_agree').click()
# 间隔2秒
time.sleep(2)
# 关闭浏览器
driver.close()

这样我们就成功注册了一个账号

现在我们根据循环来实现一下批量注册,注册完然后生成一个 .txt 文件保存我们刚刚生成的账号和密码

import time
from selenium import webdriver
from selenium.webdriver.common.by import By
# 打开浏览器
driver = webdriver.Chrome()
url='http://tpshop-test.itheima.net/Home/user/reg.html'
# 打开该网站
driver.get(url)
# 循环变量初始化
i = 1
j = 0
sum = []
# 生成账号的个数
while i<10:
    # 这个地方是改手机号格式的
    number="1340000022" + str(i)
    if (format(driver.current_url) != url):
        driver.find_element(By.LINK_TEXT,'安全退出').click()
        driver.find_element(By.LINK_TEXT,'注册').click()
        driver.refresh()
        time.sleep(3)

    # 通过id 定位搜索框的位置输入 用户名
    driver.find_element(By.ID, 'username').send_keys(number)
    sum.append(number)
    # 通过 name 定位搜索框的位置输入
    driver.find_element(By.NAME, 'verify_code').send_keys("8888")
    # 通过id 定位搜索框的位置输入 密码
    driver.find_element(By.ID, 'password').send_keys("123456")
    # 通过id 定位搜索框的位置输入 密码
    driver.find_element(By.ID, 'password2').send_keys("123456")
    # 通过class 定位搜索按钮的位置
    driver.find_element(By.CLASS_NAME, 'J_btn_agree').click()
    # 间隔2秒
    time.sleep(2)

    # 刷新界面
    driver.refresh()
    i += 1;
    j += 1;

# 结束
driver.close()

#生成一个txt文件保存这些账号
with open("username.txt","w") as f:
    f.write("用户名"+'\n')
    for sums in sum:
        f.write(sums+'\n')
    f.write("密码统一:123456")

相关文章

2021-2027全球与中国信用证服务市场现状及未来发展趋势

本文研究全球及中国市场信用证服务现状及未来发展趋势,侧重分析全球及中国...

LeetCode 二分查找 35搜索插入位置

给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。