Python+selenium+eclipse执行web自动化(三)浏览器frame及element定位

WEB页面上frame及element定位,需要先了解页面HTML结构,如下图所示:

在Firefox或者IE中按F12按键调用开发人员工具,在HTML界面可以看到页面的大体结构(也可参考http://wenku.baidu.com/view/f7f7514e763231126edb117a.html?re=view学习更多HTML内容)。首先是HTML底层,然后是head头文件和body主体文件。在此界面可使用箭头图形按钮来快速获取某个控件的对应信息,如所在frame的名称、控件的名称、ID等。

通过selenium 2.0的webdriver执行web自动化时,经常有点击某个控件后界面跳转了,或者弹出窗口的问题,此时要在新页面或者弹出窗上进行控件操作,就必须使用webdriver的switch_to_frame(targetFrameName)语句重新加载到新的界面或者弹出窗口。

以Firefox为例,使用火狐浏览器提供的firebug和firepath两种工具,以便快速页面元素定位,安装后在Firefox浏览器界面按F12可调用firebug,而firepath则集成在firebug中。如下图:

在右上角搜索栏输入iframe关键字可以搜索当前页面的frame信息,将需要的页面的frame信息提取出来后作为targetFrameName输入到上面的switch_to_frame语句中,可以实现frame间的跳转、加载。

控件信息则可使用箭头图形来快速获取(所在frame的名称、控件的名称、ID等),由于部分开发人员不同开发特点导致部分控件没有name或者id等关键信息的,可以使用firepath工具获取控件的xpath,点击firepath按钮进入firepath界面,单击箭头按钮后再点击需要定位的控件,在Xpath后的显示框即可获得该控件的xpath信息。

在脚本中使用find_element_by_xpath(xpath)语句可以定位到该控件并执行需要的操作

时间: 2024-08-08 11:26:53

Python+selenium+eclipse执行web自动化(三)浏览器frame及element定位的相关文章

Python+selenium+eclipse执行web自动化(二)启动浏览器

一.浏览器兼容性 当前selenium 2.0支持的浏览器 从selenium的__init__文件中可以查看到,我当前使用的selenium版本是2.53.2 从selenium的Webdriver模块查看__init__文件,可以看到以下代码: from .firefox.webdriver import WebDriver as Firefoxfrom .firefox.firefox_profile import FirefoxProfilefrom .chrome.webdriver

Python+selenium+eclipse执行web自动化(一)准备工作

一.安装Eclipse 具体可以参考http://jingyan.baidu.com/article/fea4511a130b59f7bb912503.html,步骤比较详细 二.搭建Python+selenium环境 具体参考http://wenku.baidu.com/link?url=p6wc6Y2mVjZBb7_FVq41372h-MX4BrRhLccHUREWZqupI6s5Wpie7_I0mFmtGyLvVjNfoFvMWTa3L8P7RSeSRLAAg5Afatr704YVLuPw

Python+selenium+eclipse执行web自动化(五)特殊控件--进度条

如上图所示,部分网页上可能会出现进度条控件,处理此控件时首先要弄清楚此控件的结构代码,如下图: 此处控件由三部分组成:进度条,滑动块,和输入框.输入框操作之前介绍过,不再讲述 进度条可通过title属性获取当前的值 具体操作时可通过ActionChains中的move_by_offset来实现滑动块的移动,具体代码如下 from selenium.webdriver.common.action_chains import ActionChains #导入ActionChains模块 browse

Python+selenium+eclipse执行web自动化(四)控件处理

元素定位后可根据页面元素的类型执行相关操作,一下使用element指代已定位的页面元素 1.输入框 包括文本输入框和密码输入框,可用操作有clear()和send_keys(),具体用法如下 element.clear()     #清空输入框当前内容element.send_keys("string") #项输入框发送字符串 2.单选框及复选框 可用操作有is_select()和click(),具体用法如下element.is_selected()   #判断当前选择控件是否被选中

RobotFramework自动化测试框架-Selenium Web自动化(三)关于在RobotFramework中如何使用Selenium很全的总结(下)

本文紧接着RobotFramework自动化测试框架-Selenium Web自动化(二)关于在RobotFramework中如何使用Selenium很全的总结(上)继续分享RobotFramework中如何使用Selenium进行自动化测试. 本文章节目录: 1.Get Value 2.Get Webelements和Get Webelement 3.Get Window Titles 4.Go Back 和 Go To 5.Get List Items 6.Get Selected List

Python+selenium+unittest的GUI自动化框架实现

框架设计说明图: 框架实现前的准备工作: 1.Python版本为2.7.11的Windows下的安装. 2.命令行下的selenium最新版本(编者使用版本为2.53.0,可兼容最新火狐.IE.chrome等浏览器版本)pip安装. 3.版本为Version: Mars.1 Release (4.5.1)的eclipse安装(编者Python开发使用工具),jdk1.7. 4.eclipse下Python开发插件PyDev 4.5.1(高版本不一定兼容当前eclipse版本与Java版本,高版本

一次完整的自动化登录测试-基于python+selenium进行cnblog的自动化登录测试

Web登录测试是很常见的测试!手动测试大家在熟悉不过了,那如何进行自动化登录测试呢!本文作者就用python+selenium结合unittest单元测试框架来进行一次简单但比较完整的cnblog自动化登录测试,给大家提供点参考!下面就包括测试代码和每种测试情况的截图: ''' cnblog的登录测试,分下面几种情况: (1)用户名.密码正确 (2)用户名正确.密码不正确 (3)用户名正确.密码为空 (4)用户名错误.密码正确 (5)用户名为空.密码正确(还有用户名和密码均为空时与此情况是一样的

Python+selenium+eclipse+pydev自动化测试环境搭建

一.        安装python 1.下载安装python 可访问python的官方网站:http://www.Python.prg找到下载页面下载需要的版本,可下载python2.x或者python3.x.对Window用户来说如果32位系统选择X86版本.如果是64位系统选择64版本.下载之后是.msi为后缀的文件,双击进行安装.按照常规安装即可. 安装后可看到如下: 打开自带的IDLE可编写程序 注意:安装的时候如果不是默认安装路径,会提示python不是内部或外部命令,可在系统变量p

robot framework 执行web自动化一次后没有log日志,重启后执行一次后也是

原因是执行完后,没有kill掉对应的 进程,可以 写个关键字来解决 一.python文件 killDriver.py 1 import os 2 3 4 def close_process(process_name): 5 """Close a process by process name.""" 6 if process_name[-4:].lower() != ".exe": 7 process_name += &quo