下面将使用WebDriver来模拟操作:选择一个Navigation bar的选项
测试用例场景
Navigation Bar可以看作是简单的类似于tab的导航栏。一般来说导航栏都是ul+li。先定位ul再去层级定位li中的link基本就能解决问题(一般情况下)
Python脚本
测试用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 class="test"><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>
测试用Python代码:
from selenium import webdriver from selenium.webdriver.common.keys import Keys from time import sleep import os dr = webdriver.Firefox() file_path = 'file:///' + os.path.abspath('nav.html') dr.get(file_path) dr.find_element_by_class_name('nav').find_element_by_class_name('test').click() sleep(5) dr.quit()