browser = webdriver.Firefox()browser是一个WebDriver类,常用的方法有

'add_cookie',添加cookie 'back',返回上一页 'close',退出当前窗口,和quit有区别, 'current_url',查看当前url,'current_window_handle',获取当前窗口句柄,'delete_all_cookies', 删除所有cookie,'delete_cookie'删除单个cookie

'find_element',查找元素

'find_element_by_class_name',通过元素类名来查找元素

'find_element_by_css_selector',通过元素css样式来查找元素

'find_element_by_id',通过元素id查找元素

'find_element_by_link_text',通过a元素链接来查找元素

'find_element_by_name',通过元素名字查找元素

'find_element_by_partial_link_text',通过元素链接某部分查找元素

'find_element_by_tag_name',通过元素标签名查找元素

'find_element_by_xpath',通过xpath查找元素

'find_elements', 'find_elements_by_class_name', 'find_elements_by_css_selector', 'find_elements_by_id', 'find_elements_by_link_text', 'find_elements_by_name', 'find_elements_by_partial_link_text', 'find_elements_by_tag_name', 'find_elements_by_xpath',通过各种方式查找元素组(定位)同上,查找的元素为多个,返回一个列表

'get_window_position',获取窗口位置 'get_window_size',获取窗口大小 'implicitly_wait', 智能等待'maximize_window', 最大化窗口

'quit',退出所有窗口,和close有区别 'set_window_position',设置窗口位置 'set_window_size', 设置窗口大小'switch_to_frame', 切换框架'switch_to_window', 切换窗口'title',查看标题'window_handles'获取所有窗口句柄

当要打开一个新链接并关闭的时候,应该这样做

currentWindow = browser.current_window_handle获取要保留的窗口

do something

handles = browser.window_handles获取所有窗口

for handle in handles:便利所有窗口

  if handle != currentWindow:如果不是需要的窗口

    browser.switch_to_window(handle)切换到该窗口

    browser.close()关闭该窗口

  browser.switch_to_window(currentWindow)切换到需要的窗口

通过browser找到的元素WebElement类,可用的方法有'clear',清空 'click', 点击'find_element', 'find_element_by_class_name', 'find_element_by_css_selector', 'find_element_by_id', 'find_element_by_link_text', 'find_element_by_name', 'find_element_by_partial_link_text', 'find_element_by_tag_name', 'find_element_by_xpath',通过各种方式找到元素 'find_elements', 'find_elements_by_class_name', 'find_elements_by_css_selector', 'find_elements_by_id', 'find_elements_by_link_text', 'find_elements_by_name', 'find_elements_by_partial_link_text', 'find_elements_by_tag_name', 'find_elements_by_xpath',通过各种方式找到元素组  'send_keys', 发送信息

通过browser找到的元素组是list也就是列表,可用的方法有 'append', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort'

如果遇到元素没法一下子就找到,可以通过find_element_by_xxx找到他有唯一标记的父辈,在使用find_elements_by_xxx找到所有该元素

find_element_by_xpath('//div[contains(@id, "xxx") ]')通过元素id或者其他属性包含的内容来查找

