selenium+Python常用webdriverAPI:控制浏览器、鼠标、键盘等操作

继续讲解selenium webdriver 4种鼠标事件(右击、双击、拖动、鼠标悬停)、键盘事件(各种快捷键)、用js控制浏览器滚动条位置、获取cookie的方法
前提:已经搭建好selenium+python环境
一、鼠标事件
首先,在脚本中除了要导入webdriver类外,还要引入ActionChains类,也就是
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
(1)右击context_click()
a=driver.find_element_by_id(‘xx’)
ActionChains(driver).context_click(a).perform()//右键id为XX的元素,每个鼠标事件都要用到perform()方法
(2)悬停move_to_element()
b=driver.find_element_by_id(‘xx’)
ActionChains(driver).move_to_element(b).perfom()
(3)拖放drag_and_drop
c=driver.find_element_by_id(‘xx’)
d=driver.find_element_by_id(‘xx’)
ActionChains(driver).drag_and_drop(c,d).perform()//从c位置拖放到d位置
(4)双击double_click
e=driver.find_element_by_id(‘xx’)
ActionChains(driver).double_click(e).perfom()

二、键盘事件
键盘事件要导入Keys类也就是
from selenium.webdriver.common.keys import keys
然后在获取元素的输入框后,send_keys()括号中加入Keys.按键名,比如
全选:
driver.find_element_by_id(‘XX’).send_keys**(Keys.**CONTROL,‘a’) //模拟输入ctrl+a,全选
空格:
driver.find_element_by_id(‘XX’).send_keys(Keys.space)//模拟输入空格

三、调用js事件
调用js控制浏览器滚动条位置
以百度页面为例:
from selenium import webdriver
driver=webdriver.Firefox()
driver.get(“http://www.baidu.com”)
driver.set_window_size(600,800)
js="window.scrollTo(200,450);"//设置滚动条停留在底部200,高度450的位置上
driver.execute_script(js)//调用.execute_script执行js代码
driver.quit()

四、操作cookie
get_cookies() 获取所有cookies信息
get_cookie(name) 返回字典中key为name的cookie信息
add_cookie(cookie_dict)添加cookie,cookie——dict指字典对象,cookie信息必须用name:value形式
delete_all_cookies()删除所有cookies
以上四种不再一一举例
from selenium import webdriver
driver=webdriver.Firefox()
driver.get(“http://www.baidu.com”)
cookie=driver.get_cookies()
print(cookie)//输出页面所有cookie

猜你喜欢

转载自blog.csdn.net/qq_28723041/article/details/84542596