自动化测试框架之Selenium

选择元素的基本方法

查找元素

根据元素属性:id class tag选择元素

    find_element(By.ID,username) find_element(By.CLASS_NAME,password) find_element(By.TAG_NAME,input)

如果标签中包括多个class属性,且属性之间通过空格隔开 查找元素只需要选择其中任意一个属性都可以找到对应元素

  1. find_elements:选择符合条件的所有元素 如果没有符合条件的元素 返回空列表
  2. find_element:选择符合条件的第一个元素 如果没有符合条件元素 抛出异常

为了解决代码执行速度快于页面执行响应速度:查找元素有时候会找不到对应元素需要等待界面响应结束后再查找元素

(1)sleep()函数 程序执行此处需要等待一段时间继续向下执行

(2)implicitly_wait()函数 当发现找不到元素 并不立即返回报错 而是周期性重新寻找该元素,直到该元素找到

点击元素

webElement对象 element=wd.find_element(By.ID,username)

element.click() 点击元素中心点位置

输入框

element.clear() 清除输入框已有字符

element.send_keys() 输入新字符

获取元素信息

    获取元素文本内容

element.text

    获取元素属性

element.get_attribute()

    获取整个元素对应HTML

element.get_attribute(outerHTML)

    获取输入框文字

element.get_attribute(value)

CSS Selector

find_element(By.CSS_SELECTOR,css Selector参数)

css Selector参数:

  1. tag名 直接写标签名
  2. id属性 #id值
  3. class属性 .class值

切换操作范围

(1)webDriver对象属性(应用在html文档嵌套查找内部frame元素中)

wd.switch_to.frame(frame_reference)

frame_reference可以是frame元素的属性name 或id

(2)切换回原来主html

wd.switch_to.default_content()

(3)切换新窗口

wd.switch_to.window(handle)

handle是一个列表对象 包括当前浏览器所有窗口句柄 用于识别对应窗口

select选择框(selenium提供select类)

提供方法如下:

select_by_value 根据value属性值 选择元素

select_by_index 根据选项的次数,选择元素

select_by_visible_text 根据选项的可见文本,选择元素

deselect_by_all 去掉选中所有元素

经验分享 程序员 微信小程序 职场和发展