Webdriver其他定位方式
1、下拉框的定位
在遇到select下拉框的选择时,比如:
<select id="nr" name="NR">
<option selected="" value="10">每页显示10条</option>
<option value="20">每页显示20条</option>
<option value="50">每页显示50条</option>
定位方式如下:
1)、需要导入Select方法
from selenium.webdriver.support.select import Select
2)、定位到下拉框
sel = driver.find_element_by_xpath("/select[@name='NR']")
3)、选择下拉框元素
Select(sel).select_by_value('20')
2、告警框处理
对于在操作过程出出现的告警框,可以使用switch_to_alert()定位,具体的方法有:
text:返回告警中的文字信息
accept():接受告警框
dismiss():解除告警框
如:
......
alert = driver.switch_to_alert()
text = alert.text
print(text)
alert.accept()
alert.dimiss()
3、当遇到某些元素在<iframe>标签下时,需先切换到iframe下,以登录163邮箱为例:

使用switch_to.frame()切换到iframe,然后再定位用户名和密码的输入框:
......
#切换到iframe
driver.switch_to.frame("x-URS-iframe") #可以使用iframe的id或name
driver.find_element_by_name("email").clear()
driver.find_element_by_name("email").send_keys("user")
driver.find_element_by_name("password").clear()
driver.find_element_by_name("password").send_keys("password")
......
除此之外,可以通过switch_to.parent_content()方法跳出当前表单回到离它最近的的表单中,在多表单的情况下,可以使用switch_to_default_content()跳到最外层的表单。
4、多窗口切换
思路:
- 首先获得当前页面的句柄
- 通过操作打开其他页面后再获得所有的句柄信息
- 通过for语句获取所有句柄中的各个句柄,在通过if语句来判断是否是需要的句柄,若是需要的句柄,则切换到该窗口再进行操作
......
#获得当前句柄
driver.current_window_handle
#获得所有句柄
driver.window_handles
#切换窗口
driver.swith_to.window()
Webdriver其他定位方式的更多相关文章
- Selenium Webdriver元素定位的八种常用方式
楼主原创,欢迎学习和交流,码字不容易,转载请注明出处,谢谢. 在使用selenium webdriver进行元素定位时,通常使用findElement或findElements方法结合By类返回的元素 ...
- selenium WebDriver 八种定位方式源码
/* * 多种元素定位方式 */ package com.sfwork; import java.util.List; import org.openqa.selenium.By; import or ...
- Selenium Webdriver元素定位的八种常用方式(转载)
转载自 https://www.cnblogs.com/qingchunjun/p/4208159.html 在使用selenium webdriver进行元素定位时,通常使用findElement或 ...
- Java + Selenium + WebDriver八大元素定位方式
UI自动化测试的第一步就是进行元素定位,下面给大家介绍一下Selenium + WebDriver的八大元素定位方式.现在我们就以百度搜索框为例进行元素定位,如下图: 一.By.name() Java ...
- 爬虫-【selenium—Webdriver元素定位的八种常用方式
在使用selenium webdriver进行元素定位时,通常使用findElement或findElements方法结合By类返回的元素句柄来定位元素.其中By类的常用定位方式共八种,现分别介绍如下 ...
- Selenium Webdriver元素定位的八种常用方式【转】
在使用selenium webdriver进行元素定位时,通常使用findElement或findElements方法结合By类返回的元素句柄来定位元素.其中By类的常用定位方式共八种,现分别介绍如下 ...
- Selenium WebDriver 8大定位方式
Selenium WebDriver 8大定位方式: driver.find_element_by_id() driver.find_element_by_name() driver.find_ele ...
- webdriver对象定位方法
webdriver提供了一系列的对象定位方法,常用的有以下几种 · id · name · class name · link text · partial link text · tag name ...
- Selenium Webdriver元素定位的八种常用方法
如果你只是想快速实现控件抓取,而不急于了解其原理,可直接看: http://blog.csdn.net/kaka1121/article/details/51878346 如果你想学习web端自动化, ...
随机推荐
- hdu 4277 USACO ORZ (dfs暴搜+hash)
题目大意:有N个木棒,相互组合拼接,能组成多少种不同的三角形. 思路:假设c>=b>=a 然后枚举C,在C的dfs里嵌套枚举B的DFS. #include <iostream> ...
- Python-数据库支持
10.Python-数据库支持 使用数据库的好处: a.支持数据的并发访问,多个用户同时对基于磁盘的数据进行读写而不造成任何文件的损坏: b.支持根据多个数据字段或属性进行复杂的搜索: 1.如何操作数 ...
- CentOS_6.5_x64:VNC安装配置
1.安装软件前首先检查下系统是否已经安装了这个软件:rpm -qa tigervnc-server 2.根据前面命令的查询,显示系统还是没有安装VNC服务器端软件,那么我们就使用命令进行安装一下:yu ...
- ice 有道德的黑客!
ice 有道德的黑客! 在开始正文之前,请帮忙为当前 排名前 10 唯一的 .Net 开源软件 FineUI 投一票: 投票地址: https://code.csdn.net/2013OSSurve ...
- linux 高精度定时器例子
//author:DriverMonkey //phone:13410905075 //mail:bookworepeng@Hotmail.com //qq:196568501 #include &l ...
- iscroll实现移动端下拉刷新,上拉加载更多
js菜鸡-------自我记录 html页面: <!DOCTYPE html> <html> <head> <meta charset="UTF-8 ...
- VS超强调试技巧--忍不住想赞一下
你是否曾遇到一个项目启动都要半分钟? 启动后调试或突然看到有行代码写错了?然后开始了: 处理步骤:停止运行->修改代码->重新启动(10-30秒)->又写错了->又要修改-&g ...
- 【Zookeeper】源码分析之持久化--FileTxnSnapLog
一.前言 前面分析了FileSnap,接着继续分析FileTxnSnapLog源码,其封装了TxnLog和SnapShot,其在持久化过程中是一个帮助类. 二.FileTxnSnapLog源码分析 2 ...
- hibernate-部分字段查询方案
hibernate的延迟加载与本列记录不一样,延迟加载正常一般用于关联字段,或者大型字段使用. 本列的情况主要用于,某一张表有几十甚至上百个字段,例如财务报表等.但是在使用某些场景是却大多只是用其10 ...
- 使用spring-data-redis操作redis
redis.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="htt ...