Çözüldü Selenium ile ekran görüntüsü kaydederken dosya ismini ayarlama

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

kkank

Hectopat
Katılım
1 Mart 2021
Mesajlar
780
Makaleler
7
Çözümler
3
Daha fazla  
Cinsiyet
Erkek
İyi akşamlar,

Bir sayfada farklı işlemler yaptıktan sonra son halinin otomatik kaydolmasnını istiyorum. Örn: 04.04.2024-1.jpg, 04.04.2024-2.jpg gibi. Şöyle bir yöntem buldum: driver.save_screenshot("./dosyaismi.jpg") . Buradaki dosya ismini nasıl uyarlayabilirim?
 
Çözüm
Bende onu düşündüm ama "./dosyaismi.jpg" bu kısmı nasıl uyarlayabilirim?
Python:
from datetime import datetime

time = datetime.datetime.now().isoformat(sep=" ", timespec="minutes") #Minutes yazarak nereye kadar keseceğini belirleyebiliyoruz. Bu şekilde salise ve saniyeyi ayırıyoruz.

#time = time.replace("-", ".") #günlerin arasındaki çizgileri nokta yapmak isterseniz

path = f"./{time}.jpg"

print(path)
driver.save_screenshot(path)

Bu kod size yardımcı olabilir. Anlamadığınız yeri söyleyin çözelim.
İyi akşamlar,

Bir sayfada farklı işlemler yaptıktan sonra son halinin otomatik kaydolmasnını istiyorum. Örn: 04.04.2024-1.jpg, 04.04.2024-2.jpg gibi. Şöyle bir yöntem buldum: driver.save_screenshot("./dosyaismi.jpg") . Buradaki dosya ismini nasıl uyarlayabilirim?
datetime kullanabilirsin.
 
Bende onu düşündüm ama "./dosyaismi.jpg" bu kısmı nasıl uyarlayabilirim?
Python:
from datetime import datetime

time = datetime.datetime.now().isoformat(sep=" ", timespec="minutes") #Minutes yazarak nereye kadar keseceğini belirleyebiliyoruz. Bu şekilde salise ve saniyeyi ayırıyoruz.

#time = time.replace("-", ".") #günlerin arasındaki çizgileri nokta yapmak isterseniz

path = f"./{time}.jpg"

print(path)
driver.save_screenshot(path)

Bu kod size yardımcı olabilir. Anlamadığınız yeri söyleyin çözelim.
 
Çözüm
Python:
from datetime import datetime

time = datetime.datetime.now().isoformat(sep=" ", timespec="minutes") #Minutes yazarak nereye kadar keseceğini belirleyebiliyoruz. Bu şekilde salise ve saniyeyi ayırıyoruz.

#time = time.replace("-", ".") #günlerin arasındaki çizgileri nokta yapmak isterseniz

path = f"./{time}.jpg"

print(path)
driver.save_screenshot(path)

Bu kod size yardımcı olabilir. Anlamadığınız yeri söyleyin çözelim.



Öncelikle aradığım tam böyle bir şeydi ancak birkaç düzenleme gerekiyormuş. Program içinde sleep kullandığım için time'ı değiştirmek zorunda kaldım. jpg ile kayıt almıyor png olmasını istiyor. Saat dakika damgasını iki nokta ":" olarak hazırlıyor ancak dosya ismine konulamadığı için tire (-) ile değiştirdim. Ve güzergah belirlerken nedense kabul etmedi (dosya kaynağından eminim ama sanırım başka bir yere işlem yapmış olabilir) ve açık olarak yazdım. Bunları yapınca kayıt almaya başladı. Çok teşekkür ederim. Son hali aşağıdadır:

Python:
from datetime import datetime

zamann = datetime.now().isoformat(sep=" ", timespec="seconds")

zamann = zamann.replace(":", "-")

path = f"C:/Users/xxx/Desktop/xxx/{zamann}.png"

print(path)

browser.save_screenshot(path)
 
Son düzenleme:
Python:
from datetime import datetime

zamann = datetime.now().isoformat(sep=" ", timespec="seconds")

path = f"./{zamann}.png"

print(path)

browser.save_screenshot(path)

Öncelikle aradığım tam böyle bir şeydi ancak çalışmıyor. Öncelikle sanırım jpg'ye izin vermiyormuş sanırım sadece png olmalıymış, onu değiştirdim. Sonrasında sleep kullanmama izin vermediği için time'ı değiştirdim. Sorun o mu anlayamadım ama şuan print bile çıktı vermiyor, işlem yapmadan devam ediyor.

EDIT: print çıktısı şu şekilde: ./2024-04-06 10:32:18.png
Ama yine de kayıt yapmıyor.
: kullandığın için yapmıyor. zamann = zamann.replace(":", ".")Bu kodu ekle.
 

Geri
Yukarı