前言

我的环境

  • chrome 62
  • chromedriver 2.33

遇到问题

1.登录手机版淘宝时候,验证码无法通过点击事件触发
[wap版淘宝](https://login.m.taobao.com/msg_login.htm?spm=0.0.0.0)

F12手机模式

1.按f12,点下图按钮(Toggle device toolbar)切换成手机模式

2.切换成手机模式后发现输入手机号后,手动操作是可以触发验证码的

chrome设置手机模式

1.添加Options配置,设置成手机模式访问

# coding:utf-8
from selenium import webdriver
from selenium.webdriver.chrome.options import Optionsurl = "https://login.m.taobao.com/msg_login.htm?spm=0.0.0.0"mobile_emulation = {"deviceName":"iPhone 6"}
options = Options()
options.add_experimental_option("mobileEmulation", mobile_emulation)
driver = webdriver.Chrome(chrome_options=options)driver.get(url)

2.这里的deviceName点开设备选项,选择一个手机设备名称

TouchActions

1.这里输入手机号后,用click点‘获取验证码’是无效的,这时候需要换个思维,用TouchActions里面的tap触摸方式去触发‘获取验证码’按钮

2.TouchAction里面的几个用法

class TouchAction(object):def __init__(self, driver=None):self._driver = driverself._actions = []def tap(self, element=None, x=None, y=None, count=1):模拟手指触摸屏def press(self, el=None, x=None, y=None):短按:模拟手指按住一个元素,或者坐标def long_press(self, el=None, x=None, y=None, duration=1000):长按:模拟按住一个元素,或者坐标def wait(self, ms=0):按住元素后的等待时间def move_to(self, el=None, x=None, y=None):移动手指到另外一个元素,或者坐标,注意这里坐标不是绝对坐标,是偏移量def release(self):释放手指def perform(self):执行前面的动作

参考代码

# coding:utf-8
from selenium import webdriver
from selenium.webdriver.common.touch_actions import TouchActions
from selenium.webdriver.chrome.options import Optionsurl = "https://login.m.taobao.com/msg_login.htm?spm=0.0.0.0"# 设置成手机模式
mobile_emulation = {"deviceName":"iPhone 6"}
options = Options()
options.add_experimental_option("mobileEmulation", mobile_emulation)
driver = webdriver.Chrome(chrome_options=options)driver.get(url)driver.find_element_by_id("username").send_keys("yoyoketang")# 触摸事件
el = driver.find_element_by_id('getCheckcode')
TouchActions(driver).tap(el).perform()

seleniumQQ群:646645429

selenium+python自动化84-chrome手机wap模式相关推荐

  1. Chrome手机调试模式

    chrome给提供了手机调试模式,只需要点击一下手机图标即可

  2. selenium+python自动化81-html报告优化(饼图+失败重跑+兼容python23)

    优化html报告 为了满足小伙伴的各种变态需求,为了装逼提升逼格,为了让报告更加高大上,测试报告做了以下优化: 测试报告中文显示,优化一些断言失败正文乱码问题 新增错误和失败截图,展示到html报告里 ...

  3. selenium+python自动化80-文件下载(不弹询问框)

    前言 上一篇是点弹出框上的按钮去保存文件,本篇介绍一种更加优雅的方法,加载Firefox和Chrome的配置文件,不弹出询问框后台下载. 一.FirefoxProfile 1.点下载的时候,如下图,如 ...

  4. selenium+python自动化82-只截某个元素的图

    前言 selenium截取全图小伙伴们都知道,曾经去面试的时候,面试官问:如何截图某个元素的图?不要全部的,只要某个元素...小编一下子傻眼了, 苦心人,天不负,终于找到解决办法了. selenium ...

  5. selenium+python自动化(完整脚本一)

    from selenium import webdriver import time from selenium.webdriver.support.select import Select driv ...

  6. selenium+python自动化77-autoit文件上传【转载】

    前言 关于非input文件上传,点上传按钮后,这个弹出的windows的控件了,已经跳出三界之外了,不属于selenium的管辖范围(selenium不是万能的,只能操作web上元素).autoit工 ...

  7. selenium python自动化文件下载_selenium+python自动化79-文件下载(SendKeys)【转载】...

    前言 文件下载时候会弹出一个下载选项框,这个弹框是定位不到的,有些元素注定定位不到也没关系,就当没有鼠标,我们可以通过键盘的快捷键完成操作. SendKeys库是专业的处理键盘事件的,所以这里需要用S ...

  8. selenium+python自动化,数据驱动实例

    1.读取txt read() 读取整个文件. readline() 读取一行数据. readlines() 读取所有行的数据. 例: #coding=utf-8 from selenium impor ...

  9. Python 自动化 - 浏览器chrome打开F12开发者工具自动Paused in debugger调试导致无法查看网站资源问题原因及解决方法,javascript反调试问题处理实例演示

    这是 JavaScript 常用的手法用于网站方保护源码不被大家轻易的查看到,会一直循环调用 function anonymous() {debugger} 方法使网页始终处于调试状态,干扰大家查看网 ...

最新文章

  1. hdu 2063+hdu 1083(最大匹配数)
  2. Aix5.3安装Bash环境
  3. JavaScript正在完善—解释
  4. 西安工业大学计算机全国排名,西安工业大学北方信息工程学院排名2018年下滑14名 在独立学院中实力排全国第138名...
  5. python pdb调试快捷键_python pdb调试以及sublime3快捷键设置
  6. 【Antlr】识别常见的词法结构
  7. Python 3.6模拟输入并爬取百度前10页密切相关链接
  8. 关于缓存穿透,缓存击穿,缓存雪崩,热点数据失效问题的解决方案
  9. shell基础之多功能nginx(安装、重启、停止等)
  10. Python多进程实现原理
  11. 微粒群算法(二、案例实现)
  12. sql查询按周查询出现的跨年问题
  13. 跨域的同时设置headers信息
  14. CR渲染器全景图如何渲染颜色通道_无需凤凰流体,就可以制作3D火焰效果?「渲云渲染」...
  15. Win11用户名和密码备份方法
  16. HDMI设计1--HDMI 1.4b SPEC的阅读个人总结
  17. cdq分治和整体二分
  18. python 中文语音播报,用Python实现语音播报
  19. 九龙证券|一夜暴跌36%,美股走势分化,标普指数创近2月最差周度表现
  20. NTC 10k-25°C

热门文章

  1. Linux下sar命令的使用
  2. highchairs绘图随记
  3. Apache Shiro 使用手册
  4. spring配置datasource三种方式
  5. Block Formatting Context
  6. C/C++:sizeof('a')的值为什么不一样?
  7. 2011年中国程序员薪水调查报告
  8. redis事务和脚本
  9. Linux tree命令
  10. Android开发之底部导航栏标准