webdriver基本操作
from selenium import webdriver # 导入webdriver模块
import time
# 打开浏览器
driver = webdriver.Chrome()
# 打开网页
driver.get("http://baidu.com")
# 浏览器休息5s
time.sleep(5)
# 返回
driver.back()
time.sleep(2)
# 向前
driver.forward()
time.sleep(2)
# 刷新页面
driver.refresh()
# 退出浏览器
driver.quit()
# 关闭当前窗口
driver.close()
免登陆加载配置文件
1.查看浏览器中的个人文件配置信息:chrome://version/
2.FireFox和Chrome的加载代码
# FireFox加载配置代码
# raw 让字符串显示原型,不转义
profile_directory = r'C:\Users\z15\AppData\Local\Google\Chrome\User Data\Default'
# 加载配置
profile = webdriver.FirefoxProfile(profile_directory)
#Chrome加载配置代码
option = webdriver.ChromeOption()
option.add_argument('--user-data-dir=用户自己的数据目录,这里只要到User Data,不是User Data\Default')
driver = webdriver.Chrome(chrome.options=option)
Webdriver API
八种基本定位方式
1.通过id定位(find_element_by_id)
# 输入内容
driver.find_element_by_id('kw').send_keys('芒果')
# 清空输入框
driver.find_element_by_id('kw').clear()
# 输入新内容
driver.find_element_by_id('kw').send_keys('吃瓜')
# 点击搜索按钮
driver.find_element_by_id('su').click()
2.通过name定位(find_element_by_name)
# 输入内容
driver.find_element_by_name('kw').send_keys('芒果')
# 清空输入框
driver.find_element_by_name('kw').clear()
# 输入新内容
driver.find_element_by_name('kw').send_keys('吃瓜')
# 点击搜索按钮
driver.find_element_by_name('su').click()
3.通过class定位 (find_element_by_class_name 一般不具有唯一性)
driver.find_element_by_class_name("s_btn").click()
4.通过tag定位 (find_element_by_tag_name)
*一般页面上标签一样的很多,通过标签无法直接定位到某个元素
*通常用于定位一组元素
driver.find_element_by_tag_name("input").send_keys("hao")
5.通过link定位 (find_element_by_link_text)
driver.find_element_by_link_name("新闻").click()
6.通过partial link定位 (find_element_by_partial_link_text)
*通过输入不完整的链接中的文本进行查找
*比如一个很长的文本链接,如“hao123",可以截取其中”hao1"部分
7.通过XPath定位
*XPath是一种在XML文档中定位元素的语言
# .表示当前节点 //表示当前页面某个目录下,不指定标签名用*代替
driver.find_element_by_xpath(".//input[@id='su']").click()
driver.find_element_by_xpath(".//*[@name='kw']").click()
8.通过css定位 (find_element_by_css_selector)
driver.find_element_by_css_selector("#kw").send_key("123")
9.复数元素定位
from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
# 通过class属性获取一组元素(list)
# 通过元素的索引访问
for m in range(0, 6):
driver.find_elements_by_class_name('mnav')[m].click()
time.sleep(3)
driver.back()
driver.quit()
本文介绍了Selenium自动化测试中WebDriver的基本操作,包括如何查看浏览器配置信息、如何使用Firefox和Chrome的加载代码。重点讲解了八种定位网页元素的方法:通过id、name、class、tag、link、partial link、XPath和css选择器,以及针对一组元素的定位。
2993

被折叠的 条评论
为什么被折叠?



