鼠标操作
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from time import sleep
driver=webdriver.Firefox()
driver.get("http//www.baidu.com")
driver.maximize_window()
driver.find_element_by_css_selector("#kw").send_keys("Python")
#获取搜索框元素对象
element=driver.find_element_by_css_selector("#kw")
sleep(3)
#左键双击操作
ActionChains(driver).double_click(element).perform()
sleep(2)
#右键单击操作
ActionChains(driver).context_click(element).perform()
sleep(3)
#鼠标悬停
above=driver.find_element_by_css_selector(".pf")
ActionChains(driver).move_to_element(above).perform()
#鼠标拖动
element1 、 element2
ActionChains(driver).click_and_hold(element1).perform() #鼠标左键单击不松开
ActionChains(driver).drag_and_drop(element1, element2).perform() #拖拽到某个元素后松开
#其它方法:
drag_and_drop_by_offset(self, source, xoffset, yoffset) #拖拽到某个坐标后松开
key_down(self, value, element=None) #某个键盘键被按下
key_up(self, value, element=None) #松开某个键
move_by_offset(self, xoffset, yoffset) #鼠标移动到某个坐标
move_to_element(self, to_element) #鼠标移动到某个元素
move_to_element_with_offset(self, to_element, xoffset, yoffset) #移动到距某个元素(左上角)多少的位置
release(self, on_element=None) #在某元素上松开鼠标
send_keys(self, *keys_to_send) #发送某些值到当前焦点元素
send_keys_to_element(self, element, *keys_to_send) #发送某些值到指定元素
sleep(4)
driver.quit()
键盘操作
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from time import sleep
driver=webdriver.Firefox()
driver.get("http://www.baidu.com")
driver.find_element_by_css_selector("#kw").send_keys("Python")
sleep(2)
#键盘全选操作 Ctrl+A
driver.find_element_by_css_selector("#kw").send_keys(Keys.CONTROL,'a')
#键盘选择复制 Ctrl+C 或剪切操作 Ctrl+x
driver.find_element_by_css_selector("#kw").send_keys(Keys.CONTROL,'c')
driver.find_element_by_css_selector("#kw").send_keys(Keys.CONTROL,'x')
#打开搜狗页面
driver.get("http://www.sogou.com/")
sleep(2)
#粘贴复制内容Ctrl+v
driver.find_element_by_css_selector(".sec-input").send_keys(Keys.CONTROL,'v')
sleep(2)
#点击搜索按钮
# driver.find_element_by_xpath("//input[@id='stb']").click()
driver.find_element_by_css_selector("#stb").click()
sleep(3)
driver.quit()