zoukankan      html  css  js  c++  java
  • 滑动解锁和截图

    当我们单击滑块时,改变的只是CSS样式,HTML代码段如下。

    <div class="slide-to-unlock-progress" style=" height: 36px; 0px; "></div>

    <div class-"slide-to-unlock-handle" style=" height: 38px; line-height: 38px; 37px; left:Opx;"></div>

    slide-to-unlock-handle表示滑块。在滑动过程中,滑块的左边距会逐渐变大,因为它在向右移动。

    slide-to-unlock-progress表示滑过之后的背景色,背景色的区域会逐渐增加,因为滑块在向右移动。
    from time import sleep
    from selenium import webdriver
    from selenium.webdriver import ActionChains
    from selenium.common.exceptions imnort InevnectedAlertPresentException
    driver = webdriver.Chrome()
    driver.get("https://www .helloweba.com/demo/2017/unlock/")
    #定位滑动块
    slider = driver.find_elements_by_class name ("slide-to-unlock-handle")[0]action = ActionChains(driver)

    action.click_and_hold(slider) .perform()
    for index in range(200):
      try:
      action.move_by_offset (2,0) .perform()except UnexpectedAlertPresentException:
      break
      action.reset_actions()

      sleep(0.1)#等待停顿时间
    #打印警告框提示
    success text =driver.switch_to.alert.textprint (success_text)

    在这个脚本中,用到下面几个方法。
    click_and_ hold():单击并按下鼠标左键,在鼠标事件中介绍过。
    move by offset():移动鼠标,第一个参数为r必标跖哀,第一个参数为v坐标距离。
    reset actionO):重置action。执行完成,滑动效果如图4-12所示。


    参考前面的操作,通过ActionChains类可以实现上下滑动选择日另外一种方法,即通过TouchActions类实现上下滑动选择日期。
    from time import sleep
    from selenium import webdriver
    driver - webdriver.Chrome(
    iriver.get ("http://www-jq22.com/yanshi4976")leep (2)
    river.switch_to.frame("iframe")

     

    driver.find_element by_ id("appDate").click()
    定位要滑动的年、月、日
    dwnwos= driver.find_ elements by_class_name ("dwwo")year = dwwos[0]
    month = dwwos[1]day = dwwos[2]
    action - webdriver.TouchActions(driver)
    action.scroll_from_element(year,0,5) .perform()

    action.seroll_from_element(month, 0,30).perform()

    action.scroll_from element (day,0,30).perform()

    #……
    这里使用 TouchActions类中的scroll from element()方法滑动元素,参数如下。
    on_element:滑动的元素。
    xoffset: x坐标距离。
    yoffset:y坐标距离。

    ====窗口截图===

    自动化测试用例是由程序劫行的因出右时位打印的进涅信息不够直观。如果在脚本执行出错时能够对当前窗口进行#见*但方 那过叹并可I以非常直观地看到脚本出错的原因。WebDriver提做了截图亟数cave sorooenchat可田来截取当前窗口。
    from selenium import webdriver
    driver = webdriver.Chrome()
    driver.get('http://www .baidu.com')
    手截取当前窗口,指定截图图片的保存位置
    driver.save_screenshot("./files/baidu_img.png")

    WebDriver 建议使用 png作为图片的后缀名。脚本运行完成后,会在当前files/目录中生成baidu_img.png图片。

  • 相关阅读:
    【故障处理】ORA-12162: TNS:net service name is incorrectly specified (转)
    android studio 编程中用到的快捷键
    java时间格式串
    android Error occurred during initialization of VM Could not reserve enough space for object heap Could not create the Java virtual machine.
    linux安装vmware
    x1c 2017 安装mint18的坑——grub2
    x1c2017 8G版 win linux的取舍纠结记录
    python的try finally (还真不简单)
    kafka+docker+python
    json文件不能有注释
  • 原文地址:https://www.cnblogs.com/cpas-3-org/p/13906456.html
Copyright © 2011-2022 走看看