# selenium的api很多。常用操作进行封装,
from selenium import webdriver
class Common:
def __init__(self):
self.webdriver.Chrome()
self.implicitly_wait(3)
self.driver.maximize_window()
def open_url(self,url):
self.driver.get(url)
self.implicitly_wait(10)
#定位
def locateElement(self,locate_type,value):
e1=None
if locate_type=='id':
e1=self.driver.find_element_by_id(value)
elif locate_type=='name':
e1=self.driver.find_element_by_name(value)
elif locate_type=='class_name':
e1=self.driver.find_element_by_class_name(value)
elif locate_type=='tag_name':
e1=self.driver.find_element_by_tag_name(value)
elif locate_type=='link_text':
e1=self.driver.find_element_by_link_text(value)
elif locate_type=='patial_link_text':
e1=self.driver.find_element_by_patial_link_text(value)
elif locate_type=='xpath':
e1=self.driver.find_element_by_xpath(value)
elif locate_type=='css_selector':
e1=self.driver.find_element_by_css_selector(value)
if e1 is not None:
return e1
#点击所定位到的元素
def click(self,locate_type,value):
e1=self.locateElement(locate_type,value)
e1.click()
#直接对定位到的元素进行文本输入
def input_data(self,locate_type,value,data):
e1=self.locateElement(locate_type,value)
e1.send_keys(data)
# 获取定位到的元素中的文本内容
def get_text(self,locate_type,value):
e1=self.locateElement(locate_type,value)
return e1.text
#获取定位到的标签属性
def get_attr(self,locate_type,value,data):
e1=self.locateElement(locate_type,value)
return e1.get_attribute(data)
def close_driver(self):
self.driver.quit()
#收尾清理工作
def __del__(self):
time.sleep(3)
self.driver.quit()
if __name__=='__main__':
com=Common()
com.open_url('http://www.baidu.com')
com.open_url('http://www.hao123.com')
com.click('id','su')
time.sleep(3)
# com.close_driver()