zoukankan      html  css  js  c++  java
  • selenium——鼠标操作ActionChains:点击、滑动、拖动

    from selenium.webdriver import ActionChains

    1、鼠标点击

    click:鼠标左击
    double_click:鼠标双击
    context_click:鼠标右击

    btn = driver.find_element_by_id('su')
    # 第一步:创建一个鼠标操作的对象
    action = ActionChains(driver)
    # 第二步:进行点击动作(事实上不会进行操作,只是添加一个点击的动作)
    action.click(btn)
    # 第三步:执行动作
    action.perform()
    

    2、鼠标移动

    driver = webdriver.Chrome()
    driver.get('https://www.baidu.com/')
    driver.implicitly_wait(5)
    
    # 定位设置元素
    set_ele = driver.find_element_by_xpath("//div[@id='u1']//a[text()='设置']")
    # 第一步:创建一个鼠标操作的对象
    action = ActionChains(driver)
    # 第二步:进行移动
    action.move_to_element(set_ele)
    # 第三步:执行动作
    action.perform()
    
    # 三行代码写成一行:支持链式调用
    ActionChains(driver).move_to_element(set_ele).perform()
    
    # 等待高级设置可点击
    WebDriverWait(driver,5,0.2).until(
        EC.element_to_be_clickable((By.XPATH,"//a[text()='高级搜索']"))
    ).click()
     
    

    3、鼠标滑动

    # 选择拖动滑块的节点
    sli_ele = driver.find_element_by_id('tcaptcha_drag_thumb')
    # ------------鼠标滑动操作------------
    action = ActionChains(driver)
    # 第一步:在滑块处按住鼠标左键
    action.click_and_hold(sli_ele)
    # 第二步:相对鼠标当前位置进行移动
    action.move_by_offset(100,0)
    # 第三步:释放鼠标
    action.release()
    # 执行动作
    action.perform()
    

    4、鼠标在一个元素上拖动到另一个元素

    s = WebDriverWait(driver, 30, 0.5).until(
        EC.visibility_of_element_located((By.ID, 'draggable'))
    )
    t = WebDriverWait(driver, 30, 0.5).until(
        EC.visibility_of_element_located((By.ID, 'droppable'))
    )
    # ------------鼠标滑动操作------------
    action = ActionChains(driver)
    # 第一步:拖动元素
    action.drag_and_drop(s, t)
    # 执行动作
    action.perform()
    

    参考:https://www.cnblogs.com/erchun/p/12906324.html

  • 相关阅读:
    TomCat 的 Jenkins 报错:反向代理设置有误
    【Django】如何在类视图、普通视图单独不做CSRF校验
    【Django】HTML如何显示富文本内容
    Djaong 运行报错:ValueError: Unable to configure handler 'default'
    Windows 环境使用 Xshell 连接 VMware 虚拟机上的 CentOS 系统
    【我的青春我做主】让自己的心境安宁
    Django 使用 Nginx + uWSGI 启动
    Django_文件下载
    追梦何须要问成败,只管向前吧
    PyCharm:设置py文件头部信息
  • 原文地址:https://www.cnblogs.com/nmydt/p/14256338.html
Copyright © 2011-2022 走看看