2017-09-13 119 views
0

抱歉混淆的标题,但我希望描述更有意义。Python - For循环通过Selenium中的列表字典中的项目

我想遍历一个项目列表,但由于网站的结构方式,我首先必须单击它所属的类别,然后才能访问该项目。例如,让我们假设这是我列出的清单:

list_of_list = {"Animals": ["Dog", "Cat", "Fish"], 
       "Plants": ["Tree", "Flower"]} 

要描述的过程中,它会是这个样子:点击动物,然后在狗;点击Animals,然后点击Cat;点击动物,然后点击鱼;点击Plants,然后点击Tree;点击植物,然后点击花。

通常情况下,如果该项目属于一个列表,该代码将是这个样子:

list: ["Dog", "Cat", "Fish", "Tree", "Flower"] 

For x in list: 
    driver.find_element_by_css_selector('input[value="{}"]'.format(x)).click() 

但我怎么会通过列表的列表迭代?

+1

'list_of_list'实际上并没有看起来像*列出名单*内是这样的

categories = driver.find_elements_by_css_celector('.categories') for category in categories: items = category.find_elements_by_css_selector(.item) for item in items: category.click() item.click() # do something with each item 

这应该允许您单击类别和每一个项目,但更像是*列表字典... * – Andersson

+0

难道不可能通过类似的方式来遍历它吗? – user2105555

回答

1

我想应该有此类别

+0

感谢您的快速响应。如果我可以问,这是否考虑到某些项目属于特定类别,还是只是遍历所有内容? – user2105555

+1

它应该遍历*所有*类别和类别中的每个项目...您是否只想处理特定(不是全部)类别? – Andersson

+0

我想处理所有类别中的所有项目。我对我的原始帖子进行了编辑,以便可视化项目列表的外观。 – user2105555