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

相关推荐

  1. Selenium - 自动化测试框架

    2023-12-28 18:14:04       63 阅读
  2. 自动化测试:selenium总结

    2023-12-28 18:14:04       62 阅读
  3. Selenium折线图自动化测试

    2023-12-28 18:14:04       49 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-28 18:14:04       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-28 18:14:04       106 阅读
  3. 在Django里面运行非项目文件

    2023-12-28 18:14:04       87 阅读
  4. Python语言-面向对象

    2023-12-28 18:14:04       96 阅读

热门阅读

  1. Linux的基本命令

    2023-12-28 18:14:04       54 阅读
  2. WebView下载适配blob协议

    2023-12-28 18:14:04       57 阅读
  3. vue exceljs json数据转excel

    2023-12-28 18:14:04       54 阅读
  4. React面试题

    2023-12-28 18:14:04       52 阅读
  5. GetLastError()详细介绍

    2023-12-28 18:14:04       56 阅读
  6. Linux世界的奇妙之旅:开源之道的探索与分享

    2023-12-28 18:14:04       59 阅读
  7. linux查看网卡是100M还是1000M

    2023-12-28 18:14:04       60 阅读
  8. Kafka

    Kafka

    2023-12-28 18:14:04      53 阅读
  9. Android系统启动-init进程详解(Android 14)

    2023-12-28 18:14:04       47 阅读
  10. Qt底层机制之对象树总结

    2023-12-28 18:14:04       54 阅读
  11. 2023年湘潭大学软件工程考试总结

    2023-12-28 18:14:04       57 阅读
  12. 说一下 spring mvc 运行流程?

    2023-12-28 18:14:04       55 阅读