上一篇:(二) selenium元素定位(上)_要开朗的spookypop的博客-CSDN博客
本篇继续介绍常用的元素定位和常用操作。
通过链接文本定位
alerts弹窗
浏览器窗口操作
1、通过链接文本定位

上图是一个返回首页的链接,点击后跳转到首页,元素定位关键代码:
driver.find_element(By.LINK_TEXT, '返回首页')
完整代码如下:
- from selenium import webdriver
- from selenium.webdriver.common.by import By
- from selenium.webdriver.chrome.service import Service as ChromeService
- from webdriver_manager.chrome import ChromeDriverManager
-
- try:
- service = ChromeService(executable_path=ChromeDriverManager().install())
- driver = webdriver.Chrome(service=service)
- driver.get('http://www.softwarebox.club/pages/OnlineTools/AutoLearn')
- # 点击链接返回首页
- driver.find_element(By.LINK_TEXT, '返回首页').click()
- driver.quit()
-
-
- except Exception as e:
- print('用例执行失败')
- print(e)
2、alerts弹窗操作
对于警告弹窗、确认框等,常用的操作是对话框确认、关闭弹窗、获取弹窗的内容等。代码实战演示这些操作。
用户注册测试用例:
步骤1:浏览器打开注册页面
步骤2:输入符合需求格式的用户名
步骤3:输入不符合格式要求的密码
预期结果:注册失败,弹窗提示密码错误信息
上述测试用例转换为代码如下
- from selenium import webdriver
- from selenium.webdriver.common.by import By
- from selenium.webdriver.chrome.service import Service as ChromeService
- from selenium.webdriver.support import expected_conditions
- from selenium.webdriver.support.wait import WebDriverWait
- from webdriver_manager.chrome import ChromeDriverManager
-
- # 测试用户注册,输入不符合格式要求的密码,注册失败
- try:
- service = ChromeService(executable_path=ChromeDriverManager().install())
- driver = webdriver.Chrome(service=service)
- driver.get('http://www.softwarebox.club/pages/OnlineTools/AutoLearn')
- driver.find_element(By.ID, 'username').send_keys('小黄')
- # 输入的密码不符合格式要求(注:密码必须为6-18位,大小写字母和数字的组合)
- driver.find_element(By.ID, 'password').send_keys('123456')
- # 点击注册按钮
- driver.find_element(By.CSS_SELECTOR, '#contentmain > section > div.center > form > button:nth-child(7)').click()
- wait = WebDriverWait(driver, 10)
- # 等待弹窗显示
- alert = wait.until(expected_conditions.alert_is_present())
- # 验证弹窗信息不是"注册成功"
- assert alert.text != '注册成功', '用例不通过'
- print('弹窗信息:' + alert.text)
- # 点击弹窗的确认按钮,关闭弹窗
- alert.accept()
- print('用例通过')
- driver.quit()
-
-
- except Exception as e:
- print('用例执行失败')
- print(e)
运行结果:
- 弹窗信息:密码必须为6-18位,大小写字母和数字的组合
- 用例通过
-
- Process finished with exit code 0
3、浏览器窗口操作
常用操作如下:
driver.refresh()
当前页面刷新
driver.maximize_window()
浏览器窗口最大化
driver.set_windows_size()
设置浏览器窗口大小
driver.close()
关闭浏览器窗口
driver.forward()
浏览器前进一页
driver.back()
浏览器返回上一页
下一篇:(四)selenium自动化测试之上传本地文件_要开朗的spookypop的博客-CSDN博客_selenium上传本地文件