Selenium---鼠标事件---Python3

#coding = utf-8

from selenium import webdriver
#引入ActionChains类
from selenium.webdriver.common.action_chains import ActionChains
import time

#D:\chromedriver_win32\chromedriver.exe
'''
ActionChains类包含鼠标操作的常用方法:
    1;context_click() 右击
    2;double_click() 双击
    3;drag_and_drop() 拖动
    4;move_to_element() 鼠标悬停在一个元素上
    5;click_and_hold() 按下鼠标左键在一个元素上
'''

class driver_1(object):
    #定义一个对象
    def __init__(self):
        self.driver = webdriver.Chrome('D:\chromedriver_win32\chromedriver.exe')
    '''
    注意:
        1;在ActionChains(driver) 将ActionChains导入到driver对象中。
        2;perform() 执行所有ActionChains中的存储的行为。
    '''

    #右击元素
    def driver_context(self):
        self.driver.get('*************')
        #定位到要右击的元素
        right = self.driver.find_elements_by_css_selector('****')
        #对定位到的元素执行鼠标右击操作
        ActionChains(self.driver).context_click(right).perform()

    #鼠标双击操作
    def driver_double(self):
        self.driver.get('https://www.baidu.com/')
        #输入信息
        self.driver.find_element_by_css_selector('.s_ipt[name="wd"]').send_keys('我是天才')
        #定位需要双击的元素
        double = self.driver.find_element_by_css_selector('#su[type="submit"]')
        #对定位的元素执行双击操作
        ActionChains(self.driver).double_click(double).perform()
        time.sleep(3)
        self.driver.close()

    #鼠标拖放操作
    def driver_drag(self):
        self.driver.get('*****')
        #定位元素最初的位置
        source = self.driver.find_element_by_css_selector('*****')
        #定位元素最终的位置
        target = self.driver.find_element_by_css_selector('*****')
        #执行元素的拖拽操作
        ActionChains(self.driver).drag_and_drop(source,target).perform()
        time.sleep(3)
        self.driver.close()

    #鼠标移动在元素上 move_to_element()
    def driver_move(self):
        self.driver.get('https://www.cnblogs.com/')
        #定位需要鼠标移动的元素位置
        move = self.driver.find_element_by_css_selector('#cate_item_108698 a')
        #将鼠标移动到元素上面
        ActionChains(self.driver).move_to_element(move).perform()
        time.sleep(3)
        self.driver.close()

    #按下鼠标走左键 click_and_hold()
    def driver_click(self):
        self.driver.get('https://www.cnblogs.com/')
        #定位需要鼠标点击的元素位置
        move = self.driver.find_element_by_css_selector('#cate_item_108698 a')
        #点击定位的元素
        ActionChains(self.driver).click_and_hold(move).perform()
        time.sleep(3)
        self.driver.close()

if __name__ == "__main__":
    a = driver_1()
    a.driver_click()

 

posted @ 2020-04-16 14:46  天象独行  阅读(178)  评论(0编辑  收藏  举报