Python用selenium实现自动登录和下单的项目实战
目录
- 前言
- 前期准备
- 代码实现思路
- 配置浏览器驱动
- 确定浏览器版本
- 下载驱动
- 测试是否成功
- 代码实现
- 最后
前言
学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 变量给覆盖了,如果覆盖了千万别关机,然后百度
测试是否成功
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宝,扫码付钱就行
最后
到此这篇关于Python用selenium实现自动登录和下单的项目实战的文章就介绍到这了,更多相关Python selenium自动登录和下单内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
赞 (0)