selenium之测试卫星资料页面操作(元素遍历)

# 测试气象卫星资料页面功能
# author:gongxr
# date:2017-07-24
import random, time
from selenium import webdriver
from login_page import LoginPage

login_obj = LoginPage()
driver = webdriver.Chrome(executable_path=login_obj.driver_path)
time.sleep(2)  # 智能等待
driver = login_obj.login(driver)  # 登录
# 登录后默认进入综合显示分析
# time.sleep(2)

# 进入气象卫星资料页面
driver.find_element_by_link_text(‘气象卫星资料‘).click()
time.sleep(3)

# 定义变量
random_num_to_str = str(random.randint(1000, 9999))  # 随机数,保证不重复
sates = ‘‘  # 存储卫星按钮元素
plots = ‘‘  # 存储全要素填图按钮元素
lights = ""  # 存储闪电按钮元素

def sates_click():
    ‘‘‘遍历风云、葵花卫星数据展示‘‘‘
    sates = driver.find_elements_by_name(‘satellite‘)
    del sates[0]  # 默认第一个元素已经选中,跳过
    sate_last = sates[-1]
    for sate in sates:
        sate.click()
        time.sleep(2)
    sate_last.click()  # 再次点击取消显示

def plots_click():
    ‘‘‘全要素填图遍历‘‘‘
    plots = driver.find_elements_by_xpath("//li[@mode=‘station,isoline‘]")
    plots[0].click()  # 地面全要素加载较慢,单独处理
    time.sleep(5)
    for plot in plots[1:]:
        plot.click()
        time.sleep(2)

def lights_click():
    ‘‘‘闪电按钮遍历‘‘‘
    lights = driver.find_elements_by_xpath("//div[@class=‘gro_bolt‘]/ul/li")
    for light in lights:
        light.click()
        time.sleep(2)

sates_click()
plots_click()
lights_click()

# 关闭浏览器
time.sleep(2)
login_obj.quit()
时间: 2024-08-05 11:12:10

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

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

# 测试角色权限管理页面功能 # author:xr # date:2017-07-20 from selenium import webdriver from login_page import LoginPage import random, time login_obj = LoginPage() driver = webdriver.Chrome() time.sleep(2) driver = login_obj.login(driver) # 登录 driver.find_eleme

selenium 问题解决:如何使页面滚动条移动到指定元素element的位置处?

在用selenium做测试时,会遇到需要操作的元素不在当前可视页面中的情况,如果是手工测试,自然很简单,手动拖拽滚动条到目标元素处即可. 那么,selenium如何实现这种情形呢?答案是需要借助Javascript. Java代码如下: 1 WebElement target = driver.findElement(By.xpath(xPathExpression)); 2 ((JavascriptExecutor) driver).executeScript("arguments[0].sc

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

1. 其他操作元素的方法 之前我们对web元素做的操作主要是:选择元素,然后点击元素或者输入字符串. 还有没有其他的操作了呢?有. 比如:比如鼠标右键点击.双击.移动鼠标到某个元素.鼠标拖拽等. 这些操作,可以通过Selenium提供的ActionChains类来实现. ActionChains类里面提供了一些特殊的动作的模拟,我们可以通过 ActionChains 类的代码查看到,如下所示: 我们以移动鼠标到某个元素为例. 百度首页的右上角,有个更多产品选项,如下图所示: 如果我们把鼠标放在上

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

一个页面A.html使用iframe嵌套一个页面B.html,在A页面写js操作B页面HTML元素,首先要获取到B页面document对象,才能对嵌套页面进行操作 请看一个实例,在A页面写js操作B页面div的内容: A.html代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <script type="

父子页面之间元素相互操作(iframe子页面)

js/jquery获取iframe子页面中元素的方法: 一.使用window.frames["iframe的ID"]获取元素 window.onload = function() { var oIframe = window.frames["oIframe"].document.getElementById("getFrame"); console.log(oIframe); } 注意:此处一定要加上window.onload或者DOMConte

JQuery操作iframe父页面与子页面的元素与方法

JQuery操作iframe父页面与子页面的元素与方法 更新: 2011-05-05 来源: 互联网 字体:[大 中 小] - JQUERY IFRAME 下面简单使用Jquery来操作iframe的一些记录,这个使用纯JS也可以实现. 第一.在iframe中查找父页面元素的方法: $('#id', window.parent.document) 第二.在父页面中获取iframe中的元素方法: $(this).contents().find("#suggestBox") 第三.在ifr

Python3.x:Selenium中的webdriver进行页面元素定位

Python3.x:Selenium中的webdriver进行页面元素定位 页面上的元素就像人一样,有各种属性,比如元素名字,元素id,元素属性(class属性,name属性)等等.webdriver就是利用元素的这些属性来进行定位的. 可以用于定位的常用的元素属性: id name class name tag name link text partial link text xpath css selector 对应于webdriver中的定位一个元素方法分别是: driver.find_e

iframe中操作主体页面的元素,方法

在不使用三大框架的情况下,iframe的使用可以做到在页面中直接引入别的页面作为当前页面的一部分,但是在iframe的使用过程中存在一些相互之间的操作 例如在iframe中获取主页面的元素,使用主页面的js中定义的方法 第一.在iframe中查找父页面元素的方法: $('#id', window.parent.document) 第二.在父页面中获取iframe中的元素方法: $(this).contents().find("#suggestBox") 第三.在iframe中调用父页面

05_进一步操作页面的元素

前面复习: 获取文档中对象的方法: 操作标签的属性: 操作元素的样式: 案例: 前提: js/common.js代码如下: 1 /** 2 * 根据id 或者根据tagName 返回相应的元素 3 * */ 4 function getId$(id){ 5 return document.getElementById(id); 6 } 7 function getTags$(tagName) { 8 return document.getElementsByTagName(tagName) 9