• 操作元素(键盘和鼠标事件)(三)


    在前面的几篇中重点介绍了一些元素的到位方法,到位到元素后,接下来就是需要操作元素了。本篇总结了web页面常用的一些操作元素方法,可以统称为行为事件
    有些web界面的选项菜单需要鼠标悬停在某个元素上才能显示出来(如百度页面的设置按钮)。

    简单操作

    • 鼠标左键点击:click()
    • 清空输入框:clear()
    • 输入字符串:send_key(),如果发送中文,前面需要加U,windows系统是GBK编码,我们脚本是UTF-8,需要转换成Unicode国际编码

    Submit提交表单

    • submit()一般用于模拟回车键

    键盘操作

    • 模拟键盘操作需要导入键盘模块from selenium.webdriver.common.keys import keys
    • 模拟enter键,可以用send_keys(Keys.ENTER)
    • 键盘键F1-F12:send_key(Keys.F1)(把F1修改成对应的快捷键即可)
    • 复制ctrl+C:send_keys(Keys.CONTROL,'c')
    • 粘贴ctrl+V:send_keys(Keys.CONTROL,'v')
    • 全选ctrl+A:send_keys(Keys.CONTROL,'a')
    • 剪贴ctrl+X:send_keys(Keys.CONTROL,'x')
    • 制表符Tab:send_keys(Keys.TAB)

    鼠标悬停事件

    • 鼠标不仅仅有click事件,还有鼠标停留在某个元素上,鼠标右击,鼠标拖动某个按钮
    • 鼠标事件需要先导入from selenium.webdriver.common.action_chains import ActionChains
    • perform()执行所有ActionChains中的行为
    • 鼠标悬停:move_to_element()
    • 右击鼠标:double_click()
    from selenium import webdriver
    from selenium.webdriver.common.action_chains import ActionChains
    import time
    
    driver = webdriver.Chrome()
    driver.get("https://www.baidu.com/")
    time.sleep(2)
    #窗口最大化
    driver.maximize_window()
    
    set = driver.find_element_by_xpath('//div[@id="u1"]/a[@name="tj_settingicon"]')
    ActionChains(driver).move_to_element(set).perform()
    
    time.sleep(1)
    ActionChains(driver).context_click().perform()
    time.sleep(1)
    driver.find_element_by_name("wd").click()
    time.sleep(1)
    driver.find_element_by_name("wd").send_keys("abc")
    time.sleep(1)
    driver.find_element_by_name("wd").clear()
    time.sleep(1)
    driver.find_element_by_name("wd").send_keys(u"测试输入中文")
    time.sleep(1)
    driver.find_element_by_name("wd").submit()
    
    driver.quit()

     

  • 相关阅读:
    获取腾讯soso地图坐标代码
    PHP获取服务器的mac地址类
    关于PHPExcel导出Excel时身份证,数字会导出为科学计数的处理方法
    PhpExcel笔记,phpExcel中文帮助手册
    微信开发之——Php批量生成带参数的二维码
    [转载]数据管理——数据血缘关系概述
    HDFS学习总结
    CDH5.7Hadoop集群搭建(离线版)
    QlikSense系列(1)——整体介绍
    Python学习小计
  • 原文地址:https://www.cnblogs.com/ygzy/p/9558385.html
Copyright © 2020-2023  润新知