selenium学习记录的更多相关文章

  1. 【python+selenium学习】Python常见错误之:IndentationError: unexpected indent

    初入python+selenium学习之路,总会遇到这样那样的问题.IndentationError: unexpected indent,这个坑我已经踏进数次了,索性记录下来.都知道Python对代 ...

  2. Selnium + POM + Pytest:学习记录

    简介 selenium POM Pytest 结合,通过Pytest fixture 来传递Driver 保证一个测试用例[1] :driver[1] 学习记录 插件包 selenium: 操作浏览器 ...

  3. Quartz 学习记录1

    原因 公司有一些批量定时任务可能需要在夜间执行,用的是quartz和spring batch两个框架.quartz是个定时任务框架,spring batch是个批处理框架. 虽然我自己的小玩意儿平时不 ...

  4. Java 静态内部类与非静态内部类 学习记录.

    目的 为什么会有这篇文章呢,是因为我在学习各种框架的时候发现很多框架都用到了这些内部类的小技巧,虽然我平时写代码的时候基本不用,但是看别人代码的话至少要了解基本知识吧,另外到底内部类应该应用在哪些场合 ...

  5. Apache Shiro 学习记录4

    今天看了教程的第三章...是关于授权的......和以前一样.....自己也研究了下....我觉得看那篇教程怎么说呢.....总体上是为数不多的精品教程了吧....但是有些地方确实是讲的太少了.... ...

  6. UWP学习记录12-应用到应用的通信

    UWP学习记录12-应用到应用的通信 1.应用间通信 “共享”合约是用户可以在应用之间快速交换数据的一种方式. 例如,用户可能希望使用社交网络应用与其好友共享网页,或者将链接保存在笔记应用中以供日后参 ...

  7. UWP学习记录11-设计和UI

    UWP学习记录11-设计和UI 1.输入和设备 通用 Windows 平台 (UWP) 中的用户交互组合了输入和输出源(例如鼠标.键盘.笔.触摸.触摸板.语音.Cortana.控制器.手势.注视等)以 ...

  8. UWP学习记录10-设计和UI之控件和模式7

    UWP学习记录10-设计和UI之控件和模式7 1.导航控件 Hub,中心控件,利用它你可以将应用内容整理到不同但又相关的区域或类别中. 中心的各个区域可按首选顺序遍历,并且可用作更具体体验的起始点. ...

  9. UWP学习记录9-设计和UI之控件和模式6

    UWP学习记录9-设计和UI之控件和模式6 1.图形和墨迹 InkCanvas是接收和显示墨迹笔划的控件,是新增的比较复杂的控件,这里先不深入. 而形状(Shape)则是可以显示的各种保留模式图形对象 ...

随机推荐

  1. Task+http请求

    Task+http请求  这个算是一个简单的事例吧

  2. JS实现动画原理一(闭包方式)

    前提:      你必须了解js的闭包(否则你看不懂滴)     我们就来做一个js实现jq animate的动画效果来简单探索一下,js动画实现的简单原理: html代码 <div id=&q ...

  3. iOS 并发编程指南

    iOS Concurrency Programming Guide iOS 和 Mac OS 传统的并发编程模型是线程,不过线程模型伸缩性不强,而且编写正确的线程代码也不容易.Mac OS 和 iOS ...

  4. iOS:访问地址薄

    地址簿的访问 介绍: 地址簿(Address Book)是一个共享的联系人信息数据库.任何iOS应用程序都可以使用.通过提供常用联系人信息,而不是让每一个应用程序管理独立的联系人列表,可改善用户体验. ...

  5. shell脚本编程-处理用户输入

    命令行参数 命令行参数:允许在运行脚本时向命令行添加数据值 如:$ ./addem 10 30 读取参数 bash shell会将一些称为位置参数的特殊变量分配给命令行输入的所有参数,甚至包括shel ...

  6. 微信支付开发(2) 静态链接Native支付

    关键字:微信支付 微信支付v3 native支付 统一支付 Native支付 prepay_id 作者:方倍工作室原文: http://www.cnblogs.com/txw1958/p/wxpayv ...

  7. [BS-09] UITabBarController简单介绍

    iOS开发UI篇—UITabBarController简单介绍 一.简单介绍 UITabBarController和UINavigationController类似,UITabBarControlle ...

  8. Java遇见HTML——JSP篇之JSP内置对象(下)

    一.什么是session 1.session表示客户端与服务器的一次会话2.Web中的session指:用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间 ...

  9. UICollection 重排 和汉字拼音

    http://nshint.io/blog/2015/07/16/uicollectionviews-now-have-easy-reordering/ NSMutableString *str = ...

  10. sql语句查询出数据重复,取唯一数据

    select distinct mr.id,ifnull(mr.pid,0) as pid,mr.name from sys_role_res srr left join main_res mr on ...