カテゴリー
VBA VBScript

VBAでChrome操作を自動化してみた

VBA100本ノックの100本目をやってみた。

.NET Frameworkがインストールされていないと、実行時にオートメーションエラーが発生します。 オートメーションエラーが発生する場合、.NET Framework 3.5をインストールしてください。
VBAで作ったみた。
Sub Macro()
    'クロームブラウザを起動
    Dim Driver, o_elem, i, num_trend_word
    Set Driver = CreateObject("Selenium.WebDriver")
    Driver.Start "chrome"
    Driver.Get "https://websearch.rakuten.co.jp/"

    'トレンドワードを配列に格納
    Set o_elem = Driver.FindElementsByCss("input.TrendWord-module__trendWordText__1uZER")
    num_trend_word = o_elem.Count
    Dim str_trend_word(5)
    For i = 1 To num_trend_word
        str_trend_word(i - 1) = o_elem.Item(i).Value
    Next
    
    '配列に格納されたトレンドワードを検索する
    For i = 1 To num_trend_word
        '検索窓にトレンドワードを入力する
        Set o_elem = Driver.FindElementsByCss("#search-input,#srchformtxt_qt")
        o_elem.Item(1).Clear
        o_elem.Item(1).SendKeys str_trend_word(i)
        '検索ボタンを押す
        Set o_elem = Driver.FindElementsByCss("#search-submit,#searchBtn")
        o_elem.Item(1).Click
        MessageBoxTimeoutA 0&, "5秒後、自動に閉じます", "時間待ちです", 1, 65536, 5 * 1000
    Next
    
    'IEを閉じる
    Driver.Quit
    Set Driver = Nothing
End Sub

DOSバッチ・VBScriptで作ったみた。
<!-- :
@%windir%\System32\cscript.exe //nologo "%~f0?.wsf"
@exit /b %errorlevel%
-->
<job>
<script language="VBScript">
	'IEを起動する
	Set Driver = WScript.CreateObject("Selenium.WebDriver")
	Driver.Start "chrome"  'クロームブラウザを立ち上げます。
	Driver.Get "https://websearch.rakuten.co.jp/"

	'トレンドワードを配列に格納
	Set o_elem = Driver.FindElementsByCss("input.TrendWord-module__trendWordText__1uZER")
	num_trend_word = o_elem.Count
	Dim str_trend_word(5)
	For i = 1 To num_trend_word
	str_trend_word(i - 1) = o_elem.Item(i).Value
	Next

	'配列に格納されたトレンドワードを検索する
	For i = 1 To num_trend_word
		'検索窓にトレンドワードを入力する
		Set o_elem = Driver.FindElementsByCss("#search-input,#srchformtxt_qt")
		o_elem.Item(1).Clear
		o_elem.Item(1).SendKeys str_trend_word(i)
		'検索ボタンを押す
		Set o_elem = Driver.FindElementsByCss("#search-submit,#searchBtn")
		o_elem.Item(1).Click
		WScript.CreateObject("WScript.Shell").popup "5秒後、自動に閉じます",5, "時間待ちです", 1
	Next
	'IEを閉じる
	Driver.Quit
	Set Driver = Nothing
</script>
</job>

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください