selenium python (七)层级定位(二次定位)
#!/usr/bin/python
# -*- coding: utf-8 -*-
__author__ = 'zuoanvip'
#在实际测试过程中,一个页面可能有多个属性基本相同的元素,如果要定位到其中的一个,这时候需要用到层级定位。先定位到父元素,然后再通过父元素定位子孙元素
#导入包
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains
import time
import os
driver = webdriver.Firefox()
#checkbox.html 要和脚本文件放一个目录下,否则需要指定checkbox.html的路径
file_path = 'file:///'+os.path.abspath('level_locate.html')
driver.get(file_path)
#首先定位到Link1链接(弹出下拉列表)
driver.find_element_by_id('xx').click()
#在父元素下找到link为Action的子元素
sub_element = driver.find_element_by_id('xx').find_element_by_link_text('Another_action')
#将鼠标移动到子元素上
ActionChains(driver).move_to_element(sub_element).perform()
time.sleep()
======================================================================================
level_locate页面源代码:
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<title>Level Locate</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" />
</head>
<body>
<h3>Level locate</h3>
<div class="span3">
<div class="well">
<div class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="#">Link1</a>
<ul class="dropdown-menu" role="menu" aria-labelledby="dLabel" id="dropdown1" >
<li><a tabindex="-1" href="#">Action</a></li>
<li><a tabindex="-1" href="#">Another action</a></li>
<li><a tabindex="-1" href="#">Something else here</a></li>
<li class="divider"></li>
<li><a tabindex="-1" href="#">Separated link</a></li>
</ul>
</div>
</div>
</div>
<div class="span3">
<div class="well">
<div class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="#">Link2</a>
<ul class="dropdown-menu" role="menu" aria-labelledby="dLabel" >
<li><a tabindex="-1" href="#">Action</a></li>
<li><a tabindex="-1" href="#">Another action</a></li>
<li><a tabindex="-1" href="#">Something else here</a></li>
<li class="divider"></li>
<li><a tabindex="-1" href="#">Separated link</a></li>
</ul>
</div>
</div>
</div>
</body>
<script src="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/js/bootstrap.min.js"></script>
</html>
转载于:https://www.cnblogs.com/dvbbs2012/p/5022626.html
selenium python (七)层级定位(二次定位)相关推荐
- [Python从零到壹] 九.网络爬虫之Selenium基础技术万字详解(定位元素、常用方法、键盘鼠标操作)
欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所有文章都将结合案例.代码和作者的经验讲 ...
- 【UWB 定位】高精度定位
室内定位--UWB测距及定位原理 我们都知道卫星信号在室内会被严重的影响,从而导致GPS或是北斗无法发定位.所以在室内定位主要采用无线通讯.基站定位.惯导定位等多种技术集成形成一套室内位置定位体系,从 ...
- selenium python 一些操作和定位收集
(-)滚动条操作 python中selenium操作下拉滚动条方法汇总 selenium_webdriver(python)控制浏览器滚动条 selenium+Python(select定位) Sel ...
- Appium+python自动化(十)- 元素定位秘籍助你打通任督二脉 - 上卷(超详解
简介 你有道灵光从天灵盖喷出来你知道吗,年纪轻轻就有一身横练的筋骨,简直百年一见的练武奇才啊,如果有一天让你打通任督二脉,那还不飞龙上天啊.正所谓我不入地狱谁入地狱,警恶惩奸维护世界和平这个任务就交个 ...
- Selenium+Python如何定位鼠标悬停的元素
Selenium+Python如何定位鼠标悬停的元素? 下面以登录百度后,鼠标悬停在个人中心,点击[退出登录]为例. Selenium+Python如何定位鼠标悬停的元素? 一.环境 二.代码 三.定 ...
- selenium+python,解决selenium弹出新页面,无法定位元素的问题(报错:Unable to locate element:元素)
selenium+python,解决selenium弹出新页面,无法定位元素的问题(报错:Unable to locate element:元素) 参考文章: (1)selenium+python,解 ...
- python定位相邻节点_Python selenium 父子、兄弟、相邻节点定位方式详解
今天跟大家分享下selenium中根据父子.兄弟.相邻节点定位的方法,很多人在实际应用中会遇到想定位的节点无法直接定位,需要通过附近节点来相对定位的问题,但从父节点定位子节点容易,从子节点定位父节点. ...
- selenium+python:元素定位的八种方式
id,name,class_name(这三种是元素的属性,而selenium单独针对这三种属性提供了对应的定位方法) tag_name(这个针对标签名称定位) link_text,partial_li ...
- Appium+python自动化(十)- 元素定位秘籍助你打通任督二脉 - 上卷(超详解)
简介 你有道灵光从天灵盖喷出来你知道吗,年纪轻轻就有一身横练的筋骨,简直百年一见的练武奇才啊,如果有一天让你打通任督二脉,那还不飞龙上天啊.正所谓我不入地狱谁入地狱,警恶惩奸维护世界和平这个任务就交个 ...
- python自动测试u_自动化测试——Selenium+Python之下拉菜单的定位
1.通过selenium.webdriver.support.ui的Select进行定位 下拉菜单如下图: 定位代码(选择Male): from selenium.webdriver.support. ...
最新文章
- 折线分割平面(hdoj 2050,动态规划递推)
- 利用 RDA5807的RSSI测量RF强度
- 狗蛋(驱动小白)和老王(硬件老司机)关于硬件那点事儿的一次密谈
- mysql 并发_mysql如何处理高并发
- 2020Alibaba数学竞赛决赛试题
- 深入浅出JMS(三)--ActiveMQ简单的HelloWorld实例
- php设置页面最小高度,HTML_CSS布局中最小高度的妙用,最小高度可以设定一个BOX的最 - phpStudy...
- 因未交赎金,世界航天巨头机密文档遭勒索软件公开
- aop日志(记录方法调用日志)
- android gps导航省电,具有省电功能的gps导航系统及其省电方法
- 安全事件应急响应工具箱
- Netron 可视化Pytorh模型架构
- 300行python代码从零开始构建基于知识图谱的电影问答系统4-用户问题预处理
- 弘辽科技:如何制定淘宝店铺推广计划?店铺推广包含哪些方面?
- 数仓实时数据同步 debezium
- 智能纪元,简述NVIDIA的伟大航路
- mybatis-plus打印sql日志和参数到日志文件
- python 输出图像尺寸_Opencv-Python:图像尺寸、图像的读取、显示、保存与复制
- Linux使用aircrack-ng破解WIFI(wpa/wpa2)密码
- 台式计算机无法启动不了,台式机和笔记本电脑主机启动不了常见原因解决方法...