使用selenium打开浏览器,模拟人工进行淘宝的登陆活动可以在网上找到两种解决方案。

第一种方案是打开网站后,通过find_element_by_xpath 依次寻找用户名录入框,密码录入框,登陆按钮点击框。如果有滑块的话,还需要找到滑块,模拟操作滑块移动到右方。

第二种方案是使用pyautogui中的图像匹配功能,需要提前将用户名登陆框,登陆按钮截图作为匹配模板,找到每一部分在屏幕上的位置,使用pyautogui.leftClick 模拟点击屏幕,pyautogui.typewrite(username) 模拟键盘输入,即可。由于pyautogui是屏幕操作,所以必须保证selenium打开的浏览器窗口当前处于活跃状态。

笔者在尝试的时候,使用的是firefox浏览器,在这两种方法里输入密码的时候均出现滑块,而滑块操作代码无效,或许firefox也需要有一些额外的设置,最终还是在Chrome下成功。

        # 初始化浏览器if tag == 'Firefox':binary = FirefoxBinary("D:\\Program Files\\firefox\\firefox.exe")self.browser = webdriver.Firefox(firefox_binary=binary)else:options = webdriver.ChromeOptions()options.add_experimental_option('excludeSwitches', ['enable-automation'])  self.browser = webdriver.Chrome(options=options)

此处初始化Chrome浏览器时,重要的一点是必须开启开发者模式, 也就是这块options.add_experimental_option('excludeSwitches', ['enable-automation'])  ,如果不开启,那么滑块必然会出现,开启后,还没有发现有滑块出现。

第一种方案

self.browser.find_element_by_xpath('//input[@name="fm-login-id"]').send_keys(username)
self.browser.find_element_by_xpath('//input[@name="fm-login-password"]').send_keys(password)
self.browser.find_element_by_xpath('//*[@id="login-form"]/div[4]/button').click()  # 第一次点击登录按钮

查找用户名录入框,录入用户名,查找密码录入框,录入密码,尝试点击登陆按钮。

第二种方案

        # 进入登陆窗口self.browser.get('https://login.taobao.com/member/login.jhtml')# 匹配用户名录入框coords = pyautogui.locateOnScreen('D:\\input.png')if coords is not None:x, y = pyautogui.center(coords)# 点击用户名录入框pyautogui.leftClick(x, y)pyautogui.typewrite(username)pyautogui.press('tab')pyautogui.typewrite(password)# 匹配登陆按钮coords = pyautogui.locateOnScreen('D:\\login.png')if coords is not None:x, y = pyautogui.center(coords)# 点击登陆按钮pyautogui.leftClick(x, y)

先匹配用户名录入框,找到之后模拟点击,输入用户名,随后模拟Tab按钮,切换焦点到密码录入框,再录入密码。随后匹配登陆按钮,模拟点击登陆按钮,即可。

此处需要注意的是pyautogui打开图片时,路径应该采用绝对路径名,且不支持中文。我的python文件是在中文目录下,一开始使用 pyautogui.locateOnScreen('input.png') 提示有错误,应该是无法找到文件。随后换到一个英文路径下,也不行。只有采用一个绝对路径名才不报错。

滑块功能现在还没有尝试成功,留待下次再试。

2021年10月07日

参考以下文章

selenium淘宝登录和滑块破解最新可用

通过selenium+pyautogui模拟登陆淘宝(完美实现)

