📜  python selenium 拆解类 - Python (1)

📅  最后修改于: 2023-12-03 15:34:04.272000             🧑  作者: Mango

Python Selenium 拆解类

简介

Selenium是一个用于Web应用程序测试的自动化工具。Selenium主要用于模拟用户在Web界面上的操作,自动化测试工具集中比较出名的一个框架。Selenium支持多种编程语言,包括Java、C#、Python等。本文将介绍Python中使用Selenium的拆解类。

实现

在Python中使用Selenium需要先安装Selenium的Python库,可以使用pip进行安装。

!pip install selenium
引入必要库
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
定义拆解类
class Sel(object):
    def __init__(self, driver_path, element_time):
        self.driver_path = driver_path
        self.element_time = element_time
        self.driver = None
        
    def openChrome(self):
        self.driver = webdriver.Chrome(executable_path=self.driver_path)
        
    def closeChrome(self):
        self.driver.quit()
        
    def waitForElement(self, by, locator):
        try:
            element_present = EC.presence_of_element_located((by, locator))
            WebDriverWait(self.driver, self.element_time).until(element_present)
        except:
            print("找不到元素 by="+str(by)+" locator="+locator)
        
    def click(self, by, locator):
        try:
            self.waitForElement(by, locator)
            self.driver.find_element(by, locator).click()
        except:
            print("点击失败 by="+str(by)+" locator="+locator)
        
    def inputText(self, by, locator, text):
        try:
            self.waitForElement(by, locator)
            self.driver.find_element(by, locator).send_keys(text)
        except:
            print("输入失败 by="+str(by)+" locator="+locator+" text="+text)
使用拆解类
# 实例化Sel类
sel = Sel("chromedriver.exe", 30)
# 打开Chrome浏览器
sel.openChrome()
# 打开百度
sel.driver.get("https://www.baidu.com")
# 在搜索框中输入"Python Selenium 拆解类"
sel.inputText(By.ID, "kw", "Python Selenium 拆解类")
# 点击搜索按钮
sel.click(By.ID, "su")
# 关闭Chrome浏览器
sel.closeChrome()
输出结果

程序将自动打开Chrome浏览器,在百度上输入"Python Selenium 拆解类"并搜索,然后自动关闭Chrome浏览器。

总结

通过拆解类对Selenium进行封装,能够更加方便地使用Selenium进行自动化测试。拆解类将常用的操作进行了封装,能够提高自动化测试的效率。