软件测试

苍老师自动化测试小课堂 | WebDriver API之常见元素

2020-04-07  本文已影响0人  测试allen说

知乎首发地址:https://zhuanlan.zhihu.com/p/121829929

做自动化测试脚本的时候,我们通常会有如下的步骤:

通过某些方式定位到我们要执行的对象、目标(Target)

对这个对象进行什么操作(command)

通过操作对定位到的元素赋值(value)

添加断言操作

前面讲过了如何定位到页面的元素,下面我们再来研究下如何对定位到的元素进行操作吧。下面是selenium webdriver提供的常见的元素操作方法:

clear(): 清除文本。

send_keys (value): 模拟按键输入,除了能够发送字母外,还可以发送快捷键。

click(): 单击元素。例如按钮、超链接、单选框、复选框操作。

#导包、创建浏览器对象、打开百度首页

from selenium import webdriver

import time

driver = webdriver.Chrome()

driver.get("https://www.baidu.com")

#send_keys:模拟键盘录入,发送数据到文本框

driver.find_element_by_css_selector(".s_ipt").send_keys("selenisum")

time.sleep(3)

#需要清除百度文本框中的文本使用clear方法

driver.find_element_by_css_selector(".s_ipt").clear()

driver.find_element_by_css_selector(".s_ipt").send_keys("selenium")

#使用click方法模拟元素的点击操作

driver.find_element_by_css_selector("#su").click()

time.sleep(3)

driver.quit()

current_url:返回当前(driver浏览器对象所能控制的页面)页面的url地址,可以用于断言

title: 返回当前(driver浏览器对象所能控制的页面)页面的title,可以用于断言

#导包、创建浏览器对象、获取一下百度首页fromseleniumimportwebdriverimporttimedriver=webdriver.Chrome()driver.get("https://www.baidu.com")#先在百度首页页面获取一下url,并打印出来# url1 = driver.current_url# print(url1)#先在百度首页页面获取一下title,并打印出来title=driver.titleprint(title)#点击百度首页上的新闻按钮,要获取跳转后页面的url地址,并且判断是否符合与其结果driver.find_element_by_link_text("新闻").click()# #获取新闻页面的url# url = driver.current_url# #http://news.baidu.com/# print(url)# #加断言# if url == "http://news.baidu.com/":#    print("跳转页面正确")# else:#    print("跳转页面失败")#点完新闻链接之后,查看跳转后的页面的titletitle1=driver.titleprint(title1)iftitle1=="百度新闻——海量中文资讯平台":print("跳转页面正确")else:print("跳转页面失败")time.sleep(3)driver.quit()

text: 获取页面(提示框、警告框)显示的文本

#导包、创建浏览器对象、获取百度首页

from selenium import webdriver

import time

driver = webdriver.Chrome()

driver.get("https://www.baidu.com")

#获取二维码下的显示文本

# wenben = driver.find_element_by_xpath("//*[@id='qrcode']/div/div[2]/p[2]").text

wenben = driver.find_element_by_xpath('//*[@id="bottom_layer"]/div[1]').text

print(wenben)

driver.find_element_by_id("kw").send_keys("selenium")

driver.quit()

get_attribute(name): 获得属性值,文本框中的值使用value属性名。

#导包、创建浏览器对象、打开百度首页

from selenium import webdriver

import time

driver = webdriver.Chrome()

driver.get("https://www.baidu.com")

#获取百度文本框的name属性

value1 = driver.find_element_by_id("kw").get_attribute("value")

value2 = driver.find_element_by_id("su").get_attribute("class")

print(value1)

print(value2)

#退出浏览器对象

driver.quit()

is_displayed(): 设置该元素是否用户可见,结果就是真和假。

is_enabled():判断是否可用

is_selected:判断是否选中,一般用复选框或者单选框的判断

#导包、创建浏览器对象、打开百度首页

from selenium import webdriver

import time

driver = webdriver.Chrome()

driver.get("https://www.baidu.com")

#判断百度一下按钮是否显示出来了

# if driver.find_element_by_id("su").is_displayed():

if driver.find_element_by_id("su").is_enabled():#判断是否可用

    print("正常显示了百度一下")

else:

    print("显示失败")

#退出浏览器对象

driver.quit()

欢迎关注作者,如果觉得写的还不错,就给点个赞同、喜欢、收藏(后续持续更新)。

【全文手打 如需转载 请标注此出处】

上一篇下一篇

猜你喜欢

热点阅读