web自动化测试工具-selenium使用

selenium使用

  • 简介:
    • 1.下载浏览器驱动
    • 2.selenium基本使用
    • 3.对象定位方法

简介:

web自动化测试工具;可以直接运行在浏览器上,支持所有主流浏览器;可以接受指令,让浏览器自动加载页面,获取需要的数据。

1.下载浏览器驱动

  • 查看自己浏览器版本
    web自动化测试工具-selenium使用_第1张图片

  • 下载对应驱动
    http://chromedriver.storage.googleapis.com/index.html

web自动化测试工具-selenium使用_第2张图片

  • 把chromedriver.exe放到与你的python解释器同一路径
    web自动化测试工具-selenium使用_第3张图片

2.selenium基本使用

  • selenium的导包:from selenium import webdriver
  • selenium创建driver对象:webdriver.Chrome()
  • selenium请求数据:driver.get(“http://www.baidu.com/”)
  • selenium查看数据: driver.page_source
  • 关闭浏览器当前页面:driver.close()
  • 关闭浏览器: driver.quit()
import time
from selenium import webdriver

if __name__ == '__main__':
    # 1.创建浏览器对象,效果:打开一个对应的浏览器
    driver_ = webdriver.Chrome()
    time.sleep(2)
    # 2.要url输入框输入一个url 效果:进入到百度首页
    driver_.get('https://www.baidu.com/')
    time.sleep(2)

    # 3.在(1)搜索框输入关键字     (2)进行搜索
    # (1) 找到输入框
    input_obj = driver_.find_element_by_id('kw')  # 会返回一个对象
    # (2) 输入数据 效果就是往输入框对象发送数据
    input_obj.send_keys('你好')

    # (3) 进行搜索 达到指定页面 
    bai_du = driver_.find_element_by_id('su').click() # class类容易出现多个,没有id的情况下,,推荐使用xpath
    # (4) 点击触发
    # bai_du.click()

    # 此时此刻 浏览器对象是处于 搜索页面
    # data_ = driver_.page_source
    # print(data_)

    # 得到当前时刻的cookie
    cookie_ = driver_.get_cookies()
    print(cookie_)

    # 当前页面的url url地址栏里面的
    url_ = driver_.current_url
    print(url_)
    time.sleep(5)

    driver_.quit()  # 关闭浏览器

3.对象定位方法

  • 在谷歌浏览器中,选中元素,右键点击“检查”,即可在“Elements"中查看元素信息。

以百度首页搜索框为例,查看元素信息如下图所示:
web自动化测试工具-selenium使用_第4张图片
web自动化测试工具-selenium使用_第5张图片

  • webdriver 提供了一系列的对象定位方法,常用的有以下8种:
定位一个元素 定位多个元素 含义
find_element_by_id find_elements_by_id 通过元素id定位
find_element_by_name find_elements_by_name 通过元素name定位
find_element_by_xpath find_elements_by_xpath 通过xpath表达式定位
find_element_by_link_text find_elements_by_link_text 通过完整超链接定位
find_element_by_partial_link_text find_elements_by_partial_link_text 通过部分链接定位
find_element_by_tag_name find_elements_by_tag_name 通过标签定位
find_element_by_class_name find_elements_by_class_name 通过类名进行定位
find_element_by_css_selector find_elements_by_css_selector 通过css选择器进行定位

你可能感兴趣的:(软件测试,测试工具,前端,自动化)