selenium入门详细指南(附淘宝抢购案例)

这篇具有很好参考价值的文章主要介绍了selenium入门详细指南(附淘宝抢购案例)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

selenium是一款web自动化测试工具,可以很方便地模拟真实用户对浏览器进行操作,它支持各种主流浏览器:IE、Chrome、Firefox、Safari、Opera等。

selenium入门详细指南(附淘宝抢购案例),selenium,测试工具,软件测试,测试工程师

selenium有多种编程语言的客户端驱动,编写自动化脚本语法简洁,其中python的selenium库便非常的受欢迎。

你可以使用selenium做web测试或者爬虫,自动抢票、自动下单也可以用selenium来做。

演示自动打开淘宝网(文末会有秒抢流程):

selenium入门详细指南(附淘宝抢购案例),selenium,测试工具,软件测试,测试工程师

使用Selenium实现自动化测试,需要3个要素:

1.selenium客户端或者与特定编程语言绑定的客户端驱动,可以是python,java,js等;

2.浏览器驱动, 这个驱动是根据不同的浏览器开发的,不同的浏览器使用不同的webdriver驱动程序且需要对应相应的浏览器版本;

3.浏览器,目前selenium支持市面上大多数浏览器,如:火狐,IE等;

selenium入门详细指南(附淘宝抢购案例),selenium,测试工具,软件测试,测试工程师

安装selenium

可以使用pip或conda命令安装selenium:

pip install selenium

安装浏览器驱动

Selenium调用浏览器必须有一个webdriver驱动文件,下载好后把驱动程序放到python安装目录里即可。

各大浏览器驱动下载地址:
Firefox: https://github.com/mozilla/geckodriver/releases/

Chrome: https://sites.google.com/a/chromium.org/chromedriver/

IE: http://selenium-release.storage.googleapis.com/index.html

以Chrome为例:

selenium入门详细指南(附淘宝抢购案例),selenium,测试工具,软件测试,测试工程师

 先在设置里查看Chrome版本:selenium入门详细指南(附淘宝抢购案例),selenium,测试工具,软件测试,测试工程师

selenium入门详细指南(附淘宝抢购案例),selenium,测试工具,软件测试,测试工程师

然后下载对应的chromedrive,可以在淘宝的镜像网站下载: http://npm.taobao.org/mirrors/chromedriver/

找到对应的版本号下载,解压到python安装目录里,或者anaconda安装目录scripts文件夹里。

selenium入门详细指南(附淘宝抢购案例),selenium,测试工具,软件测试,测试工程师selenium入门详细指南(附淘宝抢购案例),selenium,测试工具,软件测试,测试工程师

selenium操作浏览器

在notebook中进行selenium的脚本编写,可以随写随调,非常方便。

首先需要从selenium中导入webdriver模块:

from selenium import webdriver

然后打开浏览器:

browser = webdriver.Chrome()

最后可以打开某网址:

browser.get("https://www.taobao.com/")

针对浏览器的主要操作方法:

  • 创建浏览器对象:driver = http://webdriver.xxx()
  • 窗口最大化:maximize_window()
  • 获取浏览器尺寸:get_window_size()
  • 设置浏览器尺寸:set_window_size()
  • 获取浏览器位置:get_window_position()
  • 设置浏览器位置:set_window_position(x,y)
  • 关闭当前标签/窗口:close()
  • 关闭所有标签/窗口:quit()

selenium定位元素

因为selenium是模仿真实点击浏览器的行为,所以必须要先定位网页元素,才能进行各种操作。

「定位页面元素的8种主要方式」

  • id定位:driver.find_element_by_id(value)
  • name属性值定位:driver.find_element_by_name(value)
  • 类名定位: driver.find_element_by_class_name(value)
  • 标签名定位: driver.find_element_by_tag_name(value)
  • 链接文本定位:driver.find_element_by_link_text(value)
  • 部分链接文本:driver.find_element_by_partial_link_text(value)
  • xpath路径表达式:driver.find_element_by_xpath(value)
  • css选择器:driver.find_element_by_css_selector(value)

selenium操作网页

定位元素后,需要对网页进行各种操作,比如点击、刷新、保存等。

点击展开新的页面,点击方法:element.click()

