用js设置下拉框为只读的小技巧,操作下拉框se

日期:2019-11-29编辑作者:明仕ms57编程

我们在做web页面自动化测试的时候会经常遇到<select></select>标签的下拉框,那么在Python里如何实现去操作这种控件呢?今天就给大家分享一下这个玩法。为了让大家学习更方便,我准备了一个测试页面。

在项目开发过程中我们时常会碰到要设置下拉框为只读(readonly),但是可惜的是select没有只读属性,所以需要在select外面包含一个span,通过js来改变。

测试的html页面代码为:

下面这段html代码是在struts2的下拉标签中加入了span标签,在页面装载的时候就让下拉框变成不可读。

<html>
<head>
<title>学Python网 - Selenium学习测试页面</title>
<body>
请选择2018年春节回家的方式!
<select id="traffic" class="form-control valid" onchange="" name="traffic">
    <option value="">买不到票</option>
    <option value="0">火车</option>
    <option value="1">飞机</option>
    <option value="2">汽车</option>
 <option value="3">轮船</option>
    <option value="4">自驾</option>
 <option value="5">摩托车</option>
 <option value="6">自行车</option>
</select>
</body>
</head>
</html>

复制代码 代码如下:

根据html源代码简单分析下,该select标签有id,那么我们就可以使用find_element_by_id来定位了,当然xpath的方式肯定也是可行的!Python代码如下:

<body onload="init()">
<span id="id_select">
<s:select name="sjdwmc" list="sjdxdwList" listKey="dxbh" listValue="dwmc" headerKey="" headerValue=""></s:select>
</span>
</body>

# Autor: 5bug
# WebSite: http://www.XuePython.wang
# 学Python网QQ群: 643829693
from selenium import webdriver
from selenium.webdriver.support.select import Select

driver = webdriver.Chrome("C:Program Files (x86)GoogleChromeApplicationchromedriver.exe")
driver.maximize_window()
driver.get('file:///E:MyCodesPythondemosXuePython.wangSeleniumTest.html')
sel =Select(driver.find_element_by_id('traffic'))
#打印所有的下拉框选项
for item in sel.options:
  print(item.text)
#选择回家方式 若要选择其他的方式则输入相对应的value参数即可
sel.select_by_value('1')

如下是js代码,在init方法中调用selectReadOnly让下拉框变成只读。

运行效果如下:

复制代码 代码如下:

图片 1

/*根据页面上span的id设置select为只读/

实际上在工作中还有一种下拉框input,这个我们后面再介绍了!这里只是给大家做个入门的引导,遇到问题的可以在QQ群里互相交流!

function selectReadOnly(selectedId){
var obj = document.getElementById(selectedId);
obj.onmouseover = function(){
obj.setCapture();
}
obj.onmouseout = function(){
obj.releaseCapture();
}
obj.onfocus = function(){
obj.blur();
}
obj.onbeforeactivate = function(){
return false;
}
}

本文首发吾八哥个人博客:http://www.5bug.wang

function init(){
selectReadOnly("id_select");
}

做到这里大功告成,试试效果吧!!!

...

本文由明仕ms577发布于明仕ms57编程,转载请注明出处:用js设置下拉框为只读的小技巧,操作下拉框se

关键词:

吾八哥学Selenium

吾八哥学Selenium。复选框checkbox和单选框radio是web网站里经常会使用到的两个控件,那么在web自动化测试的时候如何利...

详细>>

Python简介

Python是著名的“龟叔”Guido vanRossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言。 Python是用来编...

详细>>

快速导入数据至MSSQL的方法分享,jQuery通过点击行

转自 :http://www.maomao365.com/?p=5613 jQuery的已成为所有时刻的最常用和最喜爱的JavaScript框架之一。它不仅不会减少在Java...

详细>>

魅力python------if - else 语句

    if (maths == 100):get_course +=  "数学、"         get_course +=  "数学、" 2)否则提醒:很遗憾,你没有通过考试,...

详细>>