2016-04-11 13 views
-1
def take_all_screenshots(self): 
Base_URL = "URL HERE" 
pages = ['urlhere1', 
      'urlhere2', 
      'urlhere3', 
      ] 

for page in pages: 
    self.driver.get(Base_URL + page) 
    pagename = "%s" %str(page) 
    name = pagename + str(datetime.datetime.now()) + '.png' 
    self.driver.save_screenshot('screenshots/%s' % name) 

Ekran görüntüsüne eklemek için listeden URL'yi nasıl alabilirim? Şu anda sadece birincisini alıyor, lütfen yardım edin!Listeden nasıl bir değer alabilirim? Python ve Selenyum

+0

Ben ekran görüntüsü isimlerini istiyorum listesinde doğru öğeyi döndürür "urlhere1 + datetime.png" olarak çıkın –

+0

Mevcut çıktınız nedir? –

+0

Sadece ilk url'nin bir ekran görüntüsünü alır –

cevap

1

Merhaba Otomasyon Tutkunları,

bir listeden bir öğeyi almak için listname[index] kullanın. Dizinlerin 0'dan başladığını ve 1'e kadar saydığını unutmayın.

İki dizeyi birleştirmek için string1 + string2 kullanın.

Dosya adını sonuca değiştirmek için os.rename("original/filename/and/file.path","new/filename/and/file.path")'u kullanın. döngü aynı kapsamda ise bu yardımcı olur

Umut, BoxTechy

+0

Bunu, her bir sayfayı döngü boyunca çalışırken yakalayabiliyorum? name = str (sayfa [0]) + str (datetime.datetime.now()) + '.png' –

+0

@AutomationEnthusiast Değişkenleri ve tam sayıları kullanabilirsiniz. Bunun yerine sayfaları [sayfa] deneyin. – BoxTechy

+0

sayfalar [sayfa] TypeError: liste indisleri tamsayı olmalı, str değil –

0

deneyebilirsin:

def take_all_screenshots(self): 
    Base_URL = "URL HERE" 
    pages = ['urlhere1', 
      'urlhere2', 
      'urlhere3', 
      ] 

    for page in pages: 
     #Why have a getter() that returns nothing 
     #self.driver.get(Base_URL + page) 
     pagename = "%s" %str(page) 
     name = pagename + str(datetime.datetime.now()) + '.png' 
     self.driver.save_screenshot('screenshots/%s' % name) 

for page in pages:

İlgili konular