selenium用法讲解:
(1)浏览器操作:
主要讲如何用Python调用webdriver框架的API,对浏览器做一些常规的操作,如打开、前进、后退、刷新、设置窗口大小、截屏、退出等操作。
WebDriver提供了maxmize_window()方法使打开的浏览器全屏显示,其用法与set_window_size()相同, 但它不需要参数。
WebDriver提供了back和forward方法来模拟后退和前进按钮。
WebDriver提供了refresh()方法模拟刷新。
WebDriver提供了截图函数get_screenshot_as_file()来截取当前窗口。
如:driver.get_screenshot_as_file(r"C:\Users\baidu.png")
WebDriver还提供了close方法,用来关闭当前窗口。
WebDriver还提供了quit方法,用来退出驱动并关闭所有关联的窗口。
见下面例子:
from selenium import webdriver
from time import sleep
driver = webdriver.Chrome()
driver.maximize_window()
driver.get("https://www.baidu.com/")
sleep(3)
driver.get("https://blog.csdn.net/")
sleep(3) # 等待3s后刷新页面
driver.refresh() # 页面刷新refresh()
# 1.想返回上一页面,相当于浏览器左上角的左箭头按钮,driver.back()
# 2.返回到上一页面后,也可以切换到下一页,相当于浏览器左上角的右箭头按钮,driver.forward()
driver.back() # 返回上一页
sleep(5)
driver.forward() # 返回下一页
driver.set_window_size(540,960) # 设置窗口大小为手机分辨率540*960
sleep(3)
driver.maximize_window()
driver.get_screenshot_as_file("cr1.png") # 当前路径下保存截图
# 截屏后可以设置制定的保存路径+文件名称+后缀
driver.quit()
# 结束进程,关闭所有的窗口
(2)元素基本操作
clear(): 清除文本
send_keys ( * value): 模拟按键输入
click(): 单击元素
submit(): 提交表单
size: 返回元素的尺寸
text: 获取元素的文本
current_url: 获取当前URL
title: 获取元素的标题
get_attribute(name):获得属性值
is_displayed():判断该元素是否用户可见
(3)鼠标事件
在WebDriver,将这些关于鼠标操作的方法封装在ActionChains类提供:
click(on_element=None) ——单击鼠标左键
click_and_hold(on_element=None) ——点击鼠标左键,不松开
context_click(on_element=None) ——点击鼠标右键
double_click(on_element=None) ——双击鼠标左键
drag_and_drop(source, target) ——拖拽到某个元素然后松开
drag_and_drop_by_offset(source, xoffset, yoffset) ——拖拽到某个坐标然后松开
move_by_offset(xoffset, yoffset) ——鼠标从当前位置移动到某个坐标
move_to_element(to_element) ——鼠标移动到某个元素
move_to_element_with_offset(to_element, xoffset, yoffset) ——移动到距某个元素(左上角坐标)多少距离的位置
perform() ——执行链中的所有动作
release(on_element=None) ——在某个元素位置松开鼠标左键
send_keys(*keys_to_send) ——发送某个键到当前焦点的元素
send_keys_to_element(element, *keys_to_send) ——发送某个键到指定元素
使用的时候需导入:from selenium.webdriver.common.action_chains import ActionChains
(4)键盘事件
key_down(value, element=None) ——按下某个键盘上的键
key_up(value, element=None) ——松开某个键
send_keys(Keys.BACK_SPACE) 删除键(backspace)
send_keys( Keys. SPACE) 空格键(space)
send_keys( Keys.TAB) 制表键(Tab)
send_keys( Keys. ESCAPE) 回退键(esc)
send_keys( Keys. ENTER) 回车键(enter)
send_keys(Keys.CONTROL,’a’) 全选(ctrl+A)
send_keys(Keys.CONTROL,’c’) 复制(ctrl+C)
send_keys(Keys.CONTROL,’x’) 剪切(ctrl+X)
send_keys(Keys.CONTROL,’v’) 粘贴(ctrl+v)
send_keys(keys.F1) 键盘F1
……
send_keys(keys.F12) 键盘F12
使用的时候需导入:from selenium.webdriver.common.keys import Keys