实现模糊查询elementui-UI手动测试Selenium——css和xpath有什么区别?

2024-04-23 0 7,611 百度已收录

UI手动测试

Selenium是一个非常优秀的WEB(UI)手动测试框架

最新版本是Selenium4.x。

Selenium支持主流浏览器的手动测试,特别是Chrome、IE、Firefox等浏览器。 Selenium还支持主流开发语言,例如Python、Java、Net、PHP。

硒IDE

硒1.0

网络驱动程序

硒=WebBDriver+Selenium

建造:

1.安装Selenium库,

pip3安装selenium

2.安装Chrome浏览器

3.安装Chrome浏览器驱动

A.检查Chrome浏览器版本

B. 到网上商店源下载与浏览器版本匹配的驱动程序。

C、下载成功后解压并以管理员身份执行。

D.将此驱动放到Python安装目录下

实现模糊查询elementui-UI手动测试Selenium——css和xpath有什么区别?

from selenium import webdriver
import time
# 对webdrive进行实例化,指定测试的浏览器
driver=webdriver.Chrome()
# 导航到被测试的网址
driver.get('http://www.baidu.com')
time.sleep(3)
# 退出浏览器
driver.quit()
元素属性

import time
from selenium import webdriver
from selenium.webdriver.common.by import  By
'''
webdriver之所以能够操作浏览器,是因为它首先需要定位到被操作的元素属性,然后就可以对浏览器做各种操作。
元素定位的方法:
ID = "id"   ID是不能唯一的
XPATH = "xpath"
LINK_TEXT = "link text"
PARTIAL_LINK_TEXT = "partial link text"
NAME = "name"
TAG_NAME = "tag name"
CLASS_NAME = "class name"
CSS_SELECTOR = "css selector"
'''
# id元素属性
# driver=webdriver.Chrome()
# driver.get('http://www.baidu.com')
# # send_keys()-->输入的意思
# driver.find_element_by_id('kw').send_keys("阿六君")
# time.sleep(3)
# driver.quit()
# name的元素属性
# driver=webdriver.Chrome()
# driver.get('http://www.baidu.com')
# # send_keys()-->输入的意思
# driver.find_element_by_name('wd').send_keys("阿六君")
# time.sleep(3)
# driver.quit()
# class_name的元素属性
# driver=webdriver.Chrome()
# driver.get('http://www.baidu.com')
# # send_keys()-->输入的意思
# driver.find_element_by_class_name('s_ipt').send_keys("阿六君")
# time.sleep(3)
# driver.quit()
'''
css和xpath:
当你使用id,name,class_name都定位不到时候,这个时候考虑使用css  or  xpath
'''
# driver=webdriver.Chrome()
# driver.get('http://www.baidu.com')
# # send_keys()-->输入的意思
# driver.find_element_by_xpath('//*[@id="kw"]').send_keys("阿六君")
# time.sleep(3)
# driver.quit()
# driver=webdriver.Chrome()
# driver.get('http://www.baidu.com')
# # send_keys()-->输入的意思
# driver.find_element_by_xpath('/html/body/div[1]/div[1]/div[5]/div/div/form/span[1]/input').send_keys("段舒元")
# time.sleep(3)
# driver.quit()
获取xpath方法

实现模糊查询elementui-UI手动测试Selenium——css和xpath有什么区别?


Xpath与 fullXpath性质一样
# css
# driver=webdriver.Chrome()
# driver.get('http://www.baidu.com')
# # send_keys()-->输入的意思
# driver.find_element_by_css_selector('#kw').send_keys("段舒元")
# time.sleep(3)
# driver.quit()
获取css


获取css

css和xpath的区别

CSS选择是根据页面的数据格式来定位的。 有标签选择、类选择、id选择或者它们的交集和并集。 除此之外实现模糊查询elementui实现模糊查询elementui,没有其他辅助元素。

xpath是路径表达式,所有元素和内容都可以成为路径的一部分。 两种定位方式的功能基本相同,而且xpath明显更强大,但是xpath写起来比较复杂,而css写起来比较容易


