2017-09-13 13 views
0

ご迷惑をおかけして申し訳ありませんが、その説明が意味をなさないことを願います。Python - Seleniumリストの辞書内の項目をループする

アイテムのリストを繰り返し処理したいのですが、ウェブサイトの構造上の理由から、アイテムにアクセスするには、そのアイテムが属するカテゴリを最初にクリックする必要があります。たとえば、のは、これはリストの私のリストであると仮定しましょう:

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

プロセスを記述するために、それは次のようになります。動物の、そして犬をクリックしてください。 AnimalsをクリックしてからCatをクリックしてください。 AnimalsをクリックしてからFishをクリックしてください。植物をクリックし、次にツリーをクリックします。 「植物」をクリックし、次に「花」をクリックします。アイテムは1つのリストに属している場合

通常、コードは次のようになります。

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

関連する問題