因为find_element_by_id,find_element_by_name底层都是用find_element实现元素查找
#!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2019/10/31 17:47 # @File : find_element.py from selenium.webdriver.support.wait import WebDriverWait from selenium.webdriver.support import expected_conditions class FindElement(object): def __init__(self, driver): self.driver = driver self.type_dict = { 'ID': "id", 'XPATH': "xpath", 'LINK_TEXT': "link text", 'PARTIAL_LINK_TEXT': "partial link text", 'NAME': "name", 'TAG_NAME': "tag name", 'CLASS_NAME': "class name", 'CSS_SELECTOR': "css selector", } # 获取元素list对象 def find_element_list(self, type, value, second=10): return WebDriverWait(self.driver, second).until( lambda driver: driver.find_elements( self.type_dict[type], value )) # 获取元素 def find_by_type_wait(self, type, value, second=11): # 知识点 return WebDriverWait(self.driver, second).until( lambda driver: driver.find_element( self.type_dict[type], value ) ) if __name__ == '__main__': driver = ? # 打开百度 fe = FindElement(driver) fe.find_by_type_wait('ID',"kw").send_keys('搜索selenium')