zoukankan      html  css  js  c++  java
  • 操作元素(键盘和鼠标事件)(三)

    在前面的几篇中重点介绍了一些元素的到位方法,到位到元素后,接下来就是需要操作元素了。本篇总结了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()

     

  • 相关阅读:
    Spring Boot快速搭建Spring框架
    JVM内存管理机制
    开发者应该掌握的Java代码优化技能
    23种设计模式(8)-外观模式
    1823:【00NOIP提高组】方格取数
    【00NOIP提高组】单词接龙
    1821:【00NOIP提高组】乘积最大
    1820:【00NOIP提高组】进制转换
    时间复杂度比较
    hhhhh我想起来我的账号了
  • 原文地址:https://www.cnblogs.com/ygzy/p/9558385.html
Copyright © 2011-2022 走看看