常用操作

click

点击某个元素
driver.find_element_by_id(“su”).click()
 
clear
driver.find_element_by_id(“kw”).clear()
 
send_keys
模拟键盘输入
driver.find_element_by_id(“kw”).send_keys(“hello”)
from selenium.webdriver.common.keys import Keys
driver.find_element_by_id(“kw”).send_keys(Keys.RETURN)
 
获取元素的状态:
是否显示:element.is_displayed()
是否被选中:button_elem.is_selected()
是否enable:element.is_enabled()

提交表单

表单在网页中主要负责数据采集功能。

填写完表单之后,我们需要提交表单。有两个方法可以提交表单。

方法一:找到提交表单的button元素(或其他种类),进行点击操作
driver.find_element_by_id(“submit_button”).click()

方法二:调用submit()方法
每个元素都有一个submit()方法。如果该元素在表单内,WebDriver会自己寻找form的闭包然后在它上面调用submit方法;如果该元素不在表单内,则raise一个NoSuchElementException 。
driver.find_element_by_id(“su”).submit()

拖拽操作

from selenium.webdriver import ActionChains

source_ele=driver.find_element_by_name(“source”)

target_ele=driver.find_element_by_name(“target”)

ActionChains(driver).drag_and_drop(source_ele,target_ele)

切换window

 
driver.switch_to_window(“windowName”)

切换frame

 
driver.switch_to_frame(“frameName”)
driver.switch_to_frame(“frameName.0.childName”)

弹出框

切换到alert,并且返回当前打开的alert对象。

alert=driver.switch_to_alert()
 
alert.accept()
alert.dismiss()
alert.text()
alert.send_keys(“hello”)
 

Cookie

cookie={“name”:”cookie_name”,’value’:’cookie_value’}
driver.add_cookie(cookie)
all_cookies=driver.get_cookies()
for cookie_name,cookie_value in all_cookies.items():
Print “%s->%s”%(cookie_name,cookie_value) driver.delete(“cookieName”)
driver.delete_all_cookies()

键盘事件

常用键盘键

Keys.RETURN
Keys.ENTER
Keys.TAB
 
from selenium.webdriver.common.keys import Keys
driver.find_element_by_id(“kw”).send_keys(Keys.RETURN)
driver.find_element_by_id(“kw”).send_keys(Keys.CONTROL,’a’)
driver.find_element_by_id(“kw”).send_keys(u”百度一下”)

鼠标右击

from selenium.webdriver import ActionChains

ActionChains(driver).context_click(su_elem).perform()

鼠标双击

ActionChains(driver).double_click(su_elem).perform()

selenium webdriver python 元素操作的更多相关文章

  1. selenium webdriver python 元素定位

    总结   定位查找时,返回查找到的第一个match的元素.如果找不到,则 raise NoSuchElementException   单个元素定位: find_element_by_idfind_e ...

  2. Selenium webdriver Java 元素操作

    本来这些东西网上一搜一大堆,但是本着收集的精神,整理一份放着吧!哈!哈!哈! 1. 输入框(text field or textarea) WebElement element = driver.fi ...

  3. selenium webdriver (python) 第三版

    感谢 感谢购买第二版的同学,谢谢你们对本人劳动成果的支持!也正是你们时常问我还出不出第三版了,也是你们的鼓励,让我继续学习整理本文档. 感谢乙醇前辈,第二版的文档是放在他的淘宝网站上卖的,感谢他的帮忙 ...

  4. selenium webdriver (python)

    selenium webdriver (python) 第一版PDF Posted on 2013-08-30 22:59 虫师 阅读(221) 评论(0) 编辑 收藏 前言 如果你是一位有pytho ...

  5. Selenium WebDriver + python 自动化测试框架

    目标 组内任何人都可以进行自动化测试用例的编写 完全分离测试用例和自动化测试代码,就像写手工测试用例一下,编写excel格式的测试用例,包括步骤.检查点,然后执行自动化工程,即可执行功能自动化测试用例 ...

  6. Selenium WebDriver + Python 环境配置

    1.   下载必要工具及安装包 1.1.[Python开发环境] 下载并安装Python 2.7.x版本(当前支持2.x版本,不要下载最新的3.X的版本因为python3并非完全兼容python2) ...

  7. 【转】Selenium WebDriver + Python 环境

    转自:http://www.myext.cn/webkf/a_11878.html 1. 下载必要工具及安装包 1.1 [Python开发环境] 下载并安装Python 2.7.x版本 下载地址:ht ...

  8. selenium webdriver (python) 第二版

    前言 对于大多软件测试人员来讲缺乏编程经验(指项目开发经验,大学的C 语言算很基础的编程知识)一直是难以逾越的鸿沟,并不是说测试比开发人员智商低,是国内的大多测试岗位是功能测试为主,在工作时间中,我们 ...

  9. selenium webdriver (python)2

    selenium webdriver (python) 第二版 前言  对于大多软件测试人员来讲缺乏编程经验(指项目开发经验,大学的C 语言算很基础的编程知识)一直是难以逾越的鸿沟,并不是说测试比开发 ...

