如何通过传递值从不同的文件访问定位器

时间:2017-09-07 17:14:34

标签: python selenium selenium-webdriver

我有一个定位器文件locator.py并且分别有一个页面元素文件App_page.py。有没有办法可以在locator.py中声明定位器,并通过向其传递值从页面元素文件App_page.py中调用它。例如:
the locator is DASHBOARD_CELL = (By.XPATH, "//*[@data-drop-position='" + a + ":" + b + "']")我需要从App_page.py动态地将值传递给'a''b'

目前我正在尝试下面的定位器文件

class DashboardLocators(object):
def dashboard_traverse(a,b):
 DASHBOARD_CELL = (By.XPATH, "//*[@data-drop-position='" + a + ":" + b + "']") 

在Page元素文件中,我试图使用:

调用定位器
a = '0'
b = '3'
id = self.driver.find_element(*DashboardLocators.dashboard_traverse(a,b)).click(
     )

它不起作用。我是否遵循正确的方法?如果没有人可以让我知道什么是更好的方法。感谢

1 个答案:

答案 0 :(得分:1)

您从未从函数

返回值
class DashboardLocators(object):
  @staticmethod
  def dashboard_traverse(a,b):
      DASHBOARD_CELL = (By.XPATH, "//*[@data-drop-position='" + a + ":" + b + "']") 
      return DASHBOARD_CELL