您的位置:时时app平台注册网站 > 编程知识 > 吾八哥学Selenium(四):操作下拉框select标签的方法

吾八哥学Selenium(四):操作下拉框select标签的方法

2019-11-28 03:09
<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>

一般来讲是js代码,在init方法中调用selectReadOnly让下拉框产生只读。

js增加select下默许的option的value和text的主意,optionvalue

<pre name="code" class="java">

jsp 中的下拉框标签:

<s:select name="sjx" id="sjx" list="sjxList" listKey="BM" listValue="MC" size="20" cssStyle="width:100%;height:70px; border:0" multiple="true"></s:select>

复制代码 代码如下:

<pre name="code" class="html">

multiple="true"意思是支撑采用七个。
</pre><pre code_snippet_id="487056" snippet_file_name="blog_20141017_5_1612209" name="code" class="javascript">

js中灵活创立select标签下的项的点子:

复制代码 代码如下:

<pre name="code" class="javascript">var oSelect = $("sjx");<span style="white-space:pre"> </span>//sjx为html或jsp页面上的select标签的id,要是使用Extjs的话,能够用EXT.getDom('sjx')获取标签

var oOption = document.createElement("OPTION");<span style="white-space:pre"> </span>//js中成立select标签下的OPTION子标签
oSelect.options.add(oOption);<span style="white-space:pre"> </span>//将新建的OPTION子标签加多到select标签下
oOption.value = "001";<span style="white-space:pre"> </span>//内容对应的value值
oOption.innerHTML ="小苹果";<span style="white-space:pre"> </span>//突显的下拉框的剧情
...由此及彼

Note:js中的这种艺术,在一定的场面是相比较可行的,比如:这里号召不回去特定界面,约等于不刷新整个分界面。而是采纳Ajax格局的异步诉求做一些有的的多寡央浼,那么当时下边strut2的办法,就能不得要领。

复制代码 代码如下:

<pre name="code" class="java"><pre name="code" class="java">for(...){
HashMap<String,Object> map = new HashMap<String,Objcet>();
map.put("BM","001");
map.put("MC","小苹果");
sjxList.add(map);
}

其它豆蔻梢头种办法,也是不行常用的:利用struts2的特性,在Action中定义叁个List<Object>变量(以本例为例,命名称叫:sjxList卡塔 尔(英语:State of Qatar),并设置set、get方法。

通过贰个 HashMap 对象,增添从头到尾的经过,比方:

</pre>重回分界面时,就要分界面包车型大巴select下拉框中显得“小苹果”。

<pre name="code" class="html">最简单的一种方式: 
直接在jsp页面手动添加select标签的OPTION项 
<html> 
<body> 
<form> 
<select id="cars" name="cars"> 
<option value="volvo">Volvo</option> 
<option value="binli">Binli</option> 
<option value="mazda" selected="selected">Mazda</option> 
<option value="audi">Audi</option> 
</select> 
</form> 
</body> 
</html> 

时时app平台注册网站 1

成功这里大功告成,试试效果啊!!!

js中怎获取<option></option>之间的文件音信

var obj = document.getElementById("ci");
var txt = obj.options[obj.selectedIndex].text;
alert(txt);  

pre name="code" class="java" jsp 中的下拉框标签: s:select name="sjx" id="sjx" list="sjxList" listKey...

# 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')

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

写三个js函数,方法内容为各自alert出脚下页面<select>组件onchage时option的text与value值

function A(){
var obj = document.getElementById(”select_id”); //selectid
var index = obj.selectedIndex; // 选中索引
var text = obj.options[index].text; // 选中文本
var value = obj.options[index].value; // 选中值
alert("text=" text "value=" value)
}  

运营效果如下:

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;
}
}

实则在职业中还应该有风华正茂种下拉框input,那么些大家前边再介绍了!这里只是给大家做个入门的指导,遭遇题指标可以在QQ群里相互交换!

在项目支出进程中大家平时会境遇要安装下拉框为只读(readonly卡塔尔,可是缺憾的是select未有只读属性,所以供给在select外面蕴含叁个span,通过js来改动。

测量试验的html页面代码为:

复制代码 代码如下:

作者们在做web页面自动化测量试验的时候会时时遭遇<select></select>标签的下拉框,那么在Python里什么兑现去操作这种控件呢?先天就给大家大饱眼福一下以此游戏的方法。为了让大家学习更方便,我希图了三个测验页面。

复制代码 代码如下:

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

上边这段html代码是在struts2的下拉标签中步入了span标签,在页面装载的时候就让下拉框产生不可读。

基于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>

...

/*听说页面上span的id设置select为只读/

本文由时时app平台注册网站发布于编程知识,转载请注明出处:吾八哥学Selenium(四):操作下拉框select标签的方法

关键词: