互联网科技

python webdriver中对下拉框通过文本值的选择,

作者:金沙国际官网    发布时间:2019-11-25 03:43     浏览次数 :96

[返回]

jQuery基本功知识--Form基本功(续),jquery--form

下拉框应用

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <script type="text/javascript" src="../../js/jquery-2.1.3.js"></script>
    <title></title>
    <style type="text/css">
        * { margin:0; padding:0; }
        div.centent {
            float:left;
            text-align: center;
            margin: 10px;
        }
        span {
            display:block;
            margin:2px 2px;
            padding:4px 10px;
            background:#898989;
            cursor:pointer;
            font-size:12px;
            color:white;
        }
    </style>
</head>
<body>

<div class="centent">
    <select multiple id="select1" style="width: 100px; height: 160px;">
        <option value="1">选项1</option>
        <option value="2">选项2</option>
        <option value="3">选项3</option>
        <option value="4">选项4</option>
        <option value="5">选项5</option>
        <option value="6">选项6</option>
        <option value="7">选项7</option>
        <option value="8">选项8</option>
    </select>
    <div>
        选中添加到右边&gt;&gt;
        全部添加到右边&gt;&gt;
    </div>
</div>

<div class="centent">
    <select multiple id="select2" style="width: 100px; height: 160px;">

    </select>
    <div>
        &lt;&lt;选中删除到左边
        &lt;&lt;全部删除到左边
    </div>
</div>

</body>

<script type="text/javascript">
    $(function () {

        $("#add").click(function () {
//            //方法1
//            var $options = $('#select1 option:selected');
//            var $remove = $options.remove();
//            $remove.appendTo('#select2');
            //方法2
            var $options = $('#select1 option:selected');
            $options.appendTo('#select2');
        });

        $("#add_all").click(function () {
            var $options = $("#select1 option");
            $options.appendTo("#select2");
        });

        $("#select1").dblclick(function () {
            var $options = $('#select1 option:selected');
            $options.appendTo('#select2');
        });

        $("#remove").click(function () {
            var $options = $("#select2 option:selected");
            $options.appendTo("#select1");
        });

        $("#remove_all").click(function () {
            var $options = $("#select2 option");
            $options.appendTo("#select1");
        });

        $("#select2").dblclick(function () {
            var $options = $("#select2 option:selected");
            $options.appendTo("#select1");
        });
    })
</script>

</html>

表单验证

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <script type="text/javascript" src="../../js/jquery-2.1.3.js"></script>
    <title></title>
    <link href="css/style.css" rel="stylesheet" type="text/css" />
</head>
<body>

<form method="post" action="">
    <div class="int">
        <label for="username">用户名:</label>
        <input type="text" id="username" class="required" />
    </div>
    <div class="int">
        <label for="email">邮箱:</label>
        <input type="text" id="email" class="required" />
    </div>
    <div class="int">
        <label for="personinfo">个人资料:</label>
        <input type="text" id="personinfo" />
    </div>
    <div class="sub">
        <input type="submit" value="提交" id="send" /><input type="reset" id="res" />
    </div>
</form>

</body>

<script type="text/javascript">
    $(function () {
        //添加必填标识
        $("form :input.required").each(function () {
            $(this).parent().append("<strong class='high'>*</strong>");
        });

        //当输入框失去焦点时进行验证
        $("form :input").blur(function () {
            var $parent = $(this).parent();
            $parent.find(".formtips").remove();
            //验证username
            if($(this).is("#username")) {
                if(this.value == "" || this.value.length < 6) {
                    var errorMsg = "请输入至少6位的用户名.";
                    $parent.append("" + errorMsg + "")
                } else {
                    var okMsg = "输入正确";
                    $parent.append("" + okMsg + "")
                }
            }

            //验证email
            if($(this).is("#email")) {
                if(this.value == "" || (this.value != "" && !/[email protected]+.[a-zA-Z]{2,4}$/.test(this.value) ) ) {
                    var errorMsg = "请输入正确格式的E-Mail地址";
                    $parent.append("" + errorMsg + "")
                } else {
                    var okMsg = "输入正确";
                    $parent.append("" + okMsg + "")
                }
            }

        }).keyup(function () {//实时提醒
            $(this).triggerHandler("blur");
        }).focus(function () {
            $(this).triggerHandler("blur");
        });


        //提交--没有错误才能提交
        $("#send").click(function () {
            $("form .required:input").trigger("blur");
            var numErr = $("form .onError").length;
            if(numErr) {
                return false;
            }
            alert("注册成功!");
        });
    })
</script>

</html>

 

