Selenium学习 - WebDriver接口

一、WebDriver的初始化

def __init__(self,
                   command_executor='http://127.0.0.1:4444/wd/hub', --- 执行JSONWireProtocol指令的命令执行器,比如ChromeRemoteConnection。
                   desired_capabilities=None, --- 对于浏览器的一些描述和控制信息。
                   browser_profile=None, --- 仅供FireFox浏览器使用。
                   proxy=None, --- 一个代理对象Proxy。
                   keep_alive=False, --- HTTP keep-alive参数。
                   file_detector=None, --- 文件查找器,默认是LocalFileDetector。
                   options=None) --- 特定浏览器类型的Options对象。

浏览器是否属于W3C模式,查看WebDriver对象的self.w3c属性即可;有些命令不支持W3C模式。
    WebDriver对象实现了with上下文对象语法。

二、WebDriver的属性

mobile --- 把WebDriver包装成移动对象,Web测试时无用。
    name --- WebDriver使用的浏览器的名称
    title --- 当前浏览器的标题信息
    current_url --- 当前浏览器正在访问的URL路径
    page_source --- 当前浏览器的页面源代码
    current_window_handle --- 当前会话的浏览器窗体的句柄,每一个会话都是一个独立的浏览器窗口。
    window_handles --- 浏览器窗体的句柄列表
    switch_to --- 目标切换器
    desired_capabilities --- 浏览器的设置和控制参数。
    file_detector --- 文件查找器对象,继承自FileDetector。
    orientation --- 指的是当前屏幕的方向(针对APP来说)
    application_cache --- 浏览器的缓存对象ApplicationCache,用于缓存管理交互。
    log_types --- 浏览器支持的日志类型名称

三、WebDriver的元素查找

1、一次查找一个元素
    find_element_by_id
    find_element_by_name
    find_element_by_xpath
    find_element_by_link_text
    find_element_by_partial_link_text
    find_element_by_tag_name
    find_element_by_class_name
    find_element_by_css_selector

2、一次查找多个元素
    find_elements_by_id
    find_elements_by_name
    find_elements_by_xpath
    find_elements_by_link_text
    find_elements_by_partial_link_text
    find_elements_by_tag_name
    find_elements_by_class_name
    find_elements_by_css_selector

3、通用查找
    find_element --- 通过指定策略类型和目标值来查找元素,返回WebElement元素。
    find_elements --- 通过指定策略类型和目标值来查找元素,返回WebElement元素的列表。

四、WebDriver的其它方法

1、浏览器操作
    execute --- 执行指定的JSON命令
    execute_script --- 执行JavaScript脚本
    execute_async_script --- 异步执行JavaScript脚本
    switch_to_active_element --- 切换到当前活动的元素
    switch_to_window --- 切换到指定句柄的窗口(这个窗口指的是浏览器下面的TAB页)
    switch_to_frame --- 切换到指定Frame
    switch_to_default_content --- 切换到默认内容
    switch_to_alert --- 切换到警告
    implicitly_wait --- 设置WebDriver命令或元素查找的超时等待时间
    set_script_timeout --- 设置WebDriver执行脚本的超时等待时间
    set_page_load_timeout --- 设置Web页面加载超时等待时间

2、浏览器控制
    get --- 访问目标URL页面
    close --- 关闭浏览器窗口上的当前TAB页面
    quit --- 关闭浏览器
    maximize_window --- 最大化浏览器
    fullscreen_window --- 全屏浏览器
    minimize_window --- 最小化浏览器
    back --- 浏览器返回到上一个地址
    forward --- 浏览器向前到下一个地址
    refresh --- 浏览器刷新
    get_screenshot_as_file --- Web页面截屏数据保存为PNG文件
    save_screenshot --- Web页面截屏数据保存为PNG文件
    get_screenshot_as_png --- Web页面截屏数据保存为PNG格式的二进制数据
    get_screenshot_as_base64 --- Web页面截屏数据保存为二进制数据的base64编码字符串
    get_window_size --- 获取浏览器窗口的大小
    set_window_size --- 设置浏览器窗口的大小
    get_window_position --- 获取浏览器窗口的位置
    set_window_position --- 设置浏览器窗口的位置
    get_window_rect --- 获取浏览器的窗口大小和位置
    set_window_rect --- 设置浏览器的窗口大小和位置

