我有locators.py
class MainPageLocatars(object):
# Login function locators
TEST = "//*[starts-with(@id,'table_')]/tbody/tr[%s]"
我正在调用此定位器,如下所示:
INDEX_MAP = {
'First': '1',
'Last': 'last()'
}
# all locaters for this class are defined here only
class ListView(Page):
def __init__(self, driver, index):
if index not in INDEX_MAP:
raise ValueError("Invalid index %s" % index)
self.driver = driver
self.row = self.driver.find_element_by_xpath(MainPageLocatars.FRAMEONE % (INDEX_MAP[index])
这是正确的方法吗?
这是我得到的错误:
self.row = self.driver.find_element_by_xpath(MainPageLocatars.FRAMEONE % (INDEX_MAP[index]))
self.row = self.driver.find_element_by_xpath(MainPageLocatars.FRAMEONE % (INDEX_MAP[index]))
TypeError: unsupported operand type(s) for %: 'tuple' and 'str'
答案 0 :(得分:1)
替换:
MainPageLocatars.FRAMEONE % (INDEX_MAP[index])
人:
MainPageLocatars.TEST % (INDEX_MAP[index])
进行字符串格式化。