迭代存储在webElement中的列表

时间:2018-06-11 11:28:18

标签: python python-3.x automation appium python-appium

我正在使用python学习appium(移动自动化)。

我有一个场景,我有一个listView,我必须遍历每个项目,然后单击返回直到所有项目都被点击。

我正在使用以下代码:

def test_selectingEveryOption(self):
        availableOptions = self.driver.find_elements_by_xpath('//android.widget.ListView')
        for options in availableOptions:
            availableOptions[options].click()
            self.driver.back()

availableOptions是包含列表的webElement。当我运行上面的代码时,我得到TypeError: list indices must be integers or slices, not WebElement

由于availableOptions是webElement,我如何将其列表项作为整数然后迭代它们?

1 个答案:

答案 0 :(得分:1)

browser.find_elements_by_class_name("myClass")返回WebElements列表。所以..在你的for循环中,每次迭代产生一个WebElement,而不是一个整数索引......你根本不需要使用索引。

for element in self.driver.find_elements_by_xpath('//android.widget.ListView'):
    element_contents = element.get_attribute('innerHTML')