一个简单例子
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from time import sleep
class TestSearch():
def setup(self):
options = webdriver.ChromeOptions()
options.add_argument("User-Agent='Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36'")
# 【使用驱动实例开启会话】初始步骤
self.driver = webdriver.Chrome(options=options)
# 开启全局隐式等待
self.driver.implicitly_wait(3)
def teardown(self):
# 【结束会话】结束步骤:关闭浏览器
self.driver.quit()
def test_search(self):
# 【使用驱动实例操作浏览器】:启动浏览器并且导航到指定URL
self.driver.get("https://www.baidu.com/")
# 【获取浏览器信息】断言“百度一下”出现在浏览器标题
title = self.driver.title
assert "百度一下" in title
# 【查找元素】定位id属性为“wd"的元素
input_text = self.driver.find_element(By.ID,"kw")
# 【操作元素】清空文本输入框,输入文字"selenium",然后回车
input_text.clear()
input_text.send_keys("selenium")
input_text.send_keys(Keys.RETURN)
sleep(20)
# 【断言】断言"No results found."不包含在当前页面源代码中
assert "No results found." not in self.driver.page_source
如果运行正常,将会自动执行以下操作:打开一个Chrome浏览器,然后打开百度首页,在输入框中输入“selenium”然后回车。
通过这个例子
- 可以检验我们的环境是否已经安装正常,是否可以通过selenium.webdriver 来与浏览器交互
- 在与浏览器交互的过程,需要先创建浏览器驱动driver,然后
通过driver的一系列api来与浏览器交互
,包括打开浏览器,定位元素,操作元素,关闭浏览器等。
一个完整的selenium例子,通常包含的内容
- 【使用驱动实例开启会话】
- 【操作浏览器】
- 【获取浏览器信息】
- 【查找元素】
- 【操作元素】
- 【断言】
- 【结束会话】
后续主要学习路线
- 掌握元素定位
- 掌握浏览器操作
- 掌握常用的断言
- 掌握一个测试框架
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。