Python Selenium:为什么map()函数搞砸了我的webelement?

时间:2015-08-20 18:45:27

标签: python selenium dictionary

使用Python 3.4 / Selenium有以下几行:

get_stuff = driver.find_elements_by_xpath(stuffXpath)

get_stuff1 = list(map(lambda x: x.get_attribute('href'), get_stuff))
get_stuff2 = map(lambda x: x.find_element_by_xpath('./img'), get_stuff)

get_stuff3 = list(map(lambda x: x.get_attribute('src'), get_stuff2))
get_stuff4 = list(map(lambda x: x.get_attribute('style'), get_stuff2))

问题是get_stuff3给了我想要的正确列表,但是get_stuff4是一个空列表。

如果我切换最后两行,那么get_stuff4会给我我想要的东西,但现在get_stuff3是一个空列表。

我到处搜索但没有运气。

为什么map()会对我的列表执行此操作?

我该如何解决?

现在我已经做了这个来解决它,但它并不优雅:

get_stuff2 = map(lambda x: x.find_element_by_xpath('./img'), get_stuff)
get_stuff2a = map(lambda x: x.find_element_by_xpath('./img'), get_stuff)

get_stuff3 = list(map(lambda x: x.get_attribute('src'), get_stuff2))
get_stuff4 = list(map(lambda x: x.get_attribute('style'), get_stuff2a))

0 个答案:

没有答案