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

作者:小圆- 时间:2021-02-04 18:29:44 

前言

学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 官方推荐使用的。

确定浏览器版本

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

下载驱动

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

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

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

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

测试是否成功

from selenium import webdriver
# Chrome浏览器
driver = webdriver.Chrome()

代码实现

模块导入

from selenium import webdriver
import time

1. 打开浏览器

driver = webdriver.Chrome()

2. 输入网址

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宝,扫码付钱就行

最后

来源:https://blog.csdn.net/aliYz/article/details/129150640

标签:selenium,自动,登录,下单
0
投稿

猜你喜欢

  • Ubuntu 14.04+Django 1.7.1+Nginx+uwsgi部署教程

    2021-03-14 09:16:22
  • PHP实现PDF转图片的方法详解

    2023-05-26 19:59:51
  • Python实现删除列表中满足一定条件的元素示例

    2023-11-07 14:38:39
  • PHP实现向关联数组指定的Key之前插入元素的方法

    2023-07-14 08:41:33
  • 基于python和flask实现http接口过程解析

    2022-06-01 11:46:36
  • Pygame的程序开始示例代码

    2021-12-20 19:45:01
  • 合理利用页面标签元素有利用搜索引擎收录

    2008-11-03 11:49:00
  • javascript读取Json数据并分页显示,支持键盘和滚轮翻页

    2010-01-06 13:03:00
  • 基于Python对象引用、可变性和垃圾回收详解

    2022-03-12 17:11:49
  • 使用python验证代理ip是否可用的实现方法

    2021-03-22 05:30:16
  • python flask 多对多表查询功能

    2022-09-17 13:26:14
  • Python读写锁实现实现代码解析

    2023-06-16 23:27:12
  • asp如何让用户也能修改密码?

    2010-05-13 16:41:00
  • python实现逻辑回归的示例

    2022-04-05 05:16:59
  • SQL Server数据库触发器安全隐患解析

    2009-03-25 12:56:00
  • 谷歌浏览器Chrome的javascript引擎

    2008-09-04 12:24:00
  • 解决python中os.listdir()函数读取文件夹下文件的乱序和排序问题

    2022-10-24 05:34:54
  • python-numpy-指数分布实例详解

    2022-01-14 07:00:32
  • SQL学习笔记三 select语句的各种形式小结

    2011-09-30 11:09:31
  • CSS网页设计时关于字体大小的设计

    2008-10-23 13:42:00
  • asp之家 网络编程 m.aspxhome.com