Page Object是一種程序設計模式,將面向過程轉變爲面向對象(頁面對象),將測試對象及單個的測試步驟封裝在每個Page對象中,以page爲單位進行管理。可以使代碼複用,降低維護成本,提高程序可讀性和編寫效率。
#用page object思想實現百度首頁的搜索和登陸功能 from selenium import webdriver from selenium.webdriver.common.keys import Keys import time class BaiduPage(): url='http://www.baidu.com/' username='XXXXXX' password='******' def __init__(self,driver): self.driver=driver def search(self,kw='51cto'): self.driver.get(self.url) time.sleep(2) self.driver.find_element_by_id('kw').send_keys(kw) self.driver.find_element_by_id('su').click() time.sleep(2) def login(self,username=None,password=None): if username==None: username=self.username if password==None: password=self.password self.driver.get(self.url) time.sleep(2) self.driver.find_element_by_link_text('登錄'.decode('utf-8')).click() time.sleep(2) self.driver.find_element_by_id('TANGRAM__PSP_8__userName').send_keys(self.username) self.driver.find_element_by_id('TANGRAM__PSP_8__password').send_keys(self.password) self.driver.find_element_by_id('TANGRAM__PSP_8__submit').click() time.sleep(2) def __del__(self): pass #self.driver.quit() driver=webdriver.Chrome() page=BaiduPage(driver) page.login() self.driver.quit()