所谓浏览器操作是指webdriver通过协议和接口发现DOM中的元素,并实现控制浏览器的行为,例如打开浏览器、控制浏览器大小、浏览器刷新即浏览器前进、后退等。
启动浏览器
driver= webdriver.Chrome()
打开页面
driver.get(url)
浏览器等待
time.sleep(2)用于将程序停顿一段时间后再执行。webdriver将等待,知道页面完全加载完成,然后继续执行下面的脚本
控制浏览器窗口大小
窗口最大化:driver.maxmize_window()
设置窗口大小:driver.set_window_size(480.800) #分辨率480 X 800
窗口最小化:driver.minmize_window()
浏览器回退
driver.back() #用于回退到上一步操作
浏览器前进
driver.forward() #用于前进到下一步操作
刷新页面
driver.refresh() #刷新当前页面
获取浏览器名称
driver.name #如果用Chrome打开,就显示Chrome,其他浏览器同理
关闭浏览器
driver.quit()和driver.close()区别:
driver.close()指关闭当前的窗口。主要应用于有多个窗口,需要关闭其中某个窗口,继续执行其他窗口;
driver.quit()指关闭整个浏览器。如果浏览器有多个窗口,会同时关闭多个tab,不再做其他窗口操作。
窗口截图
driver.get_screenshot_as_file(path),括号内的path为图片路径,接下来我们截取百度页面窗口; #运行成功后,会在c盘的images文件下保存一张baidu.png的百度窗口图片
窗口切换
句柄(handler):每一个页面都是一个值,对一个页面来说是唯一的,是页面的一个标识,driver对象是要绑定句柄的,你的driver只能控制你绑定句柄的页面。
获取当前窗口的句柄:
# 获取当前句柄 handler = driver.current_window_handle
获取浏览器打开窗口的所有句柄:
# 获取浏览器所有打开窗口的句柄 handlers = driver.window_handles
鼠标操作
clear():清除文本
send_keys(value):模拟按键输入,除了能够发送字母外,还可以发送快捷键
click():单机元素,例如按钮、超链接、单选框、复选框
Current_url:返回当前(driver浏览器对象所能控制的页面)页面的url地址
title:返回当前(driver浏览器对象所能控制的页面)页面的title
Text:获取页面(提示框、警告框)显示的文本
get_attribute(name)获得属性值,文本框中的值使用value属性名
is_displayed():设置该元素是否用户可见
键盘操作
键盘事件,Keys()类提供了键盘上几乎所有的按键方法。send_keys()方法可以用来模拟键盘输入,除此之外,我们还可以用它来输入键盘上的按键,甚至是组合键,如:Ctrl+A、Ctrl+C等,需要导入一下包,
from selenium.webdriver.common.keys import Keys
send_keys(Keys.BACK_SPACE):删除键 send_keys(Keys.SPACE):空格键 send_keys(Keys.TAB):制表键 send_keys(Keys.ESCAPE):esc键 send_keys(Keys.ENTER):回车键 send_keys(Keys.CONTROL,'a'):全选 send_keys(Keys.CONTROL,'c'):复制 send_keys(Keys.CONTROL,'x'):剪切 send_keys(Keys.CONTROL,'v'):粘贴