python自动化6 鼠标事件
发布日期:2023-05-26 14:13:32 浏览次数:8 分类:技术文章

本文共 3738 字,大约阅读时间需要 12 分钟。

在实际的web产品测试中,对于鼠标的操作,不单单只有click0,有时候还要用到右击、双击、拖动等操作,这些操作包含在ActionChains类中。

ActionChains类中鼠标操作常用方法:
context click() 右击
double click() 双击
drag_and_drop() 拖动
move_to_element() 鼠标移动到一个元素上
click and hold() 按下鼠标左键在一个元素上

from selenium import webdriverfrom config_utils import config_ufrom log_utils import LogUtilsfrom selenium.webdriver.firefox.service import Servicefrom selenium.webdriver.common.by import Byfrom selenium.webdriver.common.action_chains import ActionChainslog_path = config_u.get_log_pathlog_utils = LogUtils(log_path)class WebDriver:    def __init__(self,driver_path=config_u.get_driver_path):        path = Service(driver_path)        self.driver = webdriver.Firefox(service=path)        self.mouse = ActionChains(self.driver)    def get_urls(self,urls):        try:            self.driver.get(urls)            log_utils.print_file_log('info', '窗口打开成功')        except Exception as e:            log_utils.print_file_log('error','url错误:'+str(e))    def quit_browser(self):        self.driver.quit()    def browser_back(self):        self.browser_back()    def find_element_xpath(self,xpath_path,key_word):        self.driver.find_element(By.XPATH,xpath_path).send_keys(key_word)    def find_element_css(self,css_path,key_word):        self.driver.find_element(By.CSS_SELECTOR,css_path).send_keys(key_word)    def element_xpath_click(self,xpath_path):        #按键点击        self.driver.find_element(By.XPATH,xpath_path).click()    def element_xpath_submit(self,xpath_path):        #表单提交        self.driver.find_element(By.XPATH, xpath_path).submit()    def element_xpath_get_text(self,xpath_path):        #获取标签文本        return self.driver.find_element(By.XPATH,xpath_path).text    def element_xpath_get_attribute(self,xpath_path,class_value):        # 获取标签属性值        return self.driver.find_element(By.XPATH, xpath_path).get_attribute(class_value)    def element_xpath_is_display(self,xpath_path):        #组件对象是否可见        return self.driver.find_element(By.XPATH, xpath_path).is_displayed()    def element_xpath_is_enable(self,xpath_path):        #组件对象是否禁用        return self.driver.find_element(By.XPATH, xpath_path).is_enabled()    def element_xpath_is_select(self,xpath_path):        #组件对象是否禁用        return self.driver.find_element(By.XPATH, xpath_path).is_selected()    def element_xpath_tag_name(self,xpath_path):        #获取对象标签名        return self.driver.find_element(By.XPATH, xpath_path).tag_name    def element_xpath_location(self,xpath_path):        #获取元素坐标        return self.driver.find_element(By.XPATH, xpath_path).location    def element_xpath_screenshot(self,xpath_path):        #元素截图        self.driver.find_element(By.XPATH, xpath_path).screenshot()    #鼠标相关操作    def element_xpath_right_click(self,xpath_path):        #鼠标右击        element=self.driver.find_element(By.XPATH,xpath_path)        self.mouse.context_click(element).perform()    def element_xpath_move_element(self,xpath_path):        #鼠标浮在元素上        element=self.driver.find_element(By.XPATH,xpath_path)        self.mouse.move_to_element(element).perform()    def element_xpath_double_click(self,xpath_path):        #双击        element=self.driver.find_element(By.XPATH,xpath_path)        self.mouse.double_click(element).perform()    def element_xpath_drag_drop(self,xpath_path):        #拖动        element=self.driver.find_element(By.XPATH,xpath_path)        self.mouse.drag_and_drop(element).perform()    def element_xpath_click_hold(self,xpath_path,sec):        #按下鼠标左键在一个元素上 sec 长按时间        element=self.driver.find_element(By.XPATH,xpath_path)        self.mouse.click_and_hold(element).pause(sec).release().perform()if __name__ == '__main__':    urls = 'http://127.0.0.1/zentao/user-login.html'    driver = WebDriver()    driver.get_urls(urls)

转载地址:https://blog.csdn.net/xiaoqiukuzi/article/details/129151430 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:python自动化7 键盘事件
下一篇:python自动化5 操作测试对象

发表评论

最新留言

感谢大佬
[***.8.128.20]2024年04月01日 20时00分48秒