首页 > 其他 > 详细

【Selenium9】操作按钮

时间:2014-04-08 10:07:22      阅读:653      评论:0      收藏:0      [点我收藏+]

1、处理按钮组button group

  首先找到button group的包裹view,然后层级定位查找具体按钮

用到的HTML文档
    <html>
        <head>
            <meta http-equiv="content-type" content="text/html;charset=utf-8" />
            <title>button group</title>     
            <script type="text/javascript" async="" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
            <link href="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/css/bootstrap-combined.min.css" rel="stylesheet" />      
            <script type="text/javascript">
                $(document).ready(function(){
                    $(‘.btn‘).click(function(){
                        alert($(this).text());
                    });
                });         
            </script>
        </head>
        <body>
            <h3>button group</h3>
            <div class="row-fluid">
                <div class="span3">     
                    <div class="well">
                        <div class="btn-toolbar">
                            <div class="btn-group">
                                <div class="btn">first</div>
                                <div class="btn">second</div>
                                <div class="btn">third</div>
                            </div>
                        </div>
                    </div>          
                </div>      
            </div>      
        </body>
        <script src="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/js/bootstrap.min.js"></script>
    </html>
代码
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
import os
if ‘HTTP_PROXY‘ in os.environ: del os.environ[‘HTTP_PROXY‘]
dr=webdriver.Firefox()
file_path=‘file:///‘+os.path.abspath(‘buggon_group.html‘)
dr.get(file_path)
time.sleep(2)
buttons=dr.find_element_by_class_name(‘btn-group‘).find_element_by_class_name(‘btn‘)
for btn in buttons:
if btn.text==‘second‘: print ‘find second button‘
sleep(1)
dr.quit()

2、处理button dropdown

  即点击按钮弹出下拉菜单,首先点击按钮,等待下拉菜单显示,然后层级定位获取下拉菜单中的选项

3、处理navs

  即类似tab的导航栏,一般实现是ul+li,先定位ul,再定位li,后通过link解决问题

用到的HTML文档
    <html>
        <head>
            <meta http-equiv="content-type" content="text/html;charset=utf-8" />
            <title>Navs</title>     
            <script type="text/javascript" async="" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
            <link href="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/css/bootstrap-combined.min.css" rel="stylesheet" />      
            <script type="text/javascript">
                $(document).ready(
                    function(){
                        $(‘.nav‘).find(‘li‘).click(function() {
                            $(this).parent().find(‘li‘).removeClass(‘active‘);
                            $(this).addClass(‘active‘);
                        });
                    }
                );
            </script>
        </head>
        <body>
            <h3>Navs</h3>
            <div class="row-fluid">
                <div class="span3">     
                    <ul class="nav nav-pills">
                        <li class="active">
                            <a href="#">Home</a>
                        </li>
                        <li><a href="#">Content</a></li>
                        <li><a href="#">About</a></li>
                    </ul>
                </div>      
            </div>      
        </body>
        <script src="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/js/bootstrap.min.js"></script>
    </html>

代码
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
import os
if ‘HTTP_PROXY‘ in os.environ: del os.environ[‘HTTP_PROXY‘]
dr=webdriver.Firefox()
file_path=‘file:///‘+os.path.abspath(‘navs.html‘)
dr.get(file_path)
time.sleep(2)
dr.find_element_by_class_name(‘nav‘).find_element_by_link_text(‘About‘).click()  #方法一层级定位
sleep(1)
dr.find_element_by_link_test(‘Home‘).click()  #方法二直接定位
sleep(1)
dr.quit()

4、处理面包屑

  即类似站内目录的功能,一般是获取层级关机及当前层级,

用到的HTML文档
    <html>
        <head>
            <meta http-equiv="content-type" content="text/html;charset=utf-8" />
            <title>breadcrumb</title>       
            <script type="text/javascript" async="" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
            <link href="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/css/bootstrap-combined.min.css" rel="stylesheet" />      
            <script type="text/javascript">
                $(document).ready(
                    function(){

                    }
                );
            </script>
        </head>
        <body>
            <h3>breadcrumb</h3>
            <div class="row-fluid">
                <div class="span3">     
                    <ul class="breadcrumb">
                        <li><a href="#">Home</a> <span class="divider">/</span></li>
                        <li><a href="#">Library</a> <span class="divider">/</span></li>
                        <li class="active">Data</li>
                    </ul>
                </div>      
            </div>      
        </body>
        <script src="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/js/bootstrap.min.js"></script>
    </html>

代码
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
import os
dr=webdriver.Firefox()
file_path=‘file:///‘+os.path.abspath(‘breadcrumb.html‘)
dr.get(file_path)
time.sleep(2)
dr.find_element_by_class_name(‘breadcrumb‘).find_element_by_link_text(‘Home‘).click()  #层级定位
sleep(1)
dr.quit()

【Selenium9】操作按钮,布布扣,bubuko.com

【Selenium9】操作按钮

原文:http://www.cnblogs.com/june2014/p/3651169.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!