selenium模拟淘宝登陆相关推荐

  1. Python selenium模拟淘宝登陆

    通过selenium定位到各个元素,通过相关操作(如输入框的输入,按钮的点击等)来模拟人的真实操作流程 流程是通过绕个圈子,用微博账号登陆来绕过淘宝登陆,不过事先需要将微博账号与淘宝账号进行绑定 下面 ...

  2. Python+Selenium模拟淘宝滑块并爬取商品数据

    注:如果侵犯了Alibaba的权益,请联系我删除. 上一篇博客已经完成了模拟淘宝登陆,本节主要记录如何爬取淘宝商品列表页数据,同时如何模拟人的操作完成滑块的验证. 代码如下: #encoding=ut ...

  3. python模拟淘宝登陆_【Python】selenium模拟淘宝登录

    # -*- coding: utf-8 -*- from selenium import webdriver from selenium.webdriver.common.by import By f ...

  4. python+selenium+phantomjs 模拟淘宝登陆

    一段时间前,微信群里有小伙伴在问如何模拟登陆淘宝.对于这样的需求我很乐意折腾,我也在网上看了一些大神写的,不用第三方组件,"纯模拟"实现的难度太大了,各种参数,可见淘宝安全机制且高 ...

  5. Java利用selenium模拟淘宝登录

    代码实现 import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium ...

  6. 自学爬虫项目(二)一一利用selenium模拟淘宝登录,爬取商品数据

    文章目录 前言 一.明确目标 二.分析过程 三.代码封装 总结 前言 你是否还在为学习Python没有方向而苦恼?快来跟着壹乐一起学习吧!让我们共同进步! 今天我们用selenium与Beautifu ...

  7. selenium 淘宝登陆购买,基础实现

    主要实现基础的淘宝登陆搜索及购买. 利用selenium + chrome,当然,这个还有以下两个问题: 1. 不够稳定,还有些细节可以做 2. 没封装 先实现流程吧 from selenium im ...

  8. Python使用Selenium实现淘宝网滑块登陆

    下载chrome浏览器的对应版本自动化驱动 查看本机安装的chrome浏览器版本 点击设帮助-------->点击关于chrome--------->查看版本信息 进入驱动下载地址,找到对 ...

  9. python+selenium实现淘宝双十一自动下单

    python+selenium实现淘宝双十一自动下单 思路/工具参考我的另一篇文章python+selenium实现京东秒杀脚本 1. 扫码登录版 # !/usr/bin/env python # 2 ...

最新文章

  1. Error: Invoke-customs are only supported starting with Android O (--min-api 26)
  2. SQL优化常用方法41
  3. 删除隐藏版本信息 版本回退_Git系列之-分布式版本控制Git详解
  4. 关于在linux下搭建VSFTP下匿名不能上传的问题
  5. 七十九、Springboot 整合 Elasticsearch
  6. Ubuntu18.04彻底删除MySQL数据库
  7. 很多人都不知道学了c/c++到底能做什么?让大牛来告诉你............
  8. hibernater面试一
  9. C#算法设计查找篇之03-插值查找
  10. AcWing 蓝桥杯C++ AB组辅导课学习记录(Python,备战蓝桥杯)Day31 - Day60
  11. 如何提高程序员的键盘使用效率?
  12. Nginx目录结构、编译参数、状态码概述
  13. 最优化学习 拟牛顿法(Quasi-Newton Method)
  14. 小程序登录问题--登录函数getUserInfo()写在app.js中,首次加载无法获取后台处理过的用户的信息,刷新一次后就可以获取的解决
  15. c语言动态分配输出学生成绩,C语言之:结构体动态分配内存(利用结构体数组保存不超过10个学生的信息,每个学生的信息包括:学号、姓名和三门课(高数、物理和英语 )的成绩和平均分(整型)。)...
  16. 梅尔加尼服务器状态,梅尔加尼服务器第二界闪光平原暴力竞走大赛
  17. mysql餐馆点餐系统_课内资源 - 基于Jsp和MySql的餐厅点餐系统
  18. Skyline系列软件(综述)
  19. 工业机器人技术试题_工业机器人技术题库及答案
  20. Unity3d如何实现UGUI.Text的UV流动效果

热门文章

  1. 深圳网络信息安全员(NSACE初级)认证招生简章
  2. 求根公式在python里怎么表达_python求根公式
  3. 卡塞格伦天线 matlab,(第四章)口径天线.ppt
  4. 赛灵思MPSOC裸机下的 USB调试实验
  5. lda主题模型python实现篇_基于LDA主题模型的短文本分类
  6. 用matlab拟合多元函,matlab 多元函数拟合 - 计算模拟 - 小木虫 - 学术 科研 互动社区...
  7. 免费的微软认证考试券又双叒叕来了 Microsoft Ignite 2022
  8. 虚拟主机做app服务器,虚拟主机能装app吗
  9. WINDOWS程式设计--窗体和消息机制
  10. 主题网络爬虫研究综述