'''
LINK_TEXT   :超链接
PARTIAL_LINK_TEXT:也是处理超链接,但是模糊搜索
'''
# driver=webdriver.Chrome()
# driver.get('http://www.baidu.com')
# # click():点击
# driver.find_element_by_link_text('新闻').click()
# time.sleep(3)
# driver.quit()
#
# driver=webdriver.Chrome()
# driver.get('http://www.baidu.com')
# # click():点击
# driver.find_element_by_partial_link_text('闻').click()
# time.sleep(3)
# driver.quit()
'''
元素定位的分类:
1、单个元素定位
2、多个元素定位,多个元素定位指的是元素的属性都一致,那么这个时候它返回的是列表,可以根据列表的索引来定位元素属性
3、不管是单个元素定位还是多个元素定位,它的方法都是8种,具体就是:
'''
# tagNmae
# driver=webdriver.Chrome()
# driver.get('http://www.baidu.com')
# # send_keys()-->输入的意思
# # driver.find_element_by_tag_name('input').send_keys("阿六君")
# tags=driver.find_elements_by_tag_name('input')
# # print(type(tags))
# # for item in tags:
# #     print(item)
# tags[7].send_keys('阿六君')
# time.sleep(3)
# driver.quit()
'''实战'''
# driver=webdriver.Chrome()
# driver.get('https://mail.sina.com.cn/')
# driver.find_element_by_id('freename').send_keys('alj')
# time.sleep(3)
# driver.find_element_by_id('freepassword').send_keys('987')
# time.sleep(3)
# driver.find_element_by_class_name('loginBtn').click()
# time.sleep(5)
# driver.quit()
'''获取测试的地址'''
# driver=webdriver.Chrome()
# driver.get('https://mail.sina.com.cn/')
# print(driver.current_url)
# # assert是Python原生的断言方法
# assert driver.current_url.endswith('sina.com.cn/')
# driver.quit()
#
'''获取当前页面代码'''
# driver=webdriver.Chrome()
# driver.get('https://mail.sina.com.cn/')
# print(driver.page_source)
# driver.quit()
'''获取页面的title'''
# driver=webdriver.Chrome()
# driver.get('https://mail.sina.com.cn/')
# print(driver.title)
# assert driver.title=='新浪邮箱'
# driver.quit()
'''页面的前进与后退'''
# driver=webdriver.Chrome()
# # 浏览器最大化
# driver.get('https://www.bing.com/')
# time.sleep(3)
# driver.get('http://www.baidu.com')
# time.sleep(3)
# # back 后退
# driver.back()
# print('当前地址:',driver.current_url)
# time.sleep(3)
# # forward 前进
# driver.forward()
# print('当前地址:',driver.current_url)
# time.sleep(3)
# driver.quit()
'''
多窗口解决问题思路:
1、先打开当前页面
2、然后获取当前页面放在一个变量中
3、打开新的页面
4、获取所有页面并且放在一个变量中
5、循环所有页面,判断如果不是当前页面,那么就是在新的页面
'''
# driver=webdriver.Chrome()
# # 浏览器最大化
# driver.maximize_window()
# driver.get('https://mail.sina.com.cn/')
# # 然后获取当前页面放在一个变量中
# nowHandle=driver.current_window_handle
# time.sleep(3)
# driver.find_element_by_link_text('注册').click()
# time.sleep(3)
# # 获取所有页面并且放在一个变量中
# allHandlers=driver.window_handles
# # 循环所有页面,判断如果不是当前页面,那么就是在新的页面
# for handler in allHandlers:
#     if handler!=nowHandle:
#         # 从当前页面切换到新的页面
#         driver.switch_to.window(handler)
#         driver.find_element_by_name('email').send_keys('aliujun')
#         time.sleep(5)
#         # 关闭浏览器
#         driver.close()
# # 切换到原来的页面
# driver.switch_to.window(nowHandle)
# time.sleep(5)
# driver.find_element_by_id('freename').send_keys('aliujun')
# time.sleep(5)
# driver.quit()
'''clear():清空'''
#
# driver=webdriver.Chrome()
# driver.maximize_window()
# driver.get('http://www.baidu.com')
# so=driver.find_element_by_id('kw')
# so.send_keys('阿六君')
# time.sleep(3)
# so.clear()
# time.sleep(3)
# driver.quit()
'''get_attribute()的方法是获取元素属性的值'''
driver=webdriver.Chrome()
driver.maximize_window()
driver.get('http://www.baidu.com')
so=driver.find_element_by_id('kw')
so.send_keys('阿六君')
time.sleep(3)
print(so.get_attribute('value'))
driver.quit()

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悟空资源网 elementui 实现模糊查询elementui-UI手动测试Selenium——css和xpath有什么区别? https://www.wkzy.net/game/200746.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务