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其他定位方式的更多相关文章

  1. Selenium Webdriver元素定位的八种常用方式

    楼主原创,欢迎学习和交流,码字不容易,转载请注明出处,谢谢. 在使用selenium webdriver进行元素定位时,通常使用findElement或findElements方法结合By类返回的元素 ...

  2. selenium WebDriver 八种定位方式源码

    /* * 多种元素定位方式 */ package com.sfwork; import java.util.List; import org.openqa.selenium.By; import or ...

  3. Selenium Webdriver元素定位的八种常用方式(转载)

    转载自 https://www.cnblogs.com/qingchunjun/p/4208159.html 在使用selenium webdriver进行元素定位时,通常使用findElement或 ...

  4. Java + Selenium + WebDriver八大元素定位方式

    UI自动化测试的第一步就是进行元素定位,下面给大家介绍一下Selenium + WebDriver的八大元素定位方式.现在我们就以百度搜索框为例进行元素定位,如下图: 一.By.name() Java ...

  5. 爬虫-【selenium—Webdriver元素定位的八种常用方式

    在使用selenium webdriver进行元素定位时,通常使用findElement或findElements方法结合By类返回的元素句柄来定位元素.其中By类的常用定位方式共八种,现分别介绍如下 ...

  6. Selenium Webdriver元素定位的八种常用方式【转】

    在使用selenium webdriver进行元素定位时,通常使用findElement或findElements方法结合By类返回的元素句柄来定位元素.其中By类的常用定位方式共八种,现分别介绍如下 ...

  7. Selenium WebDriver 8大定位方式

    Selenium WebDriver 8大定位方式: driver.find_element_by_id() driver.find_element_by_name() driver.find_ele ...

  8. webdriver对象定位方法

    webdriver提供了一系列的对象定位方法,常用的有以下几种 · id · name · class name · link text · partial link text · tag name ...

  9. Selenium Webdriver元素定位的八种常用方法

    如果你只是想快速实现控件抓取,而不急于了解其原理,可直接看: http://blog.csdn.net/kaka1121/article/details/51878346 如果你想学习web端自动化, ...

随机推荐

  1. PostgreSQL 简明使用说明

    原文地址:http://www.ruanyifeng.com/blog/2013/12/getting_started_with_postgresql.html 期间,作者有写错的地方,已经做更改了. ...

  2. [置顶] “河软CSDN2011级表彰暨实习动员大会”顺利召开!

    9点30分 伴随着激昂的开场曲,主持人走到台前!“河软CSDN2011级表彰暨 实习动员大会即将开始,请各位嘉宾入场!”他们分别是“CSDN教育事业部总经 理李天山先生”“河北软件职业技术学院 软件工 ...

  3. Redis监控数据分布工具Redis-audit 使用总结

    Redis-audit 是一个用ruby实现的脚本,通过它,我们可以知道每一类 key 对内存的使用量.它可以提供的数据有:某一类 key 值的访问频率如何,有多少值设置了过期时间,某一类 key 值 ...

  4. EasyMock入门

    这是一个JavaProject,有关EasyMock用法详见本文测试用例 首先是用到的实体类User.java package com.jadyer.model; public class User ...

  5. gcc与g++的区别与联系

    gcc和g++都是GNU(组织)的编译器. 一.误区详解 误区一:gcc只能编译c代码,g++只能编译c++代码 两者都可以,但是请注意: 1.后缀为.c的文件,   gcc把它当作是C程序,而g++ ...

  6. Altium Designer 快速修改板子形状为Keep-out layer大小

    Altium Designer 快速修改板子形状为Keep-out layer大小 1,切换到 Keep-out layer层, 2,选择层,快捷键为S+Y: 3,设计>>板子形状> ...

  7. InnoDB的约束机制

    数据完整性 关系型数据库系统和文件系统的一个不同点是,关系数据库本身能保证存储数据的完整性,不需要应用程序的控制,而文件系统一般需要在程序端进行控制.几乎所有的关系型数据库都提供了约束(constra ...

  8. Docker集群实验环境布署--swarm【1 架构说明】

    在读完<Docker技术入门与实践>这本书后,基本上已对Docker了有一些入门的理解,以及我们为什么要使用Docker 答:我们发现在实际工作中,通过openstack一旦把一个VM创建 ...

  9. 【C#】Get the html code of a webpage

    As for the title,the console program will show you a sample which can get the webpage-code.Enjoy it: ...

  10. css学习笔记1

    :before,:after伪元素 伪元素特性(目前已经遇到的) 它不存在于文档中,所以js无法操作它 它属于主元素本身,有些伪类仅仅是代表元素内容的一部分,譬如:first-letter代表第一个字 ...