6. 处理层级关系

在实际的测试脚本中,有可能需要获取其层级关系,以及获得当前的层级。一般来说当前层级都不会是链接,而父层级则基本是以链 接。找到所在的div或ul,然后再通过该div或ul找到下面的所有链接,这些链接就是父层级。最后不是链接的 部分就应该是当前层级了。

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>

Python Code
#coding=utf-8

from selenium import  webdriver
from time import sleep
import  os

dr = webdriver.Chrome()
file_path = ‘file:///‘ + os.path.abspath(‘breadcrumb.html‘)
dr.get(file_path)

#获得其父层级
anstors = dr.find_element_by_class_name(‘breadcrumb‘).find_elements_by_tag_name(‘a‘)
for ans in anstors:
    print(ans.text)

sleep(1)

# 获取当前层级
# 由于页面上可能有很多class为active的元素
# 所以使用层级定位最为保险

print(dr.find_element_by_class_name(‘breadcrumb‘).find_element_by_class_name(‘active‘).text)

dr.quit()
 

6. 处理层级关系

时间: 2024-10-24 04:50:40

6. 处理层级关系的相关文章

Web中树形数据(层级关系数据)的实现—以行政区树为例

在Web开发中常常遇到树形数据的操作,如菜单.组织机构.行政区(省.市.县)等具有层级关系的数据. 以下以行政区为例说明树形数据(层级关系数据)的存储以及实现,效果如图所看到的. 1 数据库表结构设计 树形数据一般通过父节点和子节点实现数据之间的层级关联,层级关系在数据库中主要通过主键和外键来实现. --使用Oracle数据库 --创建行政区表 create table TB_XZQ ( code NUMBER not null, --行政区编码,主键 parent_code NUMBER, -

Shell:进程的层级关系

[[email protected] ~]$ ps -ef | grep initroot 1 0 0 Apr24 ? 00:08:25 init [3] [[email protected] ~]$ ps -ef | head -n 1UID PID PPID C STIME TTY TIME CMD 第二三列分别是当前进程ID,父进程ID P1:0号进程fork出1号root权限的init进程,1号(注:0号进程是系统启动的第一个进程,它是所有其它进程的祖先,进程成为孤儿进程后会被0号进程接

XIB添加文件的层级关系

LZ的问题是,原来的tableViewList是在ScrollViewAD上的导致,tableView下拉时会被最新加入的scrollView挡住,是因为层级关系,如果将ScrollView作为第一个子视图,则不会影响tableView的下拉效果.

Unity NGUI和UGUI与模型、特效的层级关系

目录 1.介绍两大UI插件NGUI和UGUI 2.unity渲染顺序控制方式 3.NGUI的控制 4.UGUI的控制 5.模型深度的控制 6.粒子特效深度控制 7.NGUI与模型和粒子特效穿插层级管理 8.UGUI与模型和粒子特效穿插层级管理 写在前面 这篇笔记是整理了之前做的记录,在做项目的过程中,遇到了各种各样的界面穿插问题,界面层级混乱,比如,手机卡了或点快了,就导致两个界面相互交叉.对于界面,这应该算是一个很严重的bug,很大部分原因是整个UI框架没有从整体上考虑这个,后来决心弄清楚层级

树状结构Java模型、层级关系Java模型、上下级关系Java模型与html页面展示

树状结构Java模型.层级关系Java模型.上下级关系Java模型与html页面展示 一.业务原型:公司的组织结构.传销关系网 二.数据库模型 很简单,创建 id 与 pid 关系即可.(pid:parent_id) 三.Java模型 (我们把这张网撒在html的一张表里.其实用ul来展示会简单N多,自己思考为什么LZ会选择放在表里) private class Table {        private Long id; // 当前对象的id         private int x; /

初级篇第十期:学习查看View的层级关系

学习建议:自己动手,丰衣足食 学习周期:1周 学习目的:熟练使用Debug View Hierarchy查看View的层级关系 学习答疑:欢迎来技术群里提问并做分享 学习工具:Xcode开发环境,iOS8+ 学习内容:熟悉Xcode自带视图管理工具 这个功能很强大,早起只有收费软件Reveal可以来很好的调节iOS上UI界面的问题,那么在iOS8出来以后呢,Xcode6又更新出来一个功能,算是自带工具吧,与Reveal是类似的,不管你用IB还是纯代码,都是可以通过这个工具来查看当前程序运行界面中

Css中Position定位属性与层级关系

今天同事发现一个有意思的问题,关于position的层级关系的,他要不说我也没注意过 测试后果然有趣,有待深入研究: 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Css中Position定位属性与层级关系</title> 6 <style type="text/css"> 7 #W{ 8

UITableView和UITableViewCell在不同iOS版本的层级关系

这是我人生中的第一篇博客,兴奋,激动,哈哈!!! UITableView时iOS中非常常用的一个控件,一般情况下那几个必须实现的代理方法就够我们实现一些简单的界面了.但有时候猛然遇到一个关于tableview的问题,也会令像我这种的小白不知所措. - (NSIndexPath *)GetIndexPath:(id)sender {  UIButton        *btn = ((UIButton *)sender); UITableViewCell *cell = (UITableViewC

通用多层json递归解析,根据json层级关系直接使用: 基节点.子节点.孙节点。

package com.matol.utils; import java.io.InputStream; import java.util.ArrayList; import java.util.Iterator; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.Properties; import org.codehaus.jackson.map.Obje