zoukankan      html  css  js  c++  java
  • Selenium自动化测试(二)之selenium使用和元素定位

    Selenium自动化测试(二)之selenium使用和元素定位

    (一)selenium的简单使用

    1、导包

    from selenium import webdriver
    

    2、初始化浏览器

    # 驱动在python环境中
    browser = webdriver.Chrome()
    # 驱动不放在python环境中,添加executable_path关键字
    browser = webdriver.Chrome(executable_path=r"D:chromedriver.exe")
    
    

    3、打开网址

    browser.get("http://www.baidu.com")
    

    4、对浏览器的一些简单操作

    # ------------------获取浏览器信息----------------
    # 获取网址
    browser.current_url
    # 获取网页标题
    browser.title
    # 获取网页中的源码
    browser.page_source
    # 获取所有的窗口,所有的标签页(list类型)
    browser.window_handles
    # 获取现在正处于的标签页, 返回的是窗口句柄(窗口ID)
    browser.current_window_handle
    
    
    # ------------------浏览器动作--------------------
    # 最大化窗口
    browser.maximize_window()
    # 最小化窗口
    browser.minimize_window()
    # 设置窗口的大小,参数为:长宽,单位:像素
    browser.set_window_size(800, 600)
    # 刷新
    browser.refresh()
    # 后退
    browser.back()
    # 前进
    browser.forward()
    

    5、关闭标签页和浏览器

    # 关闭标签页
    browser.close()
    # 关闭浏览器
    browser.quit()
    

    (二)元素定位(百度为例)

    • 在python中模拟点点点,实际上就是通过在 HTML 当中去找到需要操作的元素(标签)进行模拟操作
    • find_element_by_...:返回的是一个WebElement对象,如果有多个值也只会返回第一个值
    • find_elements_by_...:返回的是一个WebElement对象list列表,不管有多少个值都返回的列表(可以通过索引获取你需要的哪一个)
    • send_keys("内容"):输入内容
    • click():单击
    • 在python中通过元素的特征进行查找元素,根据id属性查找(id具有唯一性)

    注意点:

    • id属性可能会是动态变化的。
    • 如果id中包含数字,那么这个id属性你要小心了,很大可能是动态变化的。
    • 像那种拼音单词之类的,一般情况下是不可变的id。

    * ***以下用的都是:find_element_by_... ***

    1、根据ID属性进行定位,查询到的是一个WebElement对象

    input_element = browser.find_element_by_id("kw")
    print(input_element)
    # 输入内容
    input_element.send_keys("Python")
    

    2、根据name属性进行定位

    element = browser.find_element_by_name("wd")
    print(element)
    

    3、根据class属性进行定位

    e = browser.find_element_by_class_name("s_ipt")
    print(e)
    

    4、通过tagname(标签名称)进行定位。查找到的元素不具备唯一性

    e = browser.find_element_by_tag_name("a")
    print(e)
    

    5、定位a标签超链接

    e = browser.find_element_by_link_text('新闻')
    # 点击链接
    e.click()
    

    6、定位a标签超链接,模糊定位

    e = browser.find_element_by_partial_link_text('新')
    e.click()
    

    7、xpath

    8、css 选择器

    【完】


  • 相关阅读:
    波段是金牢记六大诀窍
    zk kafka mariadb scala flink integration
    Oracle 体系结构详解
    图解 Database Buffer Cache 内部原理(二)
    SQL Server 字符集介绍及修改方法演示
    SQL Server 2012 备份与还原详解
    SQL Server 2012 查询数据库中所有表的名称和行数
    SQL Server 2012 查询数据库中表格主键信息
    SQL Server 2012 查询数据库中所有表的索引信息
    图解 Database Buffer Cache 内部原理(一)
  • 原文地址:https://www.cnblogs.com/desireyang/p/12124899.html
Copyright © 2011-2022 走看看