selenium (二) 浏览器的基本操作
在上一篇中,已经介绍过selenium的元素定位,下面介绍一下,
webdriver对浏览器的操作:
以下内容取自selenium/webdriver/remote/webdriver中的属性和方法
获取浏览器标题:
driver.title
获取当前浏览器的url地址:
driver.current_url
获取当前页面的源码:
driver.page_source
这个属性其实挺有用的,不管是在web自动化,还是app自动化。
特别是在app页面,可以将页面源码下载下来定位元素
获取当前窗口的handler,用于判断或切换浏览器窗口(主要作用于主-子窗口)
driver.current_window_handle
获取浏览器的所有窗口handler,可以用来切换窗口(主要作用于主-子窗口)
driver.window_handles
获取浏览器名称:
driver.name
以下是对浏览器的操作方法:
关闭窗口:
driver.close()
退出driver驱动并关闭窗口:
driver.quit()
将当前窗口最大化:
driver.maximize_window()
将当前窗口最小化:
driver.minimize_window()
设置窗口指定的大小:
driver.set_window_size(800,600)
将浏览器进行全屏,类似于按下F11效果一致:
driver.fullscreen_window()
切换浏览器窗口,以driver.window_handles列表中的值作为参数
driver.switch_to_window()
返回退回上一步:
driver.back()
前进下一步:
driver.forward()
刷新当前页面:
driver.refersh()
设置隐式等待时间,单位:秒
driver.implicitly_wait()
保存截屏图片
driver.get_screenshot_as_file('/Screenshots/test_case01.png')
driver.save_screenshot('/Screenshots/test_case01.png')
实例:
from selenium import webdriver from time import sleep driver=webdriver.Chrome() driver.get("http://testshop:8081/tshop/index.php?con=simple&act=login") #登录 def login_shop(userName,pwd): try: element_account=driver.find_element_by_id("account") #通过id定位 element_account.send_keys(userName) element_password=driver.find_element_by_name("password") #通过name定位 element_password.send_keys(pwd) element_loginBtn=driver.find_element_by_xpath('//button[@class="btn btn-main "]') #通过xpath定位 element_loginBtn.click() except Exception as e: driver.driver.save_screenshot('F:\\testAndStudy\\test\\login_shop.png') def click_menu(value): #0:首页、1:限时抢购、2:团购、3:服装、4:手机商城 try: element_menu=driver.find_elements_by_xpath('//*[@id="header"]/div[3]/ul/li[@class="link"]') #通过elements 获取整个菜单元素,并存放在list中 element_menu[value].click() #通过list下标进行点击操作 except Exception as e: driver.save_screenshot('F:\\testAndStudy\\test\\click_menu.png') """ 输入不存在用户名,登录失败后,将保存截图到指定路径下 """ login_shop(userName="1234445566@qq.com",pwd="123456") sleep(2) click_menu(2)