其他主要操作方法:

  • 请求某个url:driver.get(url)
  • 刷新页面操作:refresh()
  • 回退到之前的页面:back()
  • 前进到之后的页面:forward()
  • 获取当前访问页面url:current_url
  • 获取当前浏览器标题:title
  • 保存图片:get_screenshot_as_png()/get_screenshot_as_file(file)
  • 网页源码:page_source

使用selenium抢购商品(只供学习,不保证效果)

  1. 导入selenium相关模块
# 导入库
from selenium import webdriver
import datetime
import time打开chrome浏览器
# 记录时间
now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')
# 打开chrome 
browser = webdriver.Chrome()

2. 登录淘宝

# 登录
def login():
    # 打开淘宝首页,通过扫码登录
    browser.get("https://www.taobao.com/")
    time.sleep(3)
    # 打开登录界面
    find_login = browser.find_element_by_link_text("亲,请登录")
    if find_login:
        find_login.click()
        print("请扫码登录")
        time.sleep(10)
        
login()

3. 选择购物车列表

# 选择购物车列表
def picking(method):
    # 是否全选购物车
    if method == 0:
        while True:
            try:
                if browser.find_element_by_id("J_SelectAll1"):
                    browser.find_element_by_id("J_SelectAll1").click()
                    print('全选购物车成功')
                    break
            except:
                print(f"找不到购买按钮")
    else:
        print(f"请手动勾选需要购买的商品")
        time.sleep(1)

4. 点击结算按钮

# 点击结算按钮
def settlement():
    while True:
        try:
            if browser.find_element_by_id('J_SelectedItemsCount').text >= '1':
                browser.find_element_by_link_text("结 算").click()
                print(f"结算成功,准备提交订单")
                break
        except:
            pass

5. 点击提交订单按钮

# 点击提交订单按钮
def submitting():
    while True:
        try:
            if browser.find_element_by_link_text('提交订单'):
                browser.find_element_by_link_text('提交订单').click()
                print(f"抢购成功,请尽快付款")
                break
        except:
            print(f"再次尝试提交订单")

6. 开始执行抢购

def run(times):
    # 打开购物车列表页面
    print('正在抢购!')
    browser.get("https://cart.taobao.com/cart.htm")
    time.sleep(3)
    while True:
        now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')
        # 对比时间,时间到的话就点击结算
        if now > times:
            # 全选购物车
            picking(0)
            # 点击结算按钮
            settlement()
            # 提交订单
            submitting()
            print(now)
            break

结论

selenium还有很多强大的功能,后续会继续分享,也期待大家留言说说你的selenium使用心得。

最后补充一句,因为selenium涉及操作网页,所以需要使用者有一定的html知识储备,大家学之前可以先去看看html基础知识。

如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!

学习上

作为一个软件测试的过来人,我想尽自己最大的努力,帮助每一个伙伴都能顺利找到工作。所以我整理了下面这份资源,现在免费分享给大家,有需要的小伙伴可以关注【公众号:开心螺蛳粉】自提!

selenium入门详细指南(附淘宝抢购案例),selenium,测试工具,软件测试,测试工程师

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。selenium入门详细指南(附淘宝抢购案例),selenium,测试工具,软件测试,测试工程师

selenium入门详细指南(附淘宝抢购案例),selenium,测试工具,软件测试,测试工程师

行动吧,在路上总比一直观望的要好,未来的你肯定会感谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入群:1150305204,里面有各种测试开发资料和技术可以一起交流哦。文章来源地址https://www.toymoban.com/news/detail-830855.html

