Selenium自动化测试

Selenium自动化测试第一天(下)

2018-12-19  本文已影响140人  韩志超

目录

更多学习资料请加添加作者微信:lockingfree获取

万能的XPath

XPath即XML路径语言,支持从xml或html中查找元素节点,使用XPath完全可以替代其他定位放式,如:

需要通过一组元素或分层定位的也可以直接使用XPath直接定位到

从浏览器复制出的XPath有可能不靠谱,所以我们要学会XPath的语法

路径

索引

属性

函数

示例:

from selenium import webdriver

browser = webdriver.Chrome()
browser.maximize_window()
browser.get("http://115.28.108.130/control.html")
browser.implicitly_wait(10)

div = browser.find_element_by_xpath("/html/body/div/form/div[2]")
print(div.text)

练习:
打开http://115.28.108.130/control.html,点击表格中王五(顺序不固定)后面的查看链接

弹出框处理

allert警告框

alert = driver.switch_to.alert()
alert.accept()  # 确认 或alert.dismiss() 关闭

confirm确认框

confirm = driver.switch_to.alert()
confirm.accept()  # 确认 或alert.dismiss() 取消

propmt提示框

propmt = driver.switch_to.alert()
propmt.send_keys() 输入
propmt.accept()  # 确认 或alert.dismiss() 关闭

练习:
打开网址,分别点击下方的alert, confirm,propmt按钮,并处理对话框

模态框

直接定位即可

练习:
打开百度首页,点击登录,点击用户名密码登录(可直接定位点击)

授权对话框

在打开的url中使用用户名和密码打开,格式如下
http://use:password@www.***.com

框架页面处理

因为frame/iframe框架是一套独立的网页,因此frame/iframe中的元素不能直接定位到

示例:

from selenium import webdriver
from time import sleep

browser = webdriver.Chrome()
browser.maximize_window()
browser.get("http://www.w3school.com.cn/tiy/t.asp?f=html_frame_mix")

browser.switch_to.frame("i")  #总的frame
browser.switch_to.frame(0)
print(browser.find_element_by_tag_name("h3").text)
browser.switch_to.parent_frame()
browser.switch_to.frame(1)
print(browser.find_element_by_tag_name("h3").text)
browser.switch_to.parent_frame()
browser.switch_to.frame(2)
print(browser.find_element_by_tag_name("h3").text)
browser.switch_to.default_content()

练习:
打开http://mail.qq.com并使用用户名密码登录qq邮箱

此为北京龙腾育才 Python高级自动化(Selenium部分)授课笔记
课程介绍
想要参加现场(北京)/网络课程的可以联系作者微信:lockingfree

  1. 高效学习,快速掌握Python自动化所有领域技能
  2. 同步快速解决各种问题
  3. 配套实战项目练习
上一篇 下一篇

猜你喜欢

热点阅读