3、浏览器管理
    get_cookies --- 获取当前会话的所有cookie
    get_cookie --- 在当前会话中获取指定名称的cookie
    delete_cookie --- 在当前会话中删除指定名称的cookie
    delete_all_cookies --- 删除当前会话的所有cookie
    add_cookie --- 添加cookie到当前会话
    get_log --- 获取指定类型的日志

4、辅助函数
    start_client --- 钩子函数定义,在WebDriver的会话启动前调用。
    stop_client --- 钩子函数定义,在WebDriver的quit()方法执行前调用。
    start_session --- 启动浏览器会话,一般不要单独调用,因为一调用之后之前的浏览器会话会丢失。
    create_web_element --- 创建一个标准的WebElement元素对象,用于包装和解包装Web元素。

posted on 2019-07-02 13:53 丘奇先生 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/ringboow/p/11120191.html

Selenium学习 - WebDriver接口相关推荐

  1. Selenium学习 - WebElement接口

    Selenium学习 - WebElement接口 WebElement对象代表了一个DOM元素. 一.WebElement的属性 tag_name --- 元素的tagName属性     text ...

  2. Selenium学习 - ActionChains接口

    Selenium学习 - ActionChains接口 ActionChains实现了with上下文对象接口. 一.行为控制 perform --- 执行所有准备好的Action     reset_ ...

  3. Selenium学习 - TouchActions接口

    Selenium学习 - TouchActions接口 TouchActions实现了with上下文对象接口. 一.行为控制 perform --- 执行所有准备好的Action 二.手势控制 tap ...

  4. Selenium学习 - 库代码解析

    Selenium学习 - 库代码解析 一.selenium/common exceptions.py 定义了一个继承自Exception类的WebDriverException基础异常类,然后通过它扩 ...

  5. Selenium学习 - 简介

    Selenium学习 - 简介 一.Selenium 1.0     2004年.     包括Selenium IDE.Selenium Grid和Selenium RC.它们的核心是Seleniu ...

  6. python中webdriver_Python自动化学习--Webdriver中的常用方法

    from selenium import webdriver driver = webdriver.Chrome() driver.get("https://www.baidu.com/&q ...

  7. selenium学习一

    chrome版本和chromedriver的对应关系 chromedriver版本 支持的Chrome版本 v2.40 v66-68 v2.39 v66-68 v2.38 v65-67 v2.37 v ...

  8. selenium学习指南

    Selenium 是一套 Web网站 的程序自动化操作 解决方案.通过它,我们可以写出自动化程序,像人一样在浏览器里操作web界面. 比如点击界面按钮,在文本框中输入文字 等操作.而且还能从web界面 ...

  9. python selenium学习之新浪微博

    python selenium学习之新浪微博 运用知识点: 模拟登录 模拟鼠标事件 获取页面节点,解析 开始模拟登录: 第一步:实例化selenium对象 from selenium import w ...

最新文章

  1. python读取.locs文件
  2. cocos2d-x环境配置和常见问题
  3. ios yymodel 将字典转数组模型_Python3 字典
  4. 【第五单元】vim与文件管理(10.1)
  5. 手机腾讯视频软件如何开启护眼功能
  6. 不得不说的wepapi 优化
  7. OpenShift 4 - 如何删除Terminating状态的项目
  8. 在哈佛的一场闭门会上,专家说全球各国都应设置“人工智能部长”
  9. ansi-html Uncontrolled Resource Consumption in ansi-html报错解决
  10. java中实现下载音乐_如何用JAVA的IO流下载落网音乐?
  11. 分布式爬虫(一)------------------分布式爬虫概述
  12. CNTV视频深入挖掘分析
  13. TortoiseGit解决冲突
  14. 网络科学论坛纪要-2012
  15. 【C#】Whisper 离线语音识别(微软晓晓语音合成的音频)(带时间戳、srt字幕)...
  16. Linux proxy 设置
  17. 2016暑假集训小结
  18. oracle进行排序,oracle排序的几种方法
  19. (3)verilog与VHDL两种语言编写二分频
  20. 图像质量评价数据库与图像质量算法性能评价指标

热门文章

  1. 构建DCT过完备字典
  2. 网络打印机安装和设置技巧
  3. 四海众联E350N水滴吸顶AP适配说明
  4. 25个技巧和诀窍可以用来提高你的app性能
  5. OpenWrt开发必备软件模块——系统总线ubus
  6. 华为应用市场,浏览器PC版
  7. WordPress相关二次开发教程篇,简单易学
  8. 60个Vue常见问题汇总及解决方案
  9. Navicat Premium的下载及安装
  10. 从Linux角度以及JVM源码,深入NIO的细节