这段代码在做什么

时间:2016-11-04 17:28:01

标签: python-2.7 helium

任何人都可以解释这段代码在做什么

dns = find_all(S("some value"))

index = [dns.index(x) for x in dns if x.web_element.get_attribute("name") == "some value"]

感谢任何帮助。 感谢

1 个答案:

答案 0 :(得分:1)

变量dns应该是可迭代的......这意味着它是一个列表,元组等。

代码遍历dns列表,列表中的每个项目都放在变量x中。 x是具有方法web_element.get_attribute的对象。字符串“name”用于该对象。如果返回的值是“某个值”,则将dns.index(x)的结果放在变量some​​Value中。然后将someValue添加到newList。

在我看来,代码正在创建满足if语句建立的标准的dns列表对象的索引列表。下面的代码对于python list comprehensions的新手来说可能更清楚,但做同样的事情。希望这会有所帮助。

newList = [] # empty list
for x in dns:
    if x.web_element.get_attribute("name") == "some value"
        someValue = dns.index(x)
        newList.append(someValue)