Selenium自动化
1.Selenium查找页面元素及元素操作
find_element(定位方式,值)
单个元素
find_elements(定位方式,值)
多个元素
2.selenium定位元素方法
1.用id定位 ??
2.用name定位
3.用class定位
4.用tag定位
5.用link定位
6.用partial link定位
7.用CSS定位
3.selenium实现自动化
借助谷歌驱动函数包
webdriver
4.编写自动化脚本
借助pycharm-Python语言
import unittest
from time import sleep
from selenium import webdriver
from selenium.webdriver.common.by import By
?
class TestElement(unittest.TestCase):
????@classmethod
????def setUpClass(self):
????????self.driver = webdriver.Chrome()
????????self.driver.maximize_window()#最大窗口
???????
?# 设置等待时间
self.driver.implicitly_wait(30)
????# 定位元素--id
????def test_01_id(self):
????????#打开页面
????????self.driver.get('http://www.baidu.com)
????????# id定位元素
????????uernameInput = self.driver.find_element(By.ID,'username')
????????uernameInput.clear()
????????uernameInput.send_keys('wangliuliu')
????????# 密码
????????passwordInput = self.driver.find_element(By.ID,'password')
????????passwordInput.clear()
????????passwordInput.send_keys('123456')
????# 定位元素-name
????def test_02_name(self):
????????# 打开网页...不打开新的网页 在原来的基础上进行操作
????????# self.driver.get('http:www.baidu.com')
????????# name定位
????????rePasswordInput = self.driver.find_element(By.NAME,'rePassword')
????????rePasswordInput.clear()
????????rePasswordInput.send_keys('654321')
????# 定位元素class
????def test_03_class(self):
????????em = self.driver.find_element(By.CLASS_NAME,'mtext')
????????em.clear()
????????em.send_keys('805256908@qq.com')
????# 标签定位
????def test_04_tag(self):
????????# 根据标签 查找多个
????????list = self.driver.find_elements(By.TAG_NAME,'input')
????????# get获取_attribute属性()
????????print('value属性值:',list[4].get_attribute('value'))
????# 超链接定位
????def test_05_link(self):
????????denglu = self.driver.find_element(By.LINK_TEXT,'登录')
????????denglu.click()
??# 回到注册
????????self.driver.find_element(By.PARTIAL_LINK_TEXT,'立即注').click()
????# css定位
????def test_06_css(self):
????????dateInput = self.driver.find_element(By.CSS_SELECTOR,'#registerForm > table > tbody > tr:nth-child(9) > td > input')
????????dateInput.clear()
????????dateInput.send_keys('2021-08-09')
????# xpath...//标签名[@属性1=属性值1 and @属性2=属性值2]
????def test_07_xpath(self):
????????a = self.driver.find_element(By.XPATH,'//input[@id="username"]')
????????a.clear()
????????a.send_keys('t37uijnfe9')
????????b = self.driver.find_element(By.XPATH,'//*[@id="password"]')
????????b.clear()
????????b.send_keys('123456')
????@classmethod
????def tearDownClass(self):
????????sleep(3)
????????self.driver.quit()
if __name__ == '__main__':
????unittest.main()
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!