1. # 测试气象卫星资料页面功能
  2. # author:gongxr
  3. # date:2017-07-24
  4. import random, time
  5. from selenium import webdriver
  6. from login_page import LoginPage
  7.  
  8. login_obj = LoginPage()
  9. driver = webdriver.Chrome(executable_path=login_obj.driver_path)
  10. time.sleep(2) # 智能等待
  11. driver = login_obj.login(driver) # 登录
  12. # 登录后默认进入综合显示分析
  13. # time.sleep(2)
  14.  
  15. # 进入气象卫星资料页面
  16. driver.find_element_by_link_text('气象卫星资料').click()
  17. time.sleep(3)
  18.  
  19. # 定义变量
  20. random_num_to_str = str(random.randint(1000, 9999)) # 随机数,保证不重复
  21. sates = '' # 存储卫星按钮元素
  22. plots = '' # 存储全要素填图按钮元素
  23. lights = "" # 存储闪电按钮元素
  24.  
  25. def sates_click():
  26. '''遍历风云、葵花卫星数据展示'''
  27. sates = driver.find_elements_by_name('satellite')
  28. del sates[0] # 默认第一个元素已经选中,跳过
  29. sate_last = sates[-1]
  30. for sate in sates:
  31. sate.click()
  32. time.sleep(2)
  33. sate_last.click() # 再次点击取消显示
  34.  
  35. def plots_click():
  36. '''全要素填图遍历'''
  37. plots = driver.find_elements_by_xpath("//li[@mode='station,isoline']")
  38. plots[0].click() # 地面全要素加载较慢,单独处理
  39. time.sleep(5)
  40. for plot in plots[1:]:
  41. plot.click()
  42. time.sleep(2)
  43.  
  44. def lights_click():
  45. '''闪电按钮遍历'''
  46. lights = driver.find_elements_by_xpath("//div[@class='gro_bolt']/ul/li")
  47. for light in lights:
  48. light.click()
  49. time.sleep(2)
  50.  
  51. sates_click()
  52. plots_click()
  53. lights_click()
  54.  
  55. # 关闭浏览器
  56. time.sleep(2)
  57. login_obj.quit()

selenium之测试卫星资料页面操作(元素遍历)的更多相关文章

  1. selenium之测试角色管理页面举例

    # 测试角色权限管理页面功能 # author:xr # date:2017-07-20 from selenium import webdriver from login_page import L ...

  2. Selenium with Python 005 - 调用js操作页面元素

    WebDriver提供了execute_script()方法来执行JavaScript方法,格式如 driver.execute_script(script,*args) 执行js一般有两种场景,一是 ...

  3. Java&Selenium调用JS实现高亮被操作页面元素高亮

    Java&Selenium调用JS实现高亮被操作页面元素高亮 /* * the method of invoking js to do something * * @author daviey ...

  4. 自动化测试-8.selenium操作元素之键盘和鼠标事件

    前言 在前面的几篇中重点介绍了一些元素的定位方法,定位到元素后,接下来就是需要操作元素了.本篇总结了web页面常用的一些操作元素方法,可以统称为行为事件 有些web界面的选项菜单需要鼠标悬停在某个元素 ...

  5. Selenium(八):其他操作元素的方法、冻结界面、弹出对话框、开发技巧

    1. 其他操作元素的方法 之前我们对web元素做的操作主要是:选择元素,然后点击元素或者输入字符串. 还有没有其他的操作了呢?有. 比如:比如鼠标右键点击.双击.移动鼠标到某个元素.鼠标拖拽等. 这些 ...

  6. selenium(3):学习操作元素基本方法

    来源:<selenium webdriver基于Python源码案例> 一.打开网页①第一步:从selenium里面导入webdriver模块②打开浏览器(Ie和Chrome对应下面的)③ ...

  7. 父页面操作嵌套iframe子页面的HTML标签元素

    一个页面A.html使用iframe嵌套一个页面B.html,在A页面写js操作B页面HTML元素,首先要获取到B页面document对象,才能对嵌套页面进行操作 请看一个实例,在A页面写js操作B页 ...

  8. Python+Selenium学习--窗口切换及操作元素

    场景 有时候我们在测试一个web 应用时会出现多个浏览器窗口的情况,在selenium1.0 中这个问题比较难处理.webdriver 提供了相关相方法可以很轻松的在多个窗口之间切换并操作不同窗口上的 ...

  9. 高并发分布式系统中生成全局唯一(订单号)Id js返回上一页并刷新、返回上一页、自动刷新页面 父页面操作嵌套iframe子页面的HTML标签元素 .net判断System.Data.DataRow中是否包含某列 .Net使用system.Security.Cryptography.RNGCryptoServiceProvider类与System.Random类生成随机数

    高并发分布式系统中生成全局唯一(订单号)Id   1.GUID数据因毫无规律可言造成索引效率低下,影响了系统的性能,那么通过组合的方式,保留GUID的10个字节,用另6个字节表示GUID生成的时间(D ...

随机推荐

  1. mysql innodb引擎 一次线上死锁分析排查步骤

    我们的线上erp系统一天使用人员反映部分数据死活保存不上而且页面操作很慢.开始以为操作数据量大的原因, 后来查看了我们线上的glowroot系统,发现slowtrace中有超长时间的访问,点开查看详情 ...

  2. AI Factorization Machine(FM)算法

    FM算法 参考链接: https://www.csie.ntu.edu.tw/~b97053/paper/Rendle2010FM.pdf

  3. C++ 指针常量和常量指针

    1.指针常量(*const):对应指针变量,即指针本身是常量,指针指向的内容可以被修改. 2.常量指针(const*):常量的指针,即指针指向的内容不能被修改,但指针本身是变量,可以被修改.

  4. 【Codeforces 332C】Students' Revenge

    Codeforces 332 C 我爱对拍,对拍使我快乐... 题意:有\(n\)个议题,学生们会让议会同意\(p\)个,其中主席会执行\(k\)个, 每一个议题执行后主席会掉\(a_i\)的头发,不 ...

  5. struts2中ajax的使用

    前面写过原生js实现ajax的博客,但是用起来不是太方便,jquery对原生的js进行了很好的封装,使用起来也更简单:但是在项目中使用了struts2,处理ajax却又不同,花了几天时间研究,终于解决 ...

  6. VMware Ubuntu蓝屏问题解决

    解决方法: 问题分析启动 Ubuntu 可以进入登录界面,说明系统是可以运行起来的.没有发生大块的核心数据损坏,linux 系统一般都可以修复,一定要淡定.于是开始放狗(google)搜索.“VMwa ...

  7. Python基础(dict 和 set) 字典和set

    dict Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度. 举个例子,假设要根据同学的名字 ...

  8. Java 大数、高精度模板

    介绍: java中用于操作大数的类主要有两个,一个是BigInteger,代表大整数类用于对大整数进行操作,另一个是BigDecimal,代表高精度类,用于对比较大或精度比较高的浮点型数据进行操作.因 ...

  9. Shell编程基础篇-上

    1.1 前言 1.1.1 为什么学Shell Shell脚本语言是实现Linux/UNIX系统管理及自动化运维所必备的重要工具, Linux/UNIX系统的底层及基础应用软件的核心大都涉及Shell脚 ...

  10. .Net core使用EF Core Migration做数据库升级

    ---恢复内容开始--- (1)VS Code下创建含有授权功能的并且使用localdb作为数据库的命令 dotnet new -au individual -uld --name identityS ...