标签:元素 需要 鼠标悬停 web页面 根据 返回 名称 http 控制
一、控制浏览器
1.1 控制浏览器窗口大小
# 获取当前浏览器的大小 driver.get_window_size()
# 通过像素设置浏览器的大小 driver.set_window_size(‘width‘,‘height‘)
# 获取当前窗口针对于Windows的位置的坐标x,y driver.get_window_position()
# 设置当前窗口针对Windows的位置,x,y driver.set_window_position(20,20)
# 最大化当前窗口,不需要传参 driver.maximize_window()
# 返回当前操作的浏览器句柄 driver.current_window_handle
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
# 导入提供鼠标操作的ActionChains
driver = webdriver.Chrome()
driver.get(‘http://ui.imdsx.cn/uitester/‘)
driver.maximize_window() #最大化当前窗口
driver.execute_script(‘window.scrollTo(0,0);‘)
#执行JavaScript语句,通过js 来操作滚动条
right_click = driver.find_element_by_id(‘id1‘)
ActionChains(driver).context_click(right_click).perform()
ActionChains(driver)
调用ActionChains() 类,将浏览器驱动driver作为参数传入
context_click(right_click)
context_click( )方法用于模拟鼠标右键操作,在调用时需要指定元素定位
perform()
执行所有ActionChains 中存储的行为,可以理解成是对整个操作的提交动作
3.2 鼠标悬停 move_to_element()
move_to_element() 方法可以模拟鼠标悬停的动作,其用法与context_click( )相同
dive = driver.find_element_by_css_selector(‘#a‘)
ActionChains(driver).move_to_element(dive).perform()
3.3 鼠标双击操作 double_click()
3.4 鼠标拖放操作 drag_and_drop(source,target)
source 鼠标拖动的源元素
target 鼠标释放的目标元素
s = driver.find_element_by_css_selector(‘#dragger‘)
t = driver.find_element_by_css_selector(‘#i1‘)
ActionChains(driver).drag_and_drop(s,t).perform()
引用方法 :from selenium.webdriver.common.keys import Keys
# key_down 模拟键盘摁下某个按键 key_up 松开某个按键,与sendkey连用完成一些操作,每次down必须up一次否则将出现异常
ActionChains(driver).key_down(Keys.CONTROL,dom).send_keys(‘a‘).send_keys(‘c‘).
key_up(Keys.CONTROL).key_down(Keys.CONTROL,dom1).send_keys(‘v‘).key_up(Keys.CONTROL).perform()
Selenium - Webdriver API /ActionChains API
标签:元素 需要 鼠标悬停 web页面 根据 返回 名称 http 控制
原文地址:https://www.cnblogs.com/chendai21/p/8943952.html