ActionChains类鼠标操作的常用方法:

引入ActionChains类:from selenium.webdriver.common.action_chains import ActionChains

context_click()    右击

——如:RightClick = driver.find_element_by_id("id")

ActionChains(driver).context_click(RightClick).perform()

double_click()    双击

——如:DoubleClick = driver.find_element_by_name("name")

ActionChains(driver).double_click(DoubleClick).perform()

drag_and_drop(source, target)    鼠标拖放

——source:鼠标按下的源元素;target:鼠标释放的目标元素

——如:element = driver.find_element_by_name("name")

target = driver.find_element_by_name("name")

ActionChains(driver).drag_and_drop(element, target).perform()

move_to_element()    鼠标悬停在一个元素上

——如:above = driver.find_element_by_xpath("xpath路径")

ActionChains(driver).move_to_element(above).perform()

click_and_hold()    按下鼠标左键在一个元素上

——如:left = driver.find_element_by_name("name")

ActionChains(driver).click_and_hold(left).perform()

键盘事件:

引入Keys类包:from selenium.webdriver.common.keys import Keys

send_keys()    输入框输入内容

——如:driver.find_element_by_id("id").send_keys("XXX")

send_keys(Keys.BACK_SPACE)    向左删除一个字符                                              ——如:driver.find_element_by_id("id").send_keys("XXX")

send_keys(Keys.SPACE)    输入空格

——如:driver.find_element_by_id("id").send_keys(Keys.SPACE)

send_keys(Keys.CONTROL,‘a‘)    ctrl+a 全选输入框的内容

——如:driver.find_element_by_id("id").send_keys(Keys.CONTROL,‘a‘)

send_keys(Keys.CONTROL,‘x‘)    ctrl+x 剪切输入框的内容

——如:driver.find_element_by_id("id").send_keys(Keys.CONTROL,‘x‘)

send_keys(Keys.CONTROL,‘v‘)    ctrl+v 粘贴到输入框

——如:driver.find_element_by_id("id").send_keys(Keys.CONTROL,‘v‘)

send_keys(Keys.ENTER)    回车代替点击

——如:driver.find_element_by_id("id").send_keys(Keys.ENTER)

send_keys(Keys.TAB)    制表键(Tab)

——如:driver.find_element_by_id("id").send_keys(Keys.TAB)

send_keys(Keys.ESCAPE)    回退键(Esc)

——如:driver.find_element_by_id("id").send_keys(Keys.ESCAPE)

send_keys(Keys.CONTROL,‘c‘)    复制

——如:driver.find_element_by_id("id").send_keys(Keys.CONTROL,‘c‘)

打印信息

#获得title并打印

title = driver.title

print title

#拿当前title名称进行预期比较

if title == u"百度一下,你就知道":

  print "title yes!"

else:

  print "title no!"

#获得当前URL并打印

url = driver.current_url

print url

等待时间

#导入 WebDriverWait 包
from selenium.webdriver.support.ui import WebDriverWait
#导入 time 包
import time

sleep()    设置固定等待时间

——如:time.sleep(5)  #等待5秒

implicitly_wait()    等待一个元素被发现,或一个命令完成,超出了设置时间则抛出异常

——如:driver.implicitly_wait(30)

driver.find_element_by_id("id").click()

WebDriverWait()    在设置时间内,默认每隔一段时间检测检测一次当前页面元素是否存在,如果超过设置时间检测不到则抛出异常

WebDriverWait(driver, timeout, poll_frequency=0.5, ignored_exceptions=None)

——driver:WebDriver 的驱动程序(Ie, Firefox, Chrome 或远程)

——timeout:最长超时时间,默认以秒为单位

——poll_frequency:休眠时间的间隔(步长)时间,默认为 0.5 秒

——ignored_exceptions:超时后的异常信息,默认情况下抛 NoSuchElementException 异常

——如1:element = WebDriverWait(driver, 10).until(lambda x : x.find_element_by_id("id"))

element.send_keys("selenium")

——如2:element = WebDriverWait(driver, 10).until(lambda x: x.find_element_by_id(“Id”))

is_disappeared = WebDriverWait(driver, 30, 1, (ElementNotVisibleException)).until_not(lambda x: x.find_element_by_id(“someId”).is_displayed())

WebDriverWai()一般由 unit()或 until_not()方法配合使用:

——until(method, message=’’)
      调用该方法提供的驱动程序作为一个参数,直到返回值不为 False。
——until_not(method, message=’’)
      调用该方法提供的驱动程序作为一个参数,直到返回值为 False。

定位一组对象

#选择当前页面上所有tag name为input的元素

inputs = driver.find_elements_by_tag_name(‘input‘)

#从中过滤出type为checkbox的元素,并勾选上

for input in inputs:

  if input.get_attribute(‘type‘) == ‘checkbox‘:

    input.click()

#使用CSS定位选择所有type为checkbox的元素,并勾选上

checkboxes = driver.find_elements_by_css_selector(‘input[type=checkbox]‘)

for checkbox in checkboxes:

  checkbox.click()

#把最后一个checkbox的勾去掉    pop()为空则是最后一个

