Python用selenium实现自动登录和下单的项目实战

发布时间:2024年01月18日

前言

学python对selenium应该不陌生吧

Selenium 是最广泛使用的开源 Web UI(用户界面)自动化测试套件之一。Selenium 支持的语言包括C#,Java,Perl,PHP,Python 和 Ruby。目前,Selenium Web 驱动程序最受 Python 和 C#欢迎。
Selenium 测试脚本可以使用任何支持的编程语言进行编码,并且可以直接在大多数现代 Web 浏览器中运行。在爬虫领域 selenium 同样是一把利器,能够解决大部分的网页的反爬问题,但也不是万能的,它最明显的缺点就是速度慢。

今天就来看看 咱们应该如何实现简单的自动登录和下单的脚本

前期准备

  • python 3.8
  • pycharm专业版
  • selenium==3.141.0

代码实现思路

  • 打开浏览器
  • 输入网址
  • 登陆
  • 选择商品属性, 点击立即购买
  • 下单

配置浏览器驱动

这里以安装 Chrome 驱动作为演示。但 Chrome 在用 selenium 进行自动化测试时还是有部分bug,常规使用没什么问题,但如果出现一些很少见的报错,可以使用 Firefox 进行尝试,毕竟是selenium 官方推荐使用的。

?确定浏览器版本

下载驱动

下载版本相对接近的就行,不用完全一致

?

将 chromedriver.exe 保存到任意位置,并把当前路径保存到环境变量中(我的电脑>>右键属性>>高级系统设置>>高级>>环境变量>>系统变量>>Path),添加的时候要注意不要把 path 变量给覆盖了,如果覆盖了千万别关机,然后百度?

测试是否成功

1

2

3

from?selenium?import?webdriver

# Chrome浏览器

driver?=?webdriver.Chrome()

代码实现

模块导入

1

2

from?selenium?import?webdriver

import?time

1. 打开浏览器

1

driver?=?webdriver.Chrome()

2. 输入网址

1

2

3

url = 'https://*****.com/item.htm?abbucket=9&id=667918031025&rn=30933d864f689e92fec433592f0dc822'

driver.get(url)

driver.implicitly_wait(10)

3. 登陆(不是经常登录的电脑,需扫码登录)

try:

    iframe = driver.find_element_by_css_selector('iframe')

except:

    iframe = driver.find_element_by_css_selector('#baxia-dialog-content')

# 切换到嵌套页面

driver.switch_to.frame(iframe)

源码领取:690643772

# 标签别名

# 匹配到二维码并且点击

driver.find_element_by_css_selector('.iconfont.icon-qrcode').click()

# 留几秒钟 需要登陆

while True:

    print("###请扫码登陆###")

    if driver.title != "商品详情":

        break

    time.sleep(1)

print("###登陆成功!!!###")

4. 选择商品属性, 点击立即购买

try:

    # 选择商品属性

    driver.find_element_by_css_selector('.skuValueName').click()

    # 点击立即购买

    driver.find_element_by_css_selector('div>button>span').click()

    源码领取:690643772

except:

    # 选择商品属性

    driver.find_element_by_css_selector('.tm-clear.J_TSaleProp li').click()

    # 点击立即购买

    driver.find_element_by_css_selector('#J_LinkBuy').click()

time.sleep(1)

driver.find_element_by_css_selector('.go-btn').click()

input()

5. 下单

最简单的一个步骤:拿出手机,打开支fu宝,扫码付钱就行

总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

文档获取方式:
 
加入我的软件测试交流群:1007119548免费获取~(同行大佬一起学术交流,每晚都有大佬直播分享技术知识点)

这份文档,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

以上均可以分享,只需要你搜索vx公众号:程序员雨果,即可免费领取

文章来源:https://blog.csdn.net/2301_80119299/article/details/135682401
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。