ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2020-03-28 09:53:55  阅读:299  来源: 互联网

标签:webdriver obj chrome 标签 selenium label 模块 element find


一、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  # 按鼠标左键一直不动

  

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

标签:webdriver,obj,chrome,标签,selenium,label,模块,element,find
来源: https://www.cnblogs.com/kezan/p/12585817.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有