• Selenium-鼠标操作


    有些特殊的系统可能需要模拟键盘或者鼠标的操作才可以

    鼠标的操作不仅仅是click()单击操作,还有很多包含在ActionChains类中

      context_click(elem)  右击鼠标点击元素elem,另存为等行为

      double_click(elem)  双击鼠标点击元素elem,地图web可实现放大

      drag_and_drop(source,target)  拖动鼠标,源元素按下左键移动至目标元素释放

      move_to_element(elem)  鼠标移动到一个元素上,也就是鼠标悬浮

      click_and_hold(elem)  按下鼠标左键在一个元素上  

      perform()  再通过调用该函数执行AcitonChains中存储的行为

    实例:

    百度搜索首页:设置:搜索设置

    设置是悬浮的,选中搜索设置

    #! /usr/bin/env python
    #coding=utf-8
    
    from selenium import webdriver
    from selenium.webdriver.common.action_chains import ActionChains
    import time
    
    '''
    百度搜索首页:设置:搜索设置
    '''
    driver = webdriver.Firefox()
    driver.get("https://www.baidu.com/")
    time.sleep(3)
    
    #利用链接,定位到"设置"元素
    mm = driver.find_element_by_link_text("设置")
    ActionChains(driver).move_to_element(mm).perform()
    
    time.sleep(3)
    
    driver.find_element_by_link_text("搜索设置").click()
    time.sleep(5)
    
    driver.quit()

    百度首页-百度log图片-右键点击

    #! /usr/bin/env python
    #coding=utf-8
    
    from selenium import webdriver
    from selenium.webdriver.common.action_chains import ActionChains
    import time
    
    
    driver = webdriver.Firefox()
    driver.get("https://www.baidu.com/")
    time.sleep(3)
    
    #鼠标移动到图片上,右击
    elem_pic = driver.find_element_by_xpath(".//*[@id='lg']/img")
    print("图片资源地址:",elem_pic.get_attribute("src"))
    action = ActionChains(driver).move_to_element(elem_pic)
    action.context_click(elem_pic)
    
    action.perform()
    time.sleep(5)
    driver.quit()

    结果:图片资源地址: https://www.baidu.com/img/bd_logo1.png

  • 相关阅读:
    sqli-labs(43)
    sqli-labs(42)
    sqli-labs(41) and 两php函数的讲解
    php的mysql语法
    msf
    域的建立过程
    sqli-labs(40)
    sqli-labs(39)
    sqli-labs(38)
    虚拟化之docker
  • 原文地址:https://www.cnblogs.com/R-bear/p/7468577.html
Copyright © 2020-2023  润新知