随机推荐

  1. Android ViewPager 打造炫酷欢迎页

    Android ViewPager 打造炫酷欢迎页 ViewPager是Android扩展v4包中的类,这个类可以让用户切换当前的View.对于这个类的应用场景,稍加修改就可以应用到多个环境下.比如: ...

  2. shell脚本中echo显示内容带颜色

    转自:http://www.cnblogs.com/lr-ting/archive/2013/02/28/2936792.html shell脚本中echo显示内容带颜色显示,echo显示带颜色,需要 ...

  3. INSTALL_PARSE_FAILED_MANIFEST_MALFORMED 错误

    在eclipse编译好文件之后,往AVD中安装apk,报错如下:INSTALL_PARSE_FAILED_MANIFEST_MALFORMED一般来说只需要检查AndroidManifest.xml中 ...

  4. CSS从大图中抠取小图完整教程(background-position应用) (转)

    自认为把background-position的应用讲得非常通俗易懂的教材.做个记号. 相信很多喜欢研究网页界面的童鞋都遇到过一个奇妙的现象:网页中很多图片素材被合成在一张图片上. 起初小菜模仿网站的 ...

  5. 自定义鼠标Cursor转变成图片

    今天无意做到项目遇到一个好玩的事情,就是当我鼠标移到一个链接上面,并不是像正常那样出现一个小手,而是变成一个小十字架, 下面看图当时第一眼看到总感觉哪里不对,噢噢噢噢 这样的 小手没了,居然是一个图片 ...

  6. Asp.Net操作WebServices

    最近在看一些关于webServices的资料,做了一个下例子整理一下,主要包括.net平台下创建services服务.后台访问和前端Ajax访问三部分. 一.创建webServices服务. 1.打开 ...

  7. Objective-C 类,函数调用

    // // main.m // L02HelloObjC // // Created by JinXin on 15/11/25. // Copyright © 2015年 JinXin. All r ...

  8. 日期Calendar/Date的用法

    package cn.jason.datas; import java.util.Date;import java.text.ParseException;import java.text.Simpl ...

  9. 嵌入式开发(一) Ubuntu12.04下搭建交叉编译环境

    操作系统:Ubuntu12.04 AMD64位 交叉编译环境:arm-Linux gcc版本4.4.3 前言: 首先理解一下交叉编译的意思.我们要给嵌入式设备写应用程序,但是又不能在嵌入式设备上完成所 ...

  10. 事件的委托处理(Event Delegation)

    javascript的事件模型,采用”冒泡”模式,也就是说,子元素的事件会逐级向上”冒泡”,成为父元素的事件. 利用这一点,可以大大简化事件的绑定.比如,有一个表格(table元素),里面有100个格 ...