到了这里,关于selenium入门详细指南(附淘宝抢购案例)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python自动化测试工具selenium使用指南 ,绝对能帮到你

    目录 概述 python+selenium环境安装 使用selenium启动浏览器 selenium页面加载等待和检测 使用time.sleep()等待 使用implicitly_wait设置最长等待时间 使用WebDriverWait设置等待条件 检测document是否加载完成 selenium元素定位和读取 查找元素 dom元素交互 查找元素失败处理 selenium交互控制 Actio

    2024年02月08日
    浏览(53)
  • 测试员进阶必看系列 “ python自动化测试工具selenium使用指南 ”

    概述 python+selenium环境安装 使用selenium启动浏览器 selenium页面加载等待和检测 使用time.sleep()等待 使用implicitly_wait设置最长等待时间 使用WebDriverWait设置等待条件 检测document是否加载完成 selenium元素定位和读取 查找元素 dom元素交互 查找元素失败处理 selenium交互控制 ActionChains动

    2024年02月05日
    浏览(112)
  • 双11自制Python淘宝秒杀抢购脚本代码,女朋友夸个不停 !

    大家好,我是不学前端的前端程序员, 事情是这个样子的,最近不是双十一预购秒杀嘛 由于我女朋友比较笨,手速比较慢,就一直抢不到,她没抢到特价商品就不开心, 她不开心,我也就不能跟着开心,就别提好好打游戏了 为了解决这个问题,就决定写一个自动定时抢购的

    2024年02月19日
    浏览(51)
  • 我制作了python脚本自动抢购淘宝秒杀产品,学会优先享受双十一福利

    每到双十一,各位男性朋友们就要大吐血了,万一女朋友想要的东西还没有抢到,就要更加… 所以我便创造了这个自动抢购的脚本,希望对你们有用 思路很简单,就是让“程序”帮我们自动打开浏览器,进入淘宝,然后到购物车等待抢购时间,自动购买并支付。 导入模块,

    2024年02月11日
    浏览(52)
  • 安全测试工具Burpsuit和OWASP ZAP使用入门指南

    安装: 网上有很多相关相关保姆级别教程,所以这里不加赘述了 尽量使用java8版本,破解版兼容8做的比较好 如果发现注册机无法打开或者能打开注册机【run】无法点击唤起软件安装,可以使用命令行工具 java -jar burp-loader-keygen.jar java -Xbootclasspath/p:burp-loader-keygen.jar -jar burps

    2024年02月05日
    浏览(55)
  • 网安工具 | Windows便携式渗透测试环境PentestBox入门到进阶使用指南

    [ 点击 👉 关注「 全栈工程师修炼指南」公众号 ] 微信改版了,现在看到我们全凭缘分,为了不错过【全栈工程师修炼指南】重要内容及福利,大家记得按照上方步骤设置「接收文章推送」哦~ 希望各位看友多多支持【关注、点赞、评论、收藏、投币】,助力每一个梦想。 【

    2024年02月08日
    浏览(48)
  • Git快速入门篇—— Windows版本淘宝镜像快速下载安装详细步骤及简单入门教程(附带图文教程)

    前言:我们平时在整理代码的时候,尤其是与别人一起开发项目的时候,常常涉及到代码的更新,因此代码版本问题成了一个很头痛的事。而git正是为了解决这种问题而诞生。本文将详细介绍如何通过淘宝镜像进行git的安装以及git的简单入门技巧。 下一章: git与远程仓库的交

    2024年02月03日
    浏览(89)
  • 秒杀抢购案例,基于 Redis 实现

    目录 1、关于全局唯一 ID 生成器 1.1 需要满足的特性 1.2 代码实现 1.3 其他的唯一 ID 生成策略 2、实现秒杀下单 2.1 超卖问题的产生 2.2 超卖问题的分析与解决 2.21 悲观锁与乐观锁  2.22 乐观锁中的两种常用方案        ▶️version 版本控制方案 ▶️CAS方案 2.3 实现一人一单 2.4

    2024年02月08日
    浏览(43)
  • Selenium库编写爬虫详细案例

    一、引言 Selenium作为一个强大的自动化测试工具,其在网络爬虫领域也展现出了许多技术优势。首先,Selenium可以模拟浏览器行为,包括点击、填写表单、下拉等操作,使得它能够处理一些其他爬虫工具无法应对的情况,比如需要登录或者页面使用了大量JavaScript渲染的情况。

    2024年02月04日
    浏览(37)
  • Selenium使用指南(超详细)

    🍅 视频学习:文末有免费的配套视频可观看 🍅  关注公众号【互联网杂货铺】,回复 1  ,免费获取软件测试全套资料,资料在手,涨薪更快 selenium是网页应用中最流行的自动化测试工具,可以用来做自动化测试或者浏览器爬虫等。官网地址为:相对于另外一款web自动化测

    2024年01月21日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包