第一个自动化测试脚本
from selenium import webdriver # 打开浏览器; 实例化浏览器类对象
driver = webdriver.Chrome() # 类; 类名首字母大写; 类名() 实例化类的对象
# driver = webdriver.Firefox() # 类; 类名首字母大写; 类名() 实例化类的对象
driver.maximize_window() # 浏览器最大化
driver.get(‘xxxx') # 打开被测网站
selenium常用操作
1.输入操作: element.send_keys(输入的数据)
2.点击操作: element.click()
元素定位方式(八种)
1.id属性值
2.namename属性值
3.class_nameclass属性值
4.link_text超链接文本值 完全匹配
5.partial_link_text 超链接文本值 模糊匹配(文字的部分内容)
6.css_selectorcss样式选择器
7.xpath路径
8.tag_name标签名(一般不用)
id, name, class_name, tag_name 在源码中会直接转换为css_selector进行元素定位.
只有四个元素定位方式: xpath, css_selector, link_text, partial_link_text
总结: xpath(没有那个标签不能通过xpath定位), css_selector(速度最快), id
no such element 没有找到元素对象
浏览器窗口切换
window_handles 获取当前浏览器的所有窗口 列表数据
driver.switch_to.window(目标窗口名称) window_handles[-1]
frame框架
1.先定位frame/iframe标签
2.切换到frame/iframe中
driver.switch_to.frame(定位成功的frame) # 切入frame
3.当frame/iframe中的操作执行完成后, 如果要操作frame外的元素标签, 需要再切出frame
driver.switch_to.default_content()
网页未加载成功
解决方式:三种等待方式
1.sleep(time) 强制线程等待time秒
2.implicitly_wait(time) 隐式等待, 针对页面加载, 在time时间内, 加载完成则继续执行
3.WebDriverWait() 显式等待, 针对元素标签
alert弹窗
alert = driver.switch_to.alert
alert操作:
1.accept 确定/同意
2.dismiss 取消/关闭
3.send_keys() 输入数据
alert.accept() 点击确定