• selenium + robotframework下拉框常用操作_更新版



    直接进入正题,对于使用robotframework编写自动化用例时,经常会碰到各种下拉框,下面详情说明各种下拉框的操作。

    div格式的下拉框

    源码如下

    <ul class="select2-results" xpath="1">
    	<li class="select2-results-dept-0 select2-result select2-result-selectable">
    		<div class="select2-result-label">
    			<span class="select2-match"></span>------请选择------</div>
    	</li>
    	<li class="select2-results-dept-0 select2-result select2-result-selectable">
    		<div class="select2-result-label">
    			<span class="select2-match"></span>中级职称及以下</div>
    	</li>
    	<li class="select2-results-dept-0 select2-result select2-result-selectable">
    		<div class="select2-result-label">
    			<span class="select2-match"></span>副高</div>
    	</li>
    	<li class="select2-results-dept-0 select2-result select2-result-selectable">
    		<div class="select2-result-label">
    			<span class="select2-match"></span>正高</div>
    	</li>
    	<li class="select2-results-dept-0 select2-result select2-result-selectable">
    		<div class="select2-result-label">
    			<span class="select2-match"></span>院士</div>
    	</li>
    	<li class="select2-results-dept-0 select2-result select2-result-selectable select2-highlighted">
    		<div class="select2-result-label">
    			<span class="select2-match"></span>全国知名专家
    		</div>
    </li>
    </ul>
    

    页面显示如图

    image-20200804154113858

    定位方法

    用户管理-职级级别-副高
        click element    xpath=//div[@id='s2id_jobInfo']//span[@class='select2-chosen']
        sleep    3
        click element    xpath=//li[5]//div[1]
    

    如图:

    image-20200805124719083

    直接使用 xpath=//li[5]//div[1]即可定位下拉框中的[副高]元素。

    这里推荐一个很好用的xpath定位工具ChroPath,不管是谷歌还是火狐浏览器都可以使用的。

    当然还有其他格式的如select-option类型的下拉框,也可以采用这种定位方式操作的,这里暂时没遇到,暂时留个悬念吧......

    滚动条操作

    在元素定位时经常会遇到提示元素找不到,首先排查是否在iframe框架;如果确认没有iframe框架,还有一种可能是当前可见区域没有找到该元素,需要滚动滚动条才能看到。当时在执行自动化用例时对于同一个用例偶然会出现执行结果不一样的操作,后来经过排查是滚动条在作怪~

    使用关键字Excute Javascript运行Javascript脚本,如下

    # 将滚动条置于页面顶部
    Excute Javascript document.documentElement.scrollTop=1000
    # 将滚动条置于页面底部
    Excute Javascript document.documentElement.scrollTop=0

    如图

    image-20200805124837485

    img

  • 相关阅读:
    Project Euler 81:Path sum: two ways 路径和:两个方向
    Project Euler 80:Square root digital expansion 平方根数字展开
    Project Euler 79:Passcode derivation
    lintcode 中等题:Intersection of Two Linked Lists 两个链表的交叉
    lintcode 中等题:Divide Two Integers 两个数的除法
    lintcode 中等题 :Maximum Product Subarray 最大连续乘积子序列
    lintcode:First Missing Positive 丢失的第一个正整数
    山丘
    在山的那边
    lintcode :Ugly Numbers 丑数
  • 原文地址:https://www.cnblogs.com/LOVEYU/p/13439086.html
Copyright © 2020-2023  润新知