上一篇中,只是简单地一带而过的说了一些驱动浏览器,这一篇继续说说驱动浏览器,然后再说一说元素定位的方法。
完成环境的安装并测试之后,我们对Selenium有了一定的了解了,接下来我们继续驱动浏览器做一些基本操作:
窗口尺寸设置、网页截图、刷新、前进和后退
在测试过程中,我们可能会要求打开浏览器的窗口处于最大化或者设置为某一特定尺寸的大小,所以我们使用selenium驱动浏览器时设定窗口大小
# coding=utf-8
# 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行
# 2.注释:包括记录创建时间,创建人,项目名称。
'''
Created on 2019-11-26
@author: 潇潇说测试
Project: python+ selenium-驱动浏览器和元素定位大法
'''
# 3.导入模块
import time
from selenium import webdriver
driver = webdriver.Chrome() # 启动chrome
def get_size(driver):
"""
获取窗口尺寸并打印
"""
size = driver.get_window_size() # 获取窗口尺寸
print(size) # 打印窗口尺寸
time.sleep(3) # 暂停3秒
driver.get("https://www.google.com") # 打开网页
get_size(driver)
driver.set_window_size(800,600) # 设置窗口尺寸为800*600
get_size(driver)
driver.minimize_window() # 窗口最小化,窗口尺寸未发生变化
get_size(driver)
driver.maximize_window() # 窗口最大化
get_size(driver)
driver.quit() # 停止进程
在完成打开网页时,我们对网页内容进行保存的方式的一种就是进行网页截图,webdriver中就提供了截图的选择
# coding=utf-8
# 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行
# 2.注释:包括记录创建时间,创建人,项目名称。
'''
Created on 2019-11-26
@author: 潇潇说测试
Project: python+ selenium-驱动浏览器和元素定位大法
'''
# 3.导入模块
import time
from selenium import webdriver
driver = webdriver.Chrome() # 启动chrome
def get_size(driver):
"""
获取窗口尺寸并打印
"""
size = driver.get_window_size() # 获取窗口尺寸
print(size) # 打印窗口尺寸
time.sleep(3) # 暂停3秒
driver.get("https://www.google.com") # 打开网页
get_size(driver)
driver.set_window_size(800,600) # 设置窗口尺寸为800*600
get_size(driver)
driver.minimize_window() # 窗口最小化,窗口尺寸未发生变化
get_size(driver)
driver.maximize_window() # 窗口最大化
get_size(driver)
driver.quit() # 停止进程
如同在浏览器中进行常规按钮操作,依次打开多个网页后,需要对网页刷新,返回、前进
# coding=utf-8
# 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行
# 2.注释:包括记录创建时间,创建人,项目名称。
'''
Created on 2019-11-26
@author: 潇潇说测试
Project: python+ selenium-驱动浏览器和元素定位大法
'''
# 3.导入模块
import time
from selenium import webdriver
driver = webdriver.Chrome() # 启动chrome
def get_size(driver):
"""
获取窗口尺寸并打印
"""
size = driver.get_window_size() # 获取窗口尺寸
print(size) # 打印窗口尺寸
time.sleep(3) # 暂停3秒
driver.get("https://www.google.com") # 打开网页
get_size(driver)
driver.set_window_size(800,600) # 设置窗口尺寸为800*600
get_size(driver)
driver.minimize_window() # 窗口最小化,窗口尺寸未发生变化
get_size(driver)
driver.maximize_window() # 窗口最大化
get_size(driver)
driver.quit() # 停止进程
一些基本操作就完成了,接下来我们就可以做更多~
webdriver 提供了八种元素定位方法:
id
name
class name
tag name
link text
partial link text
xpath
css selector
在 Python 语言中对应的定位方法如下:
find_element_by_id()
find_element_by_name()
find_element_by_class_name()
find_element_by_tag_name()
find_element_by_link_text()
find_element_by_partial_link_text()
find_element_by_xpath()
find_element_by_css_selector()
下面我们就逐一的来看这些定位方法的使用。在此之前,我们拷取百度首页的前端代码,以定位页面上的元素为例进行讲解。