使用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))