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

posted @ 2020-08-05 12:53  janehost  阅读(583)  评论(0编辑  收藏  举报