1.判断页面上是否有弹窗存在(alert_is_present())
导入from selenium.webdriver.support import expected_conditions as EC
测试用例中断言页面上有弹窗存在self.assertTrue(EC.alert_is_present()(wd)) # wd为浏览器驱动
测试用例中断言页面上没有弹窗存在self.assertFalse(EC.alert_is_present()(wd)) # wd为浏览器驱动
2.获取元素属性的几种方法(get_attribute())
1.get_attribute("textContent")
获取标签的文本内容
2.get_attribute("innerHTML")
获取元素内的全部HTML
3.get_attribute("outerHTML")
获取包含该选中元素的全部HTML
eg.以百度为例
#!/usr/bin/python
# -*- coding: UTF-8 -*-
from selenium import webdriver
from time import sleep
import sys
reload(sys)
sys.setdefaultencoding('utf8')
def login():
global wd
# 打开浏览器
wd=webdriver.Chrome(r'D:\webdrivers\chromedriver.exe')
wd.implicitly_wait(10) # 设置最长等待时间,每隔半秒寻找一次,最长等待时间为10秒
# 调用WebDriver 对象的get方法 可以让浏览器打开指定网址
wd.get('https://www.baidu.com/')
sleep(5)
# 获取标签的内容
attr_text=wd.find_element_by_css_selector("[class='title-text c-font-medium c-color-t']").get_attribute("textContent")
print attr_text
# 获取元素内的全部HTML
attr_inner=wd.find_element_by_css_selector("[class='hot-title']").get_attribute("innerHTML")
print attr_inner
# 获取包含该选中元素的全部HTML
attr_outer=wd.find_element_by_css_selector("[class='hot-title']").get_attribute("outerHTML")
print attr_outer
if __name__ == '__main__':
login()
运行结果:
3.利用鼠标滚动,将网页或者弹窗中的滚动条下拉
鼠标滚动,页面下拉,可利用js脚本拖动到特定的地方,这个方法可以将滚动条拖动到需要显示的元素位置
# 鼠标滚动,下拉到下方
target=wd.find_element_by_css_selector("[class='el-table__footer-wrapper'] tbody>tr") # target是想要显示元素的位置
wd.execute_script("arguments[0].scrollIntoView();",target)
也可以将页面下拉相对位置
wd.execute_script("window.scrollBy(0, 5000)") # 页面下拉5000px
4.HTMLTestRunner生成报告,给测试类与测试用例添加中文注释
在TestXXX测试类的下方或者test_xxx测试用例的下方添加注释'''这是注释'''
,则该注释会显示在生成报告的测试类与测试用例后面
例如:
生成报告:
5.获取当前页面的HTML源码
wd.page_source # wd是WebDriver 对象,指明是使用什么浏览器驱动