• Selenium 3 学习小结


    4个类+常用的46个方法

    从以下知识内容对selenium 3自动化框架进行初步学习:

    1.安装selenium

    pip install selenium

    pip list

    2.驱动、关闭浏览器

    首先需要下载浏览器的.exe驱动软件,解压后放在python路径里的Scripts里面,不同浏览器对应驱动不同,应注意版本的对应。由于火狐版本一直没纠正对,所以后来选择了Chrome。

    驱动浏览器:

    from selenium import WebDriver

    d=webdriver.Chrome()

    d.get('http://baidu.com')

    关闭单个窗口:close()方法

    关闭所有窗口:quit()方法

    3.selenium 8种元素定位

      id、name、class_name、tag_name(标签)、link_text、partial_link_text、xpath、css_selector

     对应方法: find_element_by_XX()方法

     如需定位一组元素只需改为:find_elements_by_XX()

    4.控制浏览器操作

      窗口大小:set_window_size(宽,高)方法、maximize_window()方法

      前进、后退:通过url地址调用,forward()方法与back()方法

      刷新页面:refresh()方法

    点击和输入:

      清除文本:clear()方法

      模拟按键输入:send_keys(value)方法

      点击元素/提交元素:click()方法/submint()方法

      获取元素尺寸:size()方法

      获取元素文本:text()方法

      获得属性值:get_attribute(name)方法

      设置元素是否用户可见:is_displayed()方法

    5. 鼠标键盘 ActionChains类 与Keys()类

      ActionChains()类中包含了鼠标操作的常用方法:

      使用前先导入:from selenium.webdriver.common.action_chains import ActionChains

      右击:context_click()方法

      双击:double_click()方法

      拖动:drag_and_drop()方法

      鼠标悬停:move_to_element()

      执行所有ActionChains中存储的行为:perform()方法,也可以理解为,对整个操作的提交动作。

      Keys()类提供了键盘上几乎所有的按键方法:

      使用前先导入:from selenium.webdriver.common.keys import Keys

      模拟键盘输入:send_keys()方法  #也用作文件上传

      删除键:send_keys(Keys.BACK_SPACE)

      空格键:send_keys(Keys.SPACE)

      ......

    6.用来对比结果与预期的几个方法

      获得当前页面的标题:title

      用户获得当前页面的URL:current_url

      获取搜索条目的文本信息:text

    7.三大等待:WebDriverWait(驱动,时常,间隔,报错)类 与 implicitly_wait(时间)方法、sleep(时间)方法

      分别对应显式等待(等元素)、隐式等待(等页面)、强制等待(等时间)

      使用前需分别导入:

      from selenium.webdriver.support.ui import WebDriverWait

      import time

      from time import sleep

    8.切换操作:switch_to.XX()方法 需加强练习

      多表单切换:switch_to_frame()方法 #注意动态ID的处理

      多窗口切换:switch_to_window()方法

      警告框处理:switch_to_alert()方法 类似还有,switch_to_confiem(),switch_to_prompt()

                            其后可跟,返回:text方法

                                              接受现有警告框:accept()方法 eg: driver.switch_to_alert.accept() #方法后可根方法

                                              解散现有框架:dismiss()

                                              发送文本至警告框:send_key(keysToSend) #keysToSend将文本发送至警告框

    9.处理下拉框 Select()类

      Select类用于定位select标签,select_by_value() 方法用于定位下接选项中的value值。

      使用前需导入:from selenium.webdriver.support.select import Select

    10.cookie操作

    获得所有cookie信息:get_cookies()方法

    获得字典key值为“name”的cookie信息:get_cookie(name)方法

    添加cookie:add_cookie(cookie_dict)方法 #“cookie_dict”指字典对象,必须有name 和value 值。

    删除所有cookie信息:delete_all_cookies()

    删除cookie信息:delete_cookie(name,optionsString) #“name”是要删除的cookie的名称,“optionsString”是该cookie的选项,目前支持的选项包括“路径”,“域”。

    11 杂

    调用JavaScript代码:execute_script()方法

    窗口截图:get_screenshot_as_file()方法

    留个python基本功不扎实的问题,为什么有的方法后面带括号,有的不带呢?

     http://www.testclass.net/selenium_python

  • 相关阅读:
    101与金根回顾敏捷个人:(93)《做最好的自己》之成功同心圆
    ArchiMate - 发布【企业架构语言ArchiMate v0.5.pdf】
    blog推荐 - 软件产品管理之Tyner Blain
    家庭创意:春节寻宝习俗
    流程 - 发布【敏捷方法之Scrum v0.2.pdf】
    个人管理 - 使用Scrum来敏捷自己
    blog推荐 - 电子图书与IT文档资料(ITPUB论坛)
    架构语言ArchiMate -应用层(Application Layer)
    架构语言ArchiMate - ArchiMate提供的基本视角(Viewpoints)介绍一
    故事:两只老虎的悲惨结局
  • 原文地址:https://www.cnblogs.com/nfgg/p/10611018.html
Copyright © 2020-2023  润新知