from selenium.webdriver.chrome.webdriver import WebDriver
class basePage:
def __init__(self, driver: WebDriver,url=None,frame=None):
self.driver = driver
self.url=url
self.frame=frame
self.open()
def open(self):
"""有url打开url,有frame切换frame"""
if self.url:
self.driver.get(self.url)
if self.frame:
self.driver.switch_to.default_content()
self.driver.switch_to.frame(self.driver)
def find(self, by, value):
"""封装一个text定位方法{value}注意前后的空格,如果by等于text则走value,by和Value会被重写,如果不是传啥还返回啥,所有此方法可以有很多if"""
if by == 'text':
by = 'xpath'
value = f'//*[text()=" {value} "]'
return self.driver.find_element(by, value)
def click(self, by, value):
self.find(by, value).click()
def input_to(self, by, value, text):
self.find(by, value).send_keys(text)
调用
import time
from pages.base_page import basePage
class BaoBeiPage(basePage):
ordermang = ("text", "订单管理")
baobeilist = ("link text", '列表')
def enter_baobeilist(self):
time.sleep(20)
self.click(*self.ordermang)
self.click(*self.baobeilist)



