zoukankan      html  css  js  c++  java
  • selenium自动化实战基于python语言(一: 编写脚本)

    搭建好环境之后,就可以编写脚本了,刚开始会遇到很多问题,还需要自己耐心查找解决办法。

    1. 首先我们需要学习定位元素的方法

    id 定位 find_element_by_id()  
    name 定位 find_element_by_name()  
    class 定位 find_element_by_class_name()  
    tag 定位 find_element_by_tag_name()  
    link 定位 find_element_by_link_text()  
    partial link 定位 find_element_by_partial_link_text()  
    XPath 定位 find_element_by_xpath()  
    CSS 定位 find_element_by_css_selector()  
    By 定位 find_element(By.ID,"") 需要导入By类:from selenium.webdriver.common.by import By

     

     

     

     

     

     

     

    2. 控制浏览器

    设置浏览器大小 driver.set_window_size(400,500)  数字表示像素
    浏览器前进和后退 driver.back()  driver.forward()  
    刷新浏览器 driver.refresh()  

     

    3. 简单元素操作

    清除文本 clear() 清除文本框默认输入
    模拟按键输入 send_keys()  
    单击元素 click()  
    提交表单 submit()  
    返回元素尺寸 size  
    获取元素文本信息 text  
    获得属性值 get_attribute(name)  
    元素是否可见 is_displayed() True or False

     

     

     

     

     

     

     

    4. 鼠标事件: 需要先调用ActionChains类: from selenium.webdriver.common.action_chains import ActionChains

    执行所有ActionChains中的行为 perform()  
    右击 context_click()  对选中项目右击
    双击 double_click()  
    拖动 drag_and_drop()  
    鼠标悬停 move_to_element()  

     

     

     

     

     

     5. 键盘事件: 需要先调用Keys类: from selenium.webdriver.common.keys import Keys

    删除键 send_keys(Keys.BACK_SPACE)
    空格键 send_keys(Keys.SPACE)
    制表键  send_keys(Keys.TAB)
    回退键  send_keys(Keys.ESCAPE)
    回车键  send_keys(Keys.ENTER)
    全选  send_keys(Keys.CONTROL,'a')
    复制  send_keys(Keys.CONTROL,'c')
    剪切  send_keys(Keys.CONTROL,'x')
    粘贴  send_keys(Keys.CONTROL,'v')
    键盘F1-F12  send_keys(Keys.F1) send_keys(Keys.F12)

     

     

     

    6. 获得验证信息

    获得页面标题 title
    获得页面URL current_url
    获得文本信息 text

    7. 设置元素等待

    • 显示等待:WebDriverWait(driver,timeout,poll_frequency=0.5,ignored_exceptions=None)
    • 隐式等待:dirver.implicitly_wait()
    • 休眠:sleep()

    这部分先写到这里,会继续随着学习分享下面的总结

  • 相关阅读:
    HTML+CSS知识点总结
    消灭textarea中的神秘空格
    OAuth2.0
    C# task和timer实现定时操作
    C# 多线程task
    EF的使用
    支付宝支付开发
    Basic Auth
    C#中匿名函数、委托delegate和Action、Func、Expression、还有Lambda的关系和区别
    [转]CodeSite使用小结
  • 原文地址:https://www.cnblogs.com/nothingc/p/7089437.html
Copyright © 2011-2022 走看看