driver.find_elements_by_css_selector(‘input[type=checkbox]‘).pop().click()

python selenium--常用函数3相关推荐

  1. python Pool常用函数用法总结

    在本篇内容里小编给大家整理的是一篇关于python Pool常用函数用法总结内容,有需要的朋友们可以学习下. 1.说明 apply_async(func[,args[,kwds]):使用非堵塞调用fu ...

  2. Python中常用函数

    Python中常用函数 1.range( )函数 函数定义: range(stop) range(start, stop[, step]) 返回值:返回一个递增或递减的数字列表,列表的元素值由三个参数 ...

  3. blankcount函数python,Python pandas常用函数详解

    本文研究的主要是pandas常用函数,具体介绍如下. 1 import语句 2 文件读取 df = pd.read_csv(path='file.csv') 参数:header=None 用默认列名, ...

  4. Python正则表达式-常用函数的基本使用

    常用函数有 re.match().re.search() .re.sub().compile().findall().finditer().split() re.match() 匹配字符串开头,常用来 ...

  5. python一些常用函数_【python】常用的一些内置函数

    1.cmp cmp(A,B)函数,比较A,B的大小,如果A大于B,返回1,A小于B返回-1,A等于B返回0 print cmp(12,33) >>>-1 print cmp(&quo ...

  6. python 正则替换_5分钟速览Python正则表达式常用函数!五分钟就掌握它!

    导读:正则表达式是处理字符串类型的"核武器",不仅速度快,而且功能强大.本文不过多展开正则表达式相关语法,仅简要介绍python中正则表达式常用函数及其使用方法,以作快速查询浏览. ...

  7. python的常用函数模块_(5)Python的常用模块函数

    python 的常用系统函数,random模块函数,time模块函数和calendar模块函数. 1 random模块函数. 随机数种字,使用seed(x)函数可以设置随机数生成器的种子,通常在调用其 ...

  8. Python之常用函数小结

    文章目录 常用内置函数 0. input: 1. 进制转换: 2. 大小堆: 3. list用法: 4. dict用法: 5. set用法: 6. 判断字符串是字母.数字.大小写: 7. all与an ...

  9. python常用字符串匹配_伸手党必备之Python正则表达式常用函数

    今天介绍一下Python中常用的正则表达式处理函数.Python的正则表达式主要有两种方法完成模式匹配:『搜索』和『匹配』 re.match re.match 尝试从字符串的开始全部或者部分匹配某个模 ...

  10. python数据处理常用函数_Python中常用操作字符串的函数与方法总结

    Python中常用操作字符串的函数与方法总结 这篇文章主要介绍了Python中常用操作字符串的函数与方法总结,包括字符串的格式化输出与拼接等基础知识,需要的朋友可以参考下 例如这样一个字符串 Pyth ...

最新文章

  1. 【原创】贴片电容的测量方法。。。这是我从自己QQ空间转过来的,本人实操!...
  2. hive 删除分区_数据仓库工具hive面试题集锦(纯干货)
  3. 程序员的时间管理哲学——打造自己的分时管理系统
  4. linux下载镜像的命令wget,Linux wget命令整站下载做网站镜像
  5. (005)CSS选择器的具体性与层叠
  6. 思科ASA防火墙升级为云端防火墙
  7. 【Unit 1】Python以及Pycharm的安装与设置
  8. java中wint是什么意思,Java线程的同步演示代码,java线程演示,package Wint
  9. Netflix Media Database - 起源和数据模型
  10. 联通彻底被iPhone抛弃,失去绯闻女友
  11. html 键盘按键与按钮功能关联
  12. 消失的中国互联网元老陈天桥:为神经科学捐助10亿,不担心机器人崛起
  13. Java获取单词的首字母的方法_java – 从句子中的每个单词中提取第一个字母
  14. python interpreter配置_PyCharm使用之配置SSH Interpreter
  15. 面阵相机与六轴机器人之间通过偏差移动
  16. 服务器3389端口怎么修改,3389端口怎么修改 3389端口修改方法参考
  17. 对动量守恒定律的质疑
  18. 提供免费可商用的优秀背景视频素材——COVERR
  19. deep learning for the earth sciences 读书笔记
  20. server数据库标记为可疑 sql_sqlserver2008数据库被标记为可疑的解决方法.docx

热门文章

  1. python预测实例教程_手把手教你用Python库Keras做预测(附代码)-阿里云开发者社区...
  2. python端口与c的区别_Python和C区别该如何理解?如何适应这种区别?
  3. php ajax 长轮询 表单,Thinkphp结合AJAX长轮询实现PC与APP推送详解
  4. C++深拷贝与浅拷贝以及写时复制
  5. android listview 选中状态,Android:在ListView打开时将项目设置为选中状态?
  6. java如何导入和导出ex_SpringBoot中关于Excel的导入和导出
  7. 缩略图修复_如何解决SOLIDWORKS不显示缩略图预览的方法?
  8. c++ 一个函数包括多个返回值判断_go语言学习笔记(10)-函数、包的使用
  9. java 泛型 类型形参(Type Parameters)Type Parameters 边界(Bound) 类型
  10. D3 scalePow