はじめてお世話になります。不慣れな点もあるかと思いますが、よろしくお願いいたします。
前提
pythonでテキストファイルを読み込み、記載されたURLリストのスクリーンショットを撮って保存したいのですが
指定されたURLを繰り返し表示することはできたのですが、スクリーンショットが最後の行しか保存されません。
#キャプチャ自動保存 ファイル名をURLにする from selenium import webdriver import chromedriver_binary import time f = open('URL-list.txt', 'r', encoding='UTF-8') datalist = f.readlines() f.close() i = 0 for data in datalist: #指定のURLを取得 u = (datalist[i]) #以下ファイル保存名のための準備 #URLの"."を抜き"/"は"-"にする new_u1 = u.replace('.', '') new_u = new_u1.replace('/', '-') # 「https:// 」の後ろにあるだけを抽出したい target = 'https://' idx = new_u.find(target) r = new_u[idx+len(target): ] # http://以下 ~ 最期まで #webブラウザを取得 driver = webdriver.Chrome() #スクリーンショット #変数uから取得したURLをドライバがゲットする driver.get(u) # Set image(window) size driver.set_window_size(1920, 1080) # スクリーンショット保存 driver.save_screenshot(r + '.png') # ドライバを閉じる driver.quit() i = i + 1 #テキストファイルのリストに1追加
試したこと
スクリーンショット以外の繰り返し処理はできていました。
リスト化せず、ひとつづつURLを指定した場合は、スクリーンショット保存されました。
補足情報(FW/ツールのバージョンなど)
開発環境は vscode
python3 です。
URL-list.txtファイルは以下の内容-----------
https://google.com
https://www.yahoo.co.jp
https://teratail.com
よろしくお願いいたします。
> スクリーンショットが最後の行しか保存されません。
上書きしていませんか? ⇒ 上書きはされていないようですね。失礼しました。
回答1件
あなたの回答
tips
プレビュー