python3+selenium4自动化测试-元素常用操作

磊落不羁 by:磊落不羁 分类:办公自动化 时间:2年前 阅读:101 评论:0

在做自动化测试时,我们启动浏览器访问指定页面,定位到想要的元素之后,则需要对元素进行一系列操作,以实现模拟功能测试时对页面的操作与结果判断,元素常用的操作有


输入内容:send_keys()

鼠标点击:click()

获取元素可见文本:text

清空输入框:clear()

获取属性值:get_attribute()

判断元素是否启用编辑:is_enabled()

判断元素是否显示:is_displayed()

判断元素是否被选中:isSelected()

提交输入框内容:submit()


1、send_keys()

send_keys()方法用于给输入框输入内容,是selenium操作元素的最基本操作之一,使用示例:

百度搜索框中输入selenium

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

driver = webdriver.Edge()
driver.get("https://www.baidu.com/")
element = driver.find_element(By.ID, 'kw')
element.send_keys('selenium')    # 模拟输入文本内容

2、click()

click()方法模拟鼠标左键单击操作,也是最常用的元素操作方法之一,使用示例:

百度首页点击百度一下

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

driver = webdriver.Edge()
driver.get("https://www.baidu.com/")
element = driver.find_element(By.ID, 'kw')
element.send_keys('selenium')

button = driver.find_element(By.ID, 'su')   # 定位百度一下按钮
button.click()   # 鼠标左键单击百度一下


3、text

text用于获取元素可见文本,常用于获取指定元素显示的文本内容以对比结果是否符合预期,使用示例:

获取百度首页热搜热点榜的文本内容


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

driver = webdriver.Edge()
driver.get("https://www.baidu.com/")
element = driver.find_element(By.CLASS_NAME, 'title-text')
print(element.text)    # 获取文本内容并打印
driver.quit()


4、clear()

clear()方法用于清空输入框中的内容,在测试中常用于修改表单场景,使用示例:

在百度首页输入框中输入selenium后再使用clear()清空输入

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

driver = webdriver.Edge()
driver.get("https://www.baidu.com/")
element = driver.find_element(By.ID, 'kw')
element.send_keys('selenium')
time.sleep(2)
element.clear()
time.sleep(2)
driver.quit()


5、get_attribute()

get_attribute()用于获取元素的属性值,常用于修改表单时获取后台反显内容,使用示例:

获取指定属性值

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

driver = webdriver.Edge()
driver.get("https://www.baidu.com/")
element = driver.find_element(By.ID, 'kw')
print(element.get_attribute('name'))
driver.quit()


本段代码表示获取百度首页输入框的name属性并输出在控制台,使用此方法可以获取元素任意已知属性的值

而要获取文本框中的反显内容,示例如下:

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

driver = webdriver.Edge()
driver.get("https://www.baidu.com/")
element = driver.find_element(By.ID, 'kw')
element.send_keys('selenium')
print(element.get_attribute('value'))
driver.quit()


本段代码表示输入框中输入selenium,然后使用get_attribute()方法,参数传入value,则获取到输入框中的文本内容


6、is_enabled()

is_enabled()用于判断元素是否启用编辑状态,如果元素是可编辑的,则返回true,如果元素不可编辑,则返回false,不可编辑的元素进行输入内容或选择内容将不成功

element.is_enabled()


7、is_displayed()

is_displayed()用于判断元素是否显示在页面上,有些元素在DOM中能够找到,但不一定显示在页面上,所谓显示在页面上,即可见,有宽度的,如果元素可见,返回true,如果不可见,返回false,如果使用click()操作不可见元素时,将抛出异常

element.is_displayed()


8、isSelected()

isSelected()用于判断单选框或复选框的状态是否被选中,如果选中返回true,否则返回false

element.isSelected()


9、submit()

submit()方法用于提交一些没有按钮可点击的输入框,比如我们在进行一些搜索时,输入文字后没有点击搜索的按钮,而是直接敲击enter键完成搜索,则可以使用submit()方法模拟此操作

element.submit()


非特殊说明,本文版权归原作者所有,转载请注明出处

本文地址:http://php.liulei.com.cn/?type=acticle&id=56

评论列表

发表评论

  • 昵称(必填)
  • 邮箱
  • 网址

TOP