自动化测试selenium模块webdriver的使用

一、webdriver基本使用命令

from  selenium import  webdriver   # 导入webdriver模块
 
>>> chrome_obj =  webdriver.Chrome()              # 打开Google浏览器
>>> chrome_obj.get( "https://www.baidu.com" )      # 打开 网址
 
>>> chrome_obj.get(r "C:\desktop\text.html" )      # 打开本地 html页面
 
>>> chrome_obj.title          # 获取打开网址 的名字
>>> chrome_obj.current_url    # 获取打开网址的 url<br><br>>>> chrome_obj.close() #关闭浏览器窗口

二、标签导航 

普通 定位标签

# 查找标签
>>> label =  chrome_obj.find_element_by_id( "kw" )
>>> label =  chrome_obj.find_element_by_name( "wd" )
>>> label =  chrome_obj.find_element_by_class_name( "s_ipt" )
>>> label =  chrome_obj.find_element_by_tag_name( "imput" )
 
>>> label =  chrome_obj.find_element_by_link_text( "a标签中的内容 准确定位"
>>> label =  chrome_obj.find_element_by_partial_link_text( "a标签中的内容 模糊定位 " )
 
>>> label =  chrome_obj.find_element_by_xpath(“放入 copy 标签中的常css路径”)
>>> label =  chrome_obj.find_element_by_css_selector(“ input = [ id = 'id_name' / name = 'name_name' / …… / ]")

  

标签导航  xpath  标签定位复杂的情况下 考虑使用xpath

XPath即为XML路径语言,它是一种用来确定XML标准通用标记语言的子集)文档中某部分位置的语言。XPath基于XML的树状结构,有不同类型的节点,包括元素节点,属性节点和文本节点,提供在数据结构树中找寻节点的能力。

  View Code

  

  

三、 模拟用户操作

>>> label.get_attribute( "type" ) # 显示标签的type属性 name type id placeholder
>>> label.tag_name()  #获取标签名字  input p form ……
 
>>> label.size
>>> label. id
 
>>> chrome_obj.maximize_window() # 窗口最大化 <br>>>> #模拟鼠标悬浮
>>> label.click() # 模拟a标签  点击事件
>>> label.send_keys( "模拟搜索内容" # 模拟input框 输入内容>>> label.clear() # 清除input标签中 输入的内容>>> chrome_obj.back() # 模拟浏览器 返回上一个浏览页面

  

 

1、模拟鼠标操作

1
2
3
4
5
from  selenium.webdriver.common.action_chains  import  ActionChains  #导入模块
 
>>> label  =  chrome_obj.find_element_by_link_text( "点我 悬浮 显示其他 a标签" )
 
>>> ActionChains(chrome_obj).move_to_element(label).perform()     # 模拟用户悬浮
1
"""  ActionChains(chrome_obj) 用于生成模拟用户行为 ;
1
perform()  执行存储行为  """
1
>>> label_bel  =  chrome_obj.find_element_by_link_text( "我是 a标签,点我页面跳转" )>>> label_bel.click()    # 模拟用户点击

 其他鼠标操作

label.countext_lick() # 右击
label.double_click() # 双击
label.drag_and_drop() # 拖动
label.move_to_element  # 悬浮
label.click_and_hold  # 按鼠标左键一直不动

  

扫描二维码关注公众号,回复: 10240369 查看本文章

2、模拟键盘操作

from  selenium.webdriver.common.keys import  Keys  #  引入模块
 
>>> label.send_keys( "input输入的内容" )
 
>>> label.send_keys(Keys.BACK_SPANCE)  # 退格键
 
>>>label.send_keys(Keys.CONTRL, 'a' # 全选
 
>>>label.send_keys(Keys.CONTRL, 'v' # 粘贴
 
>>>label.send_keys(Keys.CONTRL, 'c' # 复制
 
>>>label.send_keys(Keys.CONTRL,'x‘’) # 剪切
 
>>>label.send_keys(Keys.ENTER)   # 回车

  

 

 四、处理对话框

python脚本实现自动登录

  python automatic login

五、控制多窗口

  

  View Code

 

六、模拟用户自动登录

  automatic login

七、模拟用户自动登录 封装接口

  automatic login

猜你喜欢

转载自www.cnblogs.com/kezan/p/12585817.html