该楼层疑似违规已被系统折叠隐藏此楼查看此楼
写好了公用的调用类,接下来就按照pageobject的设计模式写一下基本的元素定位方法,此处我们需要对python的方法传参有所了解,没有自信的同学可以返回前面章节重新学习。先上代码吧:
--------------------------------------------------------------------------------------------------------------
#the file is base_page.py
#author=abao
# 定位元素方法
def find_element(self,type,position):
if type == 'xpath':
element=self.driver.find_element_by_xpath(position)
#element_exist(element)
return element
elif type == 'id':
element = self.driver.find_element_by_id(position)
#element_exist( element )
return element
elif type =='name':
element = self.driver.find_element_by_name(position)
#element_exist( element )
return element
elif type == 'link_text':
element = self.driver.find_element_by_link_text(position)
#element_exist( element )
return element
else:
print("不支持的类型")
'''
try:
# 确保元素是可见的。
# 注意:以下入参为元组的元素,需要加*。Python存在这种特性,就是将入参放在元组里。
WebDriverWait(self.driver,10).until(lambda driver: element.is_displayed())
# 注意:以下入参本身是元组,不需要加*
#WebDriverWait( self.driver, 10 ).until( EC.visibility_of_element_located( loc ) )
return element
except:
print("元素没有出现,等待超时")
'''
# 定位元素方法
def find_elements(self,type,position):
if type == 'xpath':
element=self.driver.find_elements_by_xpath(position)
#element_exist(element)
return element
elif type == 'id':
element = self.driver.find_elements_by_id(position)
#element_exist( element )
return element
elif type =='name':
element = self.driver.find_elements_by_name(position)
#element_exist( element )
return element
elif type == 'link_text':
element = self.driver.find_elements_by_link_text(position)
#element_exist( element )
return element
else:
print("不支持的类型")
------------------------------------------------------------------------------------------------------
更多代码查看 /view/a070922826d3240c844769eae009581b6bd9bd02?fr=NAShare(百度阅读)