所谓浏览器操作是指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'):粘贴