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(谷歌驱动的安装和配置)

  代码实现思路

  1. 打开浏览器

  2. 输入网址

  3. 登陆

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

  5. 下单

  配置浏览器驱动

  这里以安装 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://detail.tmall.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)
  # 标签别名
  # 匹配到二维码并且点击
  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()
  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. 下单

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

​现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:485187702【暗号:csdn11】

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走! 希望能帮助到你!【100%无套路免费领取】

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值