Selenium自动化测试 —— 对常用元素进行的操作

常用元素操作

  定位到元素后,需要对元素进行操作,常见的有鼠标点击、键盘操作等,这取决于我们定位到的对象支撑哪些操作。一般来说,所有与页面交互的操作都将通过WebElement接口

webdriver中常用的操作元素的方法有如下几个:

1、clear():清除对象的内容

  driver.find_element(By.XPATH,'//input[@id="kw"]').clear()

2、send_keys():在对象上模拟按键输入

  driver.find_element(By.XPATH,'//input[@id="kw"]').send_keys('python')

3、click():单击对象,模拟用户点击

  driver.find_element(By.XPATH,'//a[text()="地图"]').click()

4、submit():提交表单,要求对象必须是表单

  driver.find_element(By.ID,'form').submit()

5、size:返回对象的尺寸

  driver.find_element(By.XPATH,'//input[@id="kw"]').size

6、text:获取对象的文本

  driver.find_element(By.XPATH,'//a[text()="地图"]').text

7、get_attribute(“属性名”):获取对象的属性值

  driver.find_element(By.XPATH,'//input[@id="kw"]').get_attribute('maxlength')

8、is_displayed():用来判断对象是否可见,即css的display属性是否为none

  driver.find_element(By.XPATH,'//input[@id="kw"]').is_displayed()

9、is_enabled():判断对象是否被禁用

  driver.find_element(By.XPATH,'//input[@id="kw"]').is_enabled()

10、is_selected():判断对象是否被选中

  driver.find_element(By.XPATH,'//input[@id="kw"]').is_selected()

11、tag_name:获取对象标签名称

  driver.find_element(By.XPATH,'//input[@id="kw"]').tag_name

12、location:获取元素坐标

  driver.find_element(By.XPATH,'//input[@id="kw"]').location

13、screenshot('截图名称'):截图

  driver.find_element(By.XPATH,'//input[@id="su"]').screenshot('test_baidu.png')

代码如下:

以百度首页为例

import os
import time

from selenium import webdriver
from selenium.webdriver.common.by import By

current_path = os.path.dirname(os.path.abspath(__file__))  # 当前路径
driver_path = os.path.join(current_path,'../webdriver/chromedriver.exe')  # driver路径
driver = webdriver.Chrome(executable_path=driver_path)  # Firefox,Ie等

driver.get('https://www.baidu.com/')  # 打开网站

# send_keys()  模拟按键输入值
driver.find_element(By.XPATH,'//input[@id="kw"]').send_keys('python')
time.sleep(2)

# clear()  清除对象的内容
driver.find_element(By.XPATH,'//input[@id="kw"]').clear()
time.sleep(2)

# click()  模拟用户点击
driver.find_element(By.XPATH,'//a[text()="地图"]').click()

# text 获取对象的文本
element_a = driver.find_element(By.XPATH,'//a[@href="http://tieba.baidu.com/"]')
print(element_a.text)

# 截图
driver.find_element(By.XPATH,'//input[@id="su"]').screenshot('test_baidu.png')

element_obj = driver.find_element(By.XPATH,'//input[@id="kw"]')
print(element_obj.size)  # size 获取元素的尺寸
print(element_obj.get_attribute('maxlength'))  # get_attribute("属性名") 获取指定属性的值
print(element_obj.is_displayed())  # is_displayed() 元素是否显示
print(element_obj.is_enabled())    # is_enabled()   元素是否可用
print(element_obj.is_selected())   # is_selected()  复选框是否被选中
print(element_obj.tag_name)   # tag_name  获取元素的标签名
print(element_obj.location)   # location  获取元素左上角的坐标

最后: 为了回馈铁杆粉丝们,我给大家整理了完整的软件测试视频学习教程,朋友们如果需要可以自行免费领取 【保证100%免费】

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

猜你喜欢

转载自blog.csdn.net/IT_LanTian/article/details/131479138
今日推荐