zoukankan      html  css  js  c++  java
  • Selenium---鼠标事件---Python3

    #coding = utf-8
    
    from selenium import webdriver
    #引入ActionChains类
    from selenium.webdriver.common.action_chains import ActionChains
    import time
    
    #D:chromedriver_win32chromedriver.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_win32chromedriver.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()
  • 相关阅读:
    一份详尽的 Java 问题排查工具清单,值得收藏!
    专业解决 MySQL 查询速度慢与性能差!
    马士兵对话京东T6阿里P7(薪水):月薪5万,他为何要离职?
    Java中的注解到底是如何工作的?
    一道简单的面试题,难倒各大 Java 高手!
    疯狂618,当当买书打 3 折!
    SQL才是世界上最牛逼的语言!
    程序员必须掌握的职场黑话,你知道几个?
    面试问我 Java 逃逸分析,瞬间被秒杀了。。
    redis 介绍与操作
  • 原文地址:https://www.cnblogs.com/aaron456-rgv/p/12712842.html
Copyright © 2011-2022 走看看