下拉框应用 ! DOCTYPE html html head lang ="en" meta charset ="UTF-8" script type ="text/javascript" src ="../../js/jquery-2....

python webdriver中对下拉框通过文本值的筛选,

在自动化中python对下拉框的管理互连网相对实例少之又少,此外前辈写的学科中对下拉也仅仅是对立与课程来讲的,比方上边:

m=driver.find_element_by_id("ShippingMethod")
m.find_element_by_xpath("//option[@value='10.69']").click()

对下拉框后再举办质量定位的点击!

但在实质上采纳中,不容许通过value值来判别,日常都以透过当前显示的值来判别,所以教程只可以教你入门,但利用还得靠本人。

废话少说,发轫课程

生龙活虎、规范的select option格式下接框

比方上边那样后生可畏段html代码,在实质上自动化测量试验中不容许通过value值来判断,因为老是都得看value值,越多的时候是因此title值来判断的

<html>
<body>


<div class="menu_bar" style="margin: 0px 5px 0px 135px;">
  <div style="display: inline; ">
    <form style="display:inline" name="productForm" action="lib/general/navBar.php" method="get">
                       <input type='hidden' name='CSRFName' id='CSRFName' value='CSRFGuard_1522071984' />
                       <input type='hidden' name='CSRFToken' id='CSRFToken' value='a1bd2844bf055061e48b4ed7a1400f5574030db73737bbdb356ec9ab3efa0cd9de4187f0a521f28f2b2a85574d01171c674d81cdcec7410e1cca36c31e7919c0' />
       测试产品
      <select style="font-size: 80%;position:relative; top:-1px;" name="testproject" onchange="this.form.submit();">
                    <option value="2" title="test1:某某某监控系统"
            >
            test1:某某某监控系统</option>
                  <option value="12810" title="test2:某某能力平台"
            >
            test2:某某能力平台</option>
                  <option value="1332" title="test3:某某财务系统"
            >
            test3:某某财务系统</option>
                  <option value="12684" title="test4:公共平台"
            >
            test4:公共平台</option>
                  <option value="1" title="test5:北京雾霾监控"
             selected="selected" >
            test5:北京雾霾监控</option>
                  <option value="31823" title="test6:QQ对接"
            >
            test6:QQ对接</option>
                  <option value="32154" title="test7:南方都市报"
            >
            test7:南方都市报</option>
                  <option value="1528" title="test8:联通平台"
            >
            test8:联通平台/option>
                  <option value="944" title="test9:移动平台"
            >
            test9:移动平台</option>
              </select>
    </form>
  </div>
</body>
</html>

测试产品
test1:某某某监控系统
test2:某某能力平台
test3:某某财务系统
test4:公共平台
test5:北京雾霾监控
test6:QQ对接
test7:南方都市报
test8:联通平台/option>
test9:移动平台

例如我们要选拔 test6:QQ对接  该如何筛选啊,

办法一之类:

    #遍历下拉框并选择需要的项目
    select = browser.find_element_by_name("testproject")
    allOptions = select.find_elements_by_tag_name("option")

    for option in allOptions:
        print "Value is: " + option.get_attribute("value")
        print "Text is:" +option.text
        if 'test6' in option.text:
            option.click()
            break

也可用英特网的章程二:

Select(driver.find_element_by_name("testproject")).select_by_visible_text("test6:QQ对接")

但方法二必需要将文件写全才对选取,如若写错那也不能够选

 

二、用了bootstrap特效的dropdow下拉框

 如下图中的下拉框

图片 1

图片 2

品种这种用上边这种方法:

browser.find_element_by_xpath("//div[contains(@class,'chosen-c')]").click()
time.sleep(1)

lis=browser.find_elements_by_xpath("//ul[@class='chosen-results']/li")

for li in lis:
    if "行业测试" in li.text:
        i.click()
        break
time.sleep(2)

也是经过得到成分对像list来遍历,获得想要的多寡后就止住,这里注意

find_elements_by_xpath   是elements


总结:在实际自动化测试中page_object模式中,这就非常方例如将数据提取出来了


参考:http://www.bubuko.com/infodetail-1115484.html

webdriver中对下拉框通过文本值的精选, 在自动化中python对下拉框的拍卖英特网相对实例少之甚少,其余前辈写的课程中对下拉也惟有是相...

在现今无数施用中经平日会想把select给美化,以往自己为各位提供生龙活虎款无偿的jquery 模拟下拉框插件代码哦,下边是实例代码。

在当今不知凡几接纳中经常常会想把select给美化,现在自己为诸位提供大器晚成款免费的jquery 模拟下拉框插件代码哦,下边是实例代码。