CoCoのYDブログ

心に思い浮かんだことを少し掘り下げ発信します

【リベンジ】Seleniumで生放送の累計来場者数を増やす

こんにちは

 

今回は前回のリベンジです。

色々と試行錯誤してようやくできましたので見ていってくださいw

 

プログラム

開いているIEのURLを取得してそのページをFor文の回数繰り返すといったものです。

Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Function getIE()
    Dim ie As InternetExplorer
    Dim sh As Object
    Dim Win As Object
    Dim document_title As String
    Set sh = CreateObject("Shell.Application")
    For Each Win In sh.Windows
        document_title = ""
        On Error Resume Next
        document_title = Win.document.title
        On Error GoTo 0
        Set ie = Win
    Next
    Set getIE = ie
End Function

 

Public Sub selenium_test1()
    Dim driver As New SeleniumWrapper.WebDriver
    Dim ie As InternetExplorer
    Set ie = getIE()

    For i = 1 To 10
        driver.Start "chrome", ie.document.URL
        driver.get ("/")

        driver.stop

        Sleep 5000
    Next i
End Sub

 Public  Sub selenium_test1() のところを見ていきます。

1行目:selenium_test1の開始

2行目:SeleniumWrapper.WebDriverのオブジェクトとしてdriver を宣言

3行目:IEのURLを引用するためIEを変数宣言

4行目:開いているIEを取得

5行目:なし

6行目:For文で処理を10回繰り返す

7行目:ChromeIEのURLをセット

8行目:7行目のURLを開く

9行目:Chromeを閉じる

10行目:5秒間スリープ

11行目:変数iを返す

12行目:プロシージャの終了

 

実際の効果は

f:id:takataka2743:20180921233621j:plain

こんな感じですね

1回やるのに5秒+開くまでの待機時間が必要ですが、自動化できるという点ではいいものかと。

ちなみに3秒待機で実行してみたところ、累計来場者数は増えたり増えなかったりと安定しませんでした。なぜ?

 

 

やっとやりたかったことができて少しすっきりしました。

明日は土曜日ですが、引越しと仕事があるため更新できなかったらごめんなさい