您的位置:软件测试 > 开源软件测试 > 开源功能测试工具 > Selenium
轻松自动化---selenium-webdriver(python)
作者:网络转载 发布时间:[ 2013/8/9 13:21:18 ] 推荐标签:

  id 和 name

  --------------------------------------------------------------------------------

  id 和 name 是我们常用的定位方式,因为大多数控件都有这两个属性,而且在对控件的id 和name命名时一般使其有意义也会取不同的名字。通过这两个属性使我们找一个页面上的属性变得相当容易

  我们通过前端工具,找到了百度输入框的属性信息,如下:

  <input id="kw" class="s_ipt" type="text" maxlength="100" name="wd" autocomplete="off">

  id=”kw”

  通过find_element_by_id("kw") 函数是捕获到百度输入框

  name=”wd”

  通过find_element_by_name("wd")函数同样也可以捕获百度输入框

  tag name 和class name

  --------------------------------------------------------------------------------

  从上面的百度输入框的属性信息中,我们看到,不单单只有id 和 name两个属性,比如class 和 tag name(标签名)

  <input>

  input 是一个标签的名字,可以通过find_element_by_tag_name("input") 函数来定位。

  class="s_ipt"

  通过find_element_by_class_name("s_ipt")函数捕获百度输入框。

  但是,碰下面的一组控件属性,我们哭了。

<th width="95"></th>
<th width="">文件名</th>
<th class="c1">创建时间</th>
<th class="c1">状态</th>
<th class="c1">文件大小</th>
<th class="c1">时长</th>

  下面的css 和 XPath没有上面的那么直观,如果不懂前端的话可能不太好理解

  CSS定位

  --------------------------------------------------------------------------------

  CSS(Cascading Style Sheets)是一种语言,它被用来描述HTML和XML文档的表现。CSS使用选择器来为页面元素绑定属性。这些选择器可以被selenium用作另外的定位策略。

  CSS的比较灵活可以选择控件的任意属性,上面的例子中:

  find_element_by_css_selector("#kw")

  通过find_element_by_css_selector( )函数,选择取百度输入框的id属性来定义

  也可以取name属性

<a href=http://news.baidu.com name="tj_news">新 闻</a>
driver.find_element_by_css_selector("a[name="tj_news"]").click()

  可以取title属性

<a onclick="queryTab(this);" mon="col=502&pn=0" title="web" href=http://www.baidu.com/>网页</a>driver.find_element_by_css_selector("a[title="web"]").click()

  也可以是取..:

<a class="RecycleBin xz" href="javascript:void(0);">
driver.find_element_by_css_selector("a.RecycleBin").click()

  虽然我也没全部理解CSS的定位,但是看上去应该是一种非常灵活和牛X 的定位方式

  扩展阅读:

  http://www.w3.org/TR/css3-selectors/

  http://www.w3school.com.cn/css/css_positioning.asp

上一页123下一页
软件测试工具 | 联系我们 | 投诉建议 | 诚聘英才 | 申请使用列表 | 网站地图
沪ICP备07036474 2003-2017 版权所有 上海泽众软件科技有限公司 Shanghai ZeZhong Software Co.,Ltd