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)

相关推荐

  • Python Selenium异常处理的实例分析

    1.说明 在使用selenium时,不可避免的会遇到一些异常情况,比如超时.没有找到节点的错误等等.一旦出现这样的错误,程序就不能再运行了.这里我们可以使用tryexcept语句来捕捉异常. 2.实例 from selenium import webdriver from selenium.common.exceptions import TimeoutException, NoSuchElementException browser = webdriver.Chrome() try: brow

  • Python 中的Selenium异常处理实例代码

    自动化测试执行过程中,难免会有错误/异常出现,比如测试脚本没有发现对应元素,则会立刻抛出NoSuchElementException异常.这时不要怕,肯定是测试脚本或者测试环境哪里出错了!那如何处理才是关键?因为一般只是局部有问题,为了让脚本继续执行,so我们可以用try...except...raise捕获异常.该捕获异常后可以打印出相应的异常原因,这样以便于分析异常原因. 下面将举例说明,当异常抛出后将信息打印在控制台,同时截取当前浏览器窗口,作为后续bug的依据给相应开发人员更好下定位问题

  • 解决selenium模块利用performance获取network日志请求报错的问题(亲测有效)

    目录 报错翻译 报错原因 解决方法 已解决selenium模块利用performance获取network日志请求,抛出异常selenium.common.exceptions.InvalidArgumentException: Message: invalid argument: log type ‘performance’ not found 报错问题 一个小伙伴遇到问题跑来私信我,想用selenium模块利用performance获取network日志请求,但是发生了报错(当时他心里瞬间凉

  • Python中的Selenium异常处理

    在进行爬虫爬取淘宝商品信息时候,利用selenium来模拟浏览器进行爬取时遇到了这个问题: selenium.common.exception.WebDriverException:Message:'chromedriver' executable needs to be in Path 详细如下图所示: 这一错误是因为没有配置好chromedriver,怎么配置呢?(我用的是chrome) 1.打开chrome 输入 “chrome://version/”来查看chrome版本 如图我的是63

  • Selenium常见异常解析及解决方案示范

    pycharm中导入selenium报错 现象: pycharm中输入from selenium import webdriver, selenium标红 原因1: pycharm使用的虚拟环境中没有安装selenium, 解决方法: 在pycharm中通过设置或terminal面板重新安装selenium 原因2: 当前项目下有selenium.py,和系统包名冲突导致, 解决方法,重命名这个文件 驱动及本地服务类异常 未找到响应的浏览器驱动 WebDriverException: Messa

  • 教你利用Selenium+python自动化来解决pip使用异常

    一.pip异常 有一小部分童鞋在打开cmd输入pip后出现下面情况:Did not provide a command Did not provide a command?这是什么鬼? 正常情况应该是酱紫 二.解决办法 1.pip是一个.exe的可执行文件,在cmd输入pip.exe就可以解决了 2.所以在后面的安装指令中都需要带上后缀,那么问题来了,为什么会出现这种情况,如何彻底解决? 三.配置环境变量 1.主要原因是环境变量的PATHEXT里面缺少.EXE的文件名 2.在PATHEXT下编辑

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

    目录 前言 前期准备 代码实现思路 配置浏览器驱动 确定浏览器版本 下载驱动 测试是否成功 代码实现 最后 前言 学python对selenium应该不陌生吧 Selenium 是最广泛使用的开源 Web UI(用户界面)自动化测试套件之一.Selenium 支持的语言包括C#,Java,Perl,PHP,Python 和 Ruby.目前,Selenium Web 驱动程序最受 Python 和 C#欢迎.Selenium 测试脚本可以使用任何支持的编程语言进行编码,并且可以直接在大多数现代 W

  • Python如何基于selenium实现自动登录博客园

    这篇文章主要介绍了Python如何基于selenium实现自动登录博客园,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 需要做的准备: 本文章是使用Chrome,所以需要Chormedriver.exe,具体的下载过程可以百度查到 Selenium是一种自动化测试工具,能模拟浏览器的行为,所以今天我就模拟一下浏览器登陆博客园的行为. 首先,分析问题,登陆博客园需要做些什么: 1.打开浏览器 2.输入博客园主页的网址 3.点击登陆按钮,等待页面跳

  • python爬虫之利用selenium模块自动登录CSDN

    一.页面分析 CSDN登录页面如下图 二.引入selenium模块及驱动 2.1 并将安装好的Chromedriver.exe引入到代码中 # -*- coding:utf-8 -*- from selenium import webdriver import os import time #引入chromedriver.exe chromedriver="C:/Users/lex/AppData/Local/Google/Chrome/Application/chromedriver.exe&

  • Python完全识别验证码自动登录实例详解

    1.直接贴代码 #!C:/Python27 #coding=utf-8 from selenium import webdriver from selenium.webdriver.common.keys import Keys from pytesser import * from PIL import Image,ImageEnhance,ImageFilter from selenium.common.exceptions import NoSuchElementException,Tim

  • Python利用Selenium实现自动观看学习通视频

    目录 一.登录 二.进行一个页面的视频观看 三.所有视频的观看 四.总代码 其他 一.登录 以信号与系统课程为例,直接输入网址则出现登录界面: 由于学号登录需要验证码,因此选择电话登录: 直接在开发者工具中找到手机号输入框.密码输入框和登录按钮,并进行输入和点击: import time from selenium.webdriver import Chrome web = Chrome() web.get('https://mooc2-ans.chaoxing.com/mycourse/stu

  • Python模拟键盘输入自动登录TGP

    #-*- coding: utf-8 -*- import win32api,win32gui, win32con import os import time #os.startfile('D:\\Program Files\\Tencent\\TGP\\tgp_daemon.exe') #time.sleep(5) label = u"腾讯游戏平台" #根据窗口名获取窗口句柄, h = win32gui.FindWindow('Edit','') #Ex = win32gui.Fin

  • 使用python实现baidu hi自动登录的代码

    复制代码 代码如下: # _*_ coding:utf-8 _*_# name login_baidu.pyimport urllib,urllib2,httplib,cookielibdef auto_login_hi(url,name,pwd):    url_hi="http://passport.baidu.com/?login"    #设置cookie    cookie=cookielib.CookieJar()    cj=urllib2.HTTPCookieProce

  • 利用Selenium添加cookie实现自动登录的示例代码(fofa)

    介绍 Selenium可以模拟浏览器进行自动化操作,但一些网站需要进行登录才能进行一些操作,比起输入账号密码,cookie是更加方便的.而且fofa首先登录邮箱账号时获得的cookie并不是fofa的cookie,因此我们直接选择利用fofa的cookie进行自动登录.但是selenium需要先打开一个网站才会加载进去cookies,因此我们需要将cookies写在代码中,加载进去 扩展 get_cookies(): 获得所有cookie信息. get_cookie(name): 返回字典的ke

  • python+selenium实现京东自动登录及秒杀功能

    本文实例为大家分享了selenium+python京东自动登录及秒杀的代码,供大家参考,具体内容如下 运行环境: python 2.7 python安装selenium 安装webdriver(这里是firefox) 其中selenium可以采用pip安装: pip install selenium webdriver下载地址 需要注意的是,webdriver的目录.对应浏览器的目录,都要添加到path. 代码如下: # _*_coding:utf-8_*_ from selenium impo

  • Python使用selenium实现网页用户名 密码 验证码自动登录功能

    好久没有学python了,反正各种理由吧(懒惰总会有千千万万的理由),最近网上学习了一下selenium,实现了一个简单的自动登录网页,具体如下. 1.安装selenium: 如果你已经安装好anaconda3,直接在windows的dos窗口输入命令安装selenium: python -m pip install --upgrade pip 查看版本pip show selenium 2.接着去http://chromedriver.storage.googleapis.com/index.

随机推荐