专栏首页从零开始学自动化测试Selenium+python自动化83-chrome手机wap模式

Selenium+python自动化83-chrome手机wap模式

一、前言

这里是群里(QQ群:226296743)风神出60大洋悬赏的问题,学会这篇就是赚了60大洋了!

我的环境: - 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 Options url = "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 = driver self._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 Options url = "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() ```

本文分享自微信公众号 - 从零开始学自动化测试(yoyoketang),作者:YOYO

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-12-01

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Selenium2+python自动化67-用例失败自动截图

    前言: 装饰器其实就是一个以函数作为参数并返回一个替换函数的可执行函数 上一篇讲到用装饰器解决异常后自动截图,不过并没有与unittest结合,这篇把截图的装...

    上海-悠悠
  • Selenium2+python自动化48-登录方法(参数化)

    前言 登录这个场景在写用例的时候经常会有,我们可以把登录封装成一个方法,然后把账号和密码参数化,这样以后用的登录的时候,只需调用这个方法就行了 一、登录方法 1...

    上海-悠悠
  • Cypress web自动化35-cy.exec()执行python命令操作数据库

    cy.exec()可以执行系统命令,获取到stdout内容,当我们要操作数据库,准备测试数据的时候,通常用python连数据库操作会非常方便。 我们可以先把操作...

    上海-悠悠
  • 自动化收邮件

    需求一:对知乎所有评论进行可视化及知识图谱建立,利用机器学习基神经网络训练知识图谱,进一步的增强用户的联系,扩充实体关联,这个就比较难了,还在进行时,哈哈~~

    公众号guangcity
  • 一日一技:在Python中双下划线私有方法不能被调用的原理

    在使用Python编写面向对象的代码时,我们会常常使用“继承”这种开发方式。例如下面这一段代码:

    青南
  • 测试驱动之excel文件与ddt模块在自动化中的引用(十三)

    在前面详细的介绍了ddt模块的安装以及在自动化项目中的使用,我们再已验证V客网登录界面为实例,来说明ddt模块在自动化中的实战,验证点分别为如下几点:

    无涯WuYa
  • Python爬虫入门教程 29-100 手机APP数据抓取 pyspider

    继续练习pyspider的使用,最近搜索了一些这个框架的一些使用技巧,发现文档竟然挺难理解的,不过使用起来暂时没有障碍,估摸着,要在写个5篇左右关于这个框架的教...

    梦想橡皮擦
  • Python爬虫新手教程:手机APP数据抓取 pyspider

    继续练习pyspider的使用,最近搜索了一些这个框架的一些使用技巧,发现文档竟然挺难理解的,不过使用起来暂时没有障碍,估摸着,要在写个5篇左右关于这个框架的教...

    一墨编程学习
  • python实现扑克牌交互式界面发牌程序

    本文实例为大家分享了python实现扑克牌交互式界面发牌程序的具体代码,供大家参考,具体内容如下

    砸漏
  • 视频logo处理-1:机型选择与成本

    选择2台:32核,64G的ECS机器,最少支持2万视频的处理/天,这个量是最低量,服务器不会有压力,做好监控(zabbix/prometheus)后不断调整各项...

    千里行走

扫码关注云+社区

领取腾讯云代金券