selenium python (八)定位frame中的对象
#!/usr/bin/python
# -*- coding: utf-8 -*-
__author__ = 'zuoanvip'
#在测试过程中经常遇到frame嵌套的应用,加入页面上有A、B两个frame,B在A内,那么要找到B中的元素,则首先应找到A然后再到B。可以通过switch_to_frame
from selenium import webdriver
import os
#打开页面
driver = webdriver.Firefox()
file_path = 'file:///' + os.path.abspath('frame.heml')
driver.get(file_path)
#等待30s
driver.implicitly_wait(30)
#先找到id=f1的frame
driver.switch_to_frame('f1')
#再找到id=f2的frame
driver.switch_to_frame('f2')
#接下来定位frame2里面的元素
driver.find_element_by_id('kw').send_keys('selenium')
driver.find_element_by_id('su').click()
==========================================================================================
frame的源代码:
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<title>frame</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>
<div class="row-fluid">
<div class="span10 well">
<h3>frame</h3>
<iframe id="f1" src="inner.html" width="800" height="600"></iframe>
</div>
</div>
</body>
<script src="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/js/bootstrap.min.js"></script>
</html>
---------------------------------------
inner的源代码:
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<title>inner</title>
</head>
<body>
<div class="row-fluid">
<div class="span6 well">
<h3>inner</h3>
<iframe id="f2" src="http://www.baidu.com" width="700" height="400">
</iframe>
</div>
</div>
</body>
</html>
转载于:https://www.cnblogs.com/dvbbs2012/p/5023555.html
selenium python (八)定位frame中的对象相关推荐
- Selenium+Python如何定位鼠标悬停的元素
Selenium+Python如何定位鼠标悬停的元素? 下面以登录百度后,鼠标悬停在个人中心,点击[退出登录]为例. Selenium+Python如何定位鼠标悬停的元素? 一.环境 二.代码 三.定 ...
- python是动态_Python中的对象和动态性 [菜鸟的理解,高手莫入]
当我们谈到python时常常会说python中一切都是对象,字符串是对象,整数型是对象,标准库中的对象当然也是对象,class本身也是对象,类型(type)也是对象. 但是初学的时候会错误地认为,既然 ...
- python 如何删除frame 中的 label标签控件_玩转图形界面编程—解析Python小挑战No12(2)...
<Python真好玩,教孩子学编程>小挑战[转载] 第十二章,玩转图形界面编程书籍<Python真好玩,教孩子学编程> 讲解了如何通过tkinter模块来完成图形交互界面 tk ...
- python self 序列_python中序列化对象
# 序列化对象p1 import pickle # 内置库 class People: def __init__(self, name, a ...
- python 惰性属性_python中惰性对象
惰性对象是什么? 首先需要明确啥是惰性计算(lazy evaluation):是指仅仅在真正需要执行的时候才计算的表达式的值.充分利用其特点 可以带来很多的便利 1. 避免不必要的计算,带来性能的提升 ...
- selenium python 一些操作和定位收集
(-)滚动条操作 python中selenium操作下拉滚动条方法汇总 selenium_webdriver(python)控制浏览器滚动条 selenium+Python(select定位) Sel ...
- selenium python 文本框输入信息_selenium python向富文本框中输入内容
基于本人不会JavaScript,不能像大神一样写出很牛X的方法,只能使用者屌丝方法了,不过很容易理解. 我使用的是ueditor富文本框 1.我的富文本框是在一个iframe中,进入iframe的方 ...
- selenium python实例录制运行_WEB自动化测试工具selenium录制器使用笔记
简介 selenium录制器是最近刚流行起来的一个WEB自动化测试工具,由多测测团队开发. Selenium录制器采用关键字驱动的理念,简化测试用例的创建和维护,可以直接运行在浏览器中,就像真正的用户 ...
- java中String对象和String变量
2019独角兽企业重金招聘Python工程师标准>>> java中String对象和String变量 (2011-12-27 20:40:27) 转载▼ 标签: it 最近在论坛上看 ...
最新文章
- 把我的爱送给你――C#3.5(这题目似乎写错了)
- mysql延时优化教程_Mysql优化之延迟索引和分页优化_MySQL
- mysql作为tidb从库配置
- 01-SpringMVC 原理
- ViewPager 详解(二)---详解四大函数
- php xml 接口调用,php的SimpleXML方法读写XML接口文件实例解析
- 有关试用Silverlight OOB模式遇到的一些问题
- C语言 最小二乘 向量旋转 欧拉方法求洛伦兹方程
- 错误empty character constant的解决办法
- 最简单的TCP网络封包解包(补充)-序列化
- 明解C语言(基础篇)—第七章
- c语言sobel边缘检测,Sobel边缘检测的FPGA实现
- 计算机游戏实践报告,关于在校学生玩电脑游戏的调查报告
- 开发实用Linux命令
- 普罗米修斯-Grafana 面板
- 【OpenCV计算机视觉基础】HSB的色调、饱和度和亮度概念
- 在linux中使用tcpdump命令 – 监听网络流量
- ImageMagick将多张图片拼接成一张图片_word转存技巧:如何将每页文档转换为图片保存?...
- 怎么做一名合格的测试工程师
- Vim注释插件vim-commentary
热门文章
- 非模态的titlewindow,点击外部时的事件
- 简单的家庭无线路由设置
- 如何DoDelete(Delete)中的Delete文本值传到DoDelete方法,报错信息为:Delete未定义!...
- Shell Sort 希尔排序 收藏
- 【LDA学习系列】M-H采样python代码
- 【正一专栏】评《我的前半生》——我们需要怎样的价值观
- eclipse部署android开发环境
- Leetcode 102. 二叉树的层次遍历 解题思路及C++实现
- 关于Apache mod_rewrite的中文配置、使用和语法介绍(实现URL重写和防盗链功能)
- 无法访问某个网站_企业网站排名回升后,快速下跌是什么原因?