2016-06-19 14 views
1

私は異なるIDを持つ複数の画像のURLを印刷しようとしています。 私はPythonでセレンを使用していると私はこのコードをしようとしている:複数の画像を印刷するURLが異なるIDを持つ

for i in range (5000): 
      path= "product-collection-image-"+str(i) 
      try: 
        image = driver.find_element_by_id(path) 
        img_src = image.get_attribute("src") 
        print img_src 
      except: 
        pass 

私が印刷したいすべての画像は、「製品回収像通り」と呼ばれるIDと、その後1から行くいくつかの整数を持っています

このコードでは、イメージURLを印刷できますが、番号順に表示されます。私は他のフィールドと一致させたいので、ページに来る順番にしたい。

私はPythonの初心者ですから、複雑な構文ではいくつかの問題があります。セレンと、する方法がある* +

を、それは私に構文エラー

を提供します。 - 私は

パス=「プロダクト・コレクション - 画像」で正規表現を使用しようとしてきました、範囲のすべての要素を取得し、ページに来る順序で印刷しますか? また、リストでは、src属性のように属性を取得するにはどうすればよいですか?

申し訳ありませんが、私は学習曲線を始めています!

image_srcs = [img.get_attribute("src") 
       for img in driver.find_elements_by_css_selector('[id^="product-collection-image-"]')] 

^=手段は、 "で始まる":

答えて

1

ちょうど部分id一致を使用しています。

このようにして、イメージ要素をページに表示されている順序で取得できます。

+0

@ネルソン確かに、それらを1枚ずつ印刷したいと思っています。リストの理解を使ってsrc値をリストに集めました。 – alecxe

+0

私はこのように作っています:img for driver.find_elements_by_css_selector( '[id^= "product-collection-image-"]'): imgurl = img.get_attribute( "src") print imgurl –

+0

本当に欲しい行の行を印刷する。私はこのデータを取得し、Excelの行に配置する必要があります。私はまた、ファイルを作成するために、列Aにデータをダンプするために、Pythonでエクセルモジュールを学び始めて、カラムBに他をダンプするなど必要があります。今、私はこのmannualyをやっています。多くのありがとうalecxe !!!私はあなたを補償しなければなりません! –

関連する問題