前提・実現したいこと
前回、前々回と同様に、VBAからヘッドレスchromeで
WEBページのキャプチャを撮る方法についての質問です。
今回は、formにパスワードを入力した先のページをキャプチャする方法で躓いています。
試したこと
調べたところ、Pythonでの方法なら見つかったのですが
VBAマクロでの書き方が分かりません。
※下記は「こんなことがしたいんだな」程度に捉えてください(Pythonは触ったことがありません)。
参考動画:https://www.youtube.com/watch?v=f8FXUUQ4uRA
Python
1from selenium.webdriver.chrome.options import Options 2options = Options() 3options.add_argument('--headless') 4browser = webdriver.Chrome(options=options) 5url = "http://●" 6browser.get(url) 7 8sleep(4) 9 10elem_password = browser.find_element_by_id('●パスワード入力欄のID') 11elem_password.send_keys('●パスワード') 12 13sleep(1) 14 15elem_login_btn = browser.find_element_by_id('●ログインボタンのID') 16elem_login_btn.click()
改良したいコード
VBA
1Function capture() 2 3Dim SaveDir As String 4Dim cmd As String 5Dim i As Long 6Dim rc As Long 7 8For i = 2 To Cells(Rows.Count, "B").End(xlUp).Row 9cmd = "" 10cmd = cmd & "c:\Program Files (x86)\Google\Chrome\Application\chrome.exe" 11cmd = cmd & " --headless" 12cmd = cmd & " --ignore-certificate-errors" 13cmd = cmd & " --disable-gpu" 14cmd = cmd & " --hide-scrollbars" 15 16 17'●このあたり? 18 19 20cmd = cmd & " --screenshot=c:\HCcapture\" & Cells(i, 2) & ".png" 21cmd = cmd & " --window-size=1920,3200" 22cmd = cmd & " " & Cells(i, 3) 23rc = Shell(cmd, vbHide) 24Debug.Print i & "-" & Now 25Application.Wait Now + TimeValue("0:00:05") 26DoEvents 27Next 28 29MsgBox "キャプチャが完了しました", vbSystemModal 30 31End Function
上記VBAの「●このあたり?」に同様の処理を入れられればよいのでは? と考えています。
どうぞよろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/12/26 06:48
2021/05/31 11:02 編集