selenium 自动化测试

一:selenium 实现ui自动化测试

什么是selenium自动化?使用ui自动化实现代码模拟人的操作。(点击,输入,滑动,下拉选择,浏览)

二:selenium实现环境搭建

pip install selenium==3.14

安装驱动和对应浏览器对应起来。

selenium的定位方法:

三 selenium提供了八种元素定位的方法

id:元素id属性值,如果id 属性唯一,那么就可以定位到,如果id是一串字母或者数值,则不能进行使用。有可能会是动态的id

name 定位:根据name的属性值来定位,但是如果name的属性值在页面不唯一,就无法进行定位。

classname:class 属性对应的值:

tagname:标签名查找,一般使用不了。

link text:模糊定位 ,一般使用不了

xpath: / 代表直接的子节点 , // 后代节点

css selector#根据标签以及标签的属性进行定位

partial link text:一般不要使用

from selenium import webdriver
driver=webdriver.Chrome("C:/Users/baocomputer/tools/chromedriver_win32/chromedriver.exe")
driver.maximize_window()
#打开具体的网页
driver.get("https://www.baidu.com/?tn=65081411_oem_dg")
#元素定位,定为搜索框
#driver.find_element_by_css_selector('input[name="wd"]').send_keys("昕诺飞公司")
driver.find_element_by_xpath('//*[@id="kw"]').send_keys("昕诺飞公司")
driver.find_element_by_xpath("//input[@name='wd']").send_keys("昕诺飞公司")
#driver.find_element_by_css_selector('input[value]').click()

"""
#id定位:
driver.find_element_by_id("id 属性的值")
#name定位
driver.find_element_by_name("name 属性值")
#class name 定位
driver.find_element_by_class_name("class 属性值")
# tagname 定位
driver.find_element_by_tag_name("tag 属性值")
#link_text定位
driver.find_element_by_link_text("文本查询")
#xpath 定位
driver.find_element_by_xpath("基于xpath方法是实现")
#css selector 定位
driver.find_element_by_css_selector("css属性")
#partial link text
driver.find_element_by_partial_link_text("模糊查询")
"""
四:webdriver的常见的方法:

1 元素的点击,元素的清除 ,元素的再次输入

元素清除:clear()

元素的输入:send_keys()

元素点击:click()

from selenium import webdriver
import time
driver= webdriver.Chrome("C:/Users/baocomputer/tools/chromedriver_win32/chromedriver.exe")

driver.maximize_window()

#设置隐式等待
driver.implicitly_wait(10)
#打开浏览器
driver.get("http://www.baidu.com")
#id定位属性
search_element = driver.find_element_by_id('kw')

search_element.send_keys("九阳真经")
time.sleep(2)
#先将之前搜索的清除
search_element.clear()
time.sleep(1)
#再次输入新的内容
search_element.send_keys('前孔达克洛伊')
#点击操作
driver.find_element_by_id('su').click()

2 submit提交方法

submit()方法用于提交表单数据,搜索框输入关键字之后的回车操作,就可以用该方法来模拟。

import time
from selenium import webdriver
driver = webdriver.Chrome()
#driver.maximize_window()
driver.implicitly_wait(10)
url = "https://www.baidu.com"
driver.get(url=url)
search_element = driver.find_element_by_id('kw')
#输入内容
#search_element.send_keys("九阳真经")
#对于表单的提交方法:使用sunmit提交
#search_element.submit()

#返回搜索框的大小
#print(search_element.size)

2获取文本信息

#获取百度一下文本按钮的文本信息
# time.sleep(2)
# button_element = driver.find_element_by_id("su").text
# print(button_element)
无法进行获取

# #获取hao123文本
# ele = driver.find_element_by_css_selector("a[href='https://www.hao123.com?src=from_pc']").text
# print(ele)
注意:我们获取文本信息的内容,获取标签中间的内容,如果是标签属性的值,使用text无法获取。

3获取标签内部的属性值

获取标签内部的属性值:get_attribute(name):获取属性值
button_selement = driver.find_element_by_id('su').get_attribute("value")
print(button_selement)

4查看页元素是否可见存在

#is_display():设置元素是否可见,在页面上是否显示该元素,如果能看到,返回true,反之false
button_selement = driver.find_element_by_id('su')
print(button_selement.is_displayed())
五 鼠标事件

在webDriver中,关于鼠标操作的方法封装在ActionChains类提供。Actionchains类提供了鼠标操作的常用方法

perform():执行了ActionChains中存储的行为

context_click():右击

double_click():双击

drag_and_drop():拖动

move_to_element():鼠标悬停

"""
鼠标事件
"""
from selenium import webdriver
import time
#导入ActionChains
from selenium.webdriver.common.action_chains import ActionChains
driver = webdriver.Chrome()
driver.
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

土豆爱牛肉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值