Selenium自动化

2023-12-27 20:29:41

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()

文章来源:https://blog.csdn.net/m0_59580677/article